SDK 사용 가이드

SDK 사용 가이드

스크립트에서 SDK를 사용할 수 있도록 고도몰 모든 상점에는 아래의 스크립트가 설치되어 있습니다.

<script src="//obs-address/godomall-sdk.js" onload="GodomallSDK.setup()">
</script>
<script defer>
    var mySDK = GodomallSDK.init('SystemKey');
    mySDK.getMemberProfile(function(err, res) {
    });
</script>

GodomallSDK.init('시스템키') 스크립트를 삽입할 때마다 새로운 객체가 생성됩니다.

결과정보

SDK 실행 시 결과는 아래와 같이 전달됩니다.

/**
 * 조회 및 처리 실패 / err
 * return {}
 */
{
    name: '오류 명칭',
    kind: '오류 종류',
    status: 'HTTP 상태 코드',
    message: '오류 메시지',
    data: {전체 오류 정보}
}

/**
 * 조회 및 처리 성공 / res
 * return {} or []
 */
// 사용 메소드에 따라 {}객체, []배열로 전달

메소드 구조

기본구조에서 추가 파라미터가 없을 경우 version = '1.0' 으로 고정됩니다.

// 기본 구조
mySDK.[메소드](callback)

// 추가 파리미터가 있을 경우의 구조
mySDK.[메소드]({ 추가 파라미터 }, callback)

SDK 목록

사용 가능한 SDK는 다음과 같습니다.

변수명
설명

getMemberSummary

회원 요약 정보

getMemberProfile

회원 프로필

getMallInfo

쇼핑몰 식별 정보

getMallLocation

접속 페이지 정보

getGoods

상품 번호로 상품 상세 정보 조회

getCart

장바구니 조회

getGoodsSearch

상품 검색

getOrders

주문 상세 조회

SDK 목록 상세

회원 요약 정보

제공 데이터

필드명
데이터 형식
설명

totalCartGoodsCount

number

장바구니 총 개수 (상품 기준)

totalCartCount

number

장바구니 총 개수 (상품 옵션 기준)

totalOrderAmount

number

총 주문 금액

totalOrderGoodsCount

number

총 주문 상품 개수

totalPaymentAmount

number

총 결제 금액

usableCouponCount

number

사용 가능한 쿠폰 개수

totalCartQuantity

number

장바구니 수량 합계

totalOrderCount

number

총 주문 수

totalOrderGoodsQuantity

number

주문 상품 수량 합계

사용 예시

/*
 새로 생성되는 객체의 변수명은 반드시 systemKey를 발급받은 앱의 일련번호를 기재해 주셔야 합니다.
*/

<script defer>    
    var 변수명_SDK = GodomallSDK.init('systemKey');
    변수명_SDK.getMemberProfile(function(err, res) {
        if (err) {
            console.log(err.name, err.kind, err.data, err.status, err.message);
        } else {
            console.log(res);
        }
    });
    변수명_SDK.getMemberSummary(function(err, res) {
        if (res) {
            // 필요한 코드 작성
        }
    });
</script>

회원 프로필

제공 데이터

필드명
데이터 형식
설명

sno

number

회원번호

id

string

회원 아이디

name

string

성명

email

string

이메일

cellPhone

string

휴대전화번호

mileage

number

적립금

deposit

number

예치금

grade

array

회원 등급 정보

sno

number

회원 등급 번호

name

string

회원 등급명

age

number

만 나이

gender

string

성별 - MALE : 남성 - FEMALE : 여성 - UNKNOWN : 모름

zipcode

string

우편번호

address

string

주소

addressDetail

string

상세주소

adultFlag

string

성인인증여부 - Y : 인증완료 - N : 미인증

mailingFlag

string

이메일 수신여부 - Y : 수신허용 - N : 수신거부

smsFlag

string

SMS 수신여부 - Y : 수신허용 - N : 수신거부

signupDateTime

string

가입 일시

사용 예시

/* 
새로 생성되는 객체의 변수명은 반드시 systemKey를 발급받은 앱의 일련번호를 기재해 주셔야 합니다.
*/

<script defer>
    var 변수명_SDK = GodomallSDK.init('systemKey');
    변수명_SDK.getMemberProfile(function(err, res) {
        if (err) {
            오류 핸들링이 필요하다면 코드 작성
        } else if (res) {
            // 필요한 코드 작성
        }
    });
</script>

쇼핑몰 식별 정보

제공 데이터

필드명
데이터 형식
설명

mallDomain

string

쇼핑몰 도메인

mallNm

string

쇼핑몰 명

mallNmEng

string

쇼핑몰 영문 명

mallUsageStatus

array

몰 사용 여부 - Y : 사용 - N : 미사용

kr

string

국문몰 사용 여부 - Y : 사용 - N : 미사용

us

string

영문몰 사용 여부 - Y : 사용 - N : 미사용

cn

string

중문몰 사용 여부 - Y : 사용 - N : 미사용

jp

string

일문몰 사용 여부 - Y : 사용 - N : 미사용

※ 튜닝 상점의 경우 쇼핑몰명 (mallNm), 쇼핑몰영문명 (mallNmEng), 해외몰 사용 여부 (mallUsageStatus)는 응답되지 않을 수 있습니다.

사용 예시

<script defer>
    var 변수명_SDK = GodomallSDK.init('systemKey');
    변수명_SDK.getMallInfo(function(err, res) {
        if (res) {
            // 필요한 코드 작성
        }
    });
</script>

접속 페이지 정보

제공 데이터

필드명
데이터 형식
설명

path

string

현재 경로 (기본 도메인 제외) ex. /member/join_method.php

pathSegments

array

현재 경로에 대한 배열 정보 ex. goods, member,join_method..

사용 예시

<script defer>
    var 변수명_SDK = GodomallSDK.init('systemKey');
    변수명_SDK.getMallLocation(function(err, res) {
        if (res) {
            // 필요한 코드 작성
        }
    });
</script>

상품 번호로 상품 상세 정보 조회

요청 파라메터

필드명
데이터 형식
설명

goodsNo

string

상품 번호

제공 데이터

필드명
데이터 형식
설명

sno

number

상품 번호

name

string

상품명

images

array

상품 이미지 목록

kind

string

상품 이미지 종류

sortNo

number

상품 이미지 순번

url

string

상품 이미지 url

status

array

상품 상태

sellFlag

string

판매 상태 - Y : 판매중 - N : 판매 중지

soldOutFlag

string

품절 상태 - Y : 판매중 - N : 판매 중지

options

array

상품 옵션

sno

number

상품 옵션 번호

option1

array

옵션 1

name

string

옵션 제목

value

string

옵션 값

option2

array

옵션 2

option3

array

옵션 3

option4

array

옵션 4

option5

array

옵션 5

originPrice

number

상품 옵션 가격

discountAmount

number

타임세일 할인 가격

stockCount

number

옵션 재고 수

memo

string

옵션 메모

textOptions

array

텍스트 상품 옵션

name

string

옵션 제목

price

number

옵션 가격

requiredFlag

string

옵션 필수 여부 - Y : 사용 - N : 미사용

addGoods

array

추가 상품

title

string

추가 상품 제목

requiredFlag

string

추가 상품 필수 여부 - Y : 필수 - N : 미필수

items

array

추가 상품 정보

sno

number

추가 상품 번호

name

string

추가 상품 명

price

number

추가 상품 가격

registerDateTime

string

등록 일시

사용 예시

<script defer>
    var 변수명_SDK = GodomallSDK.init('systemKey');
    변수명_SDK.getGoods(
        {
            goodsNo: 1000
        },
        function(err, res) {
            if (res) {
                // 필요한 코드 작성
            }
        }
    });
</script>

장바구니 조회

제공 데이터

필드명
데이터 형식
설명

totalAmount

number

상품 옵션 합산 가격

(상품+옵션+텍스트옵션+추가상품)-(상품+회원+쿠폰)

shipping

array

배송비 정보

amount

number

배송비 금액

chargeType

string

배송비 지불 방식

sno

number

장바구니 번호

addGoods

array

추가 상품 정보

sno

number

추가 상품 번호

price

number

추가 상품 가격 (개당)

count

number

추가 상품 개수

registerDateTime

string

등록 일자

goods

array

상품 정보

sno

number

상품 번호

textOptions

array

텍스트 옵션

sno

number

텍스트 옵션 번호

price

number

텍스트 옵션 가격

title

string

텍스트 옵션 제목

value

string

텍스트 옵션 값

count

number

상품 개수

name

string

상품명

option

array

상품 옵션 정보

sno

number

상품 옵션 번호

price

number

옵션 가격

option 1~5

array

옵션 (1~5)

title

string

옵션 제목

value

string

옵션값

discountAmount

number

옵션 할인된 가격

benefit

array

구매혜택 정보

sale

array

구매혜택 - 할인

coupon

number

구매혜택 - 쿠폰 할인

member

number

구매 혜택 - 회원 등급 할인

goods

number

구매 혜택 - 상품 할인

mileage

array

구매 혜택 - 마일리지

coupon

number

구매 혜택 - 쿠폰 마일리지

member

number

구매 혜택 - 회원 등급 마일리지

goods

number

구매 혜택 - 상품 마일리지

사용 예시

<script defer>
    
    mySDK.getCarts(function(err, res) {
        console.log(err, res)
    });

</script>

샘플 구조

[
  {
    "sno": 1,
    "goods": {
      "sno": 1000004033,
      "name": "쿠폰사용가능범위_카테고리B",
      "count": 1,
      "option": {
        "sno": 7462,
        "option1": {
          "title": "타이틀1",
          "value": "옵션값1"
        },
        "option2": {
          "title": "타이틀1",
          "value": "옵션값1"
        },
        "option3": {
          "title": "타이틀1",
          "value": "옵션값1"
        },
        "option4": {
          "title": "타이틀1",
          "value": "옵션값1"
        },
        "option5": {
          "title": "타이틀1",
          "value": "옵션값1"
        },
        "price": 1000,
        "discountAmount": 0
      },
      "textOptions": [
        {
          "sno": 10,
          "price": 1000,
          "title": "텍스트 옵션 제목",
          "value": "텍스트 옵션 값"
        }
      ]
    },
    "addGoods": [
      {
        "sno": 1000004033,
        "count": 1,
        "price": 1000
      }
    ],
    "benefit": {
      "sale": {
        "goods": 0,
        "member": 0,
        "coupon": 0
      },
      "mileage": {
        "goods": 0,
        "member": 0,
        "coupon": 0
      }
    },
    "totalAmount": 2000,
    "shipping": {
      "amount": 2500,
      "chargeType": "PREPAID"
    },
    "registerDateTime": "2024-08-28 14:59:04"
  }
]

상품 검색

요청 파라메터

필드명
데이터 형식
설명

searchType

string

검색 타입 GOODS_NO: 상품 번호 GOODS_NAME: 상품명 GOODS_CODE: 자체 상품 코드 MAKER_NAME: 제조사 ORIGIN_NAME: 원산지 SEARCH_WORD: 검색 키워드

keyword

string

검색 키워

page

number

베이지 번호

pageSize

number

페이지당 항목 수

sort

string

정렬 기준

제공 데이터

필드명
데이터 형식
설명

contents

array

조회 결과

sno

number

상품 번호

price

number

상품 가격

registerDateTime

string

등록 일시

name

string

상품 명

discountAmount

number

할인 금액

totalCount

number

전체 조회 건수

사용 예시

<script defer>

    mySDK.getGoodsSearch({
        searchType: 'GOODS_NAME',
        keyword: '상품명',
        page: 1,
        pageSize: 100,
        sort: '+GOODS_NO,-REGISTER_DATE'
    }, function(err, res) {
        console.log(err, res)
    });

</script>

# searchType : GOODS_NO, GOODS_NAME, GOODS_CODE, MAKER_NAME, ORIGIN_NAME, SEARCH_WORD
# sort : +GOODS_NAME,+GOODS_NO,+REGISTER_DATE,-GOODS_NAME,-GOODS_NO,-REGISTER_DATE
   ('+' : 오름차순, '-' : 내림차순)

주문 상세 조회

제공 데이터

필드명
데이터 형식
설명

orderDateTime

string

주문 날짜

receiver

array

배송지 목록

zipcode

string

수령인 우편번호

addressDetail

string

수령인 상세 주소

address

string

수령인 주소

sno

number

배송지 일련 번호

name

string

수령인 이름

message

string

배송 메시지

cellPhone

string

수령인 휴대폰 번호

method

string

결제 방법 EB: 에스크로 계좌이체, EC: 에스크로 신용카드, EV: 에스크로 가상계좌, FB: 간편결제 계좌이체, FC: 간편결제 신용카드, FH: 간편결제 휴대폰, FP: 간편결제 포인트, FV: 간편결제 가상계좌, FA: 간편결제 무통장입금, GB: 무통장 입금, PB: 계좌이체, PC: 신용카드, PH: 휴대폰, PV: 가상계좌, PK: 간편결제 카카오페이, PL: 간편결제 후불결제, PN: 간편결제 네이버페이, GD: 예치금, GM: 마일리지, GZ: 전액할인, GR: 기타

settleAmount

number

실 결제 금액

channel

string

주문 채널 SHOP: 쇼핑몰, NAVERPAY: 네이버페이, PAYCO: 페이코, ETC: 기타

orderGoods

array

주문 상품 목록

totalGoodsPrice

number

총 상품 가격

quantity

number

상품 수량

sno

number

주문 상품 번호

receiverSno

number

배송지 일련 번호

goods

array

상품 정보

sno

number

상품 번호

textOptions

array

상품 텍스트 옵션 목록

price

number

텍스트 옵션 가격

title

string

텍스트 옵션 제목

value

string

텍스트 옵션 값

name

string

상품명

option

array

상품 옵션

price

number

상품 가격

option 1~5

array

옵션 (1~5)

title

string

텍스트 옵션 값

value

string

상품명

optionPrice

number

옵션 가격

type

string

상품 유형 GOODS: 상품, ADD_GOODS: 추가상품

status

string

상품 상태 ORDER: 입금대기, PAYMENT: 결제완료, GOODS_READY: 상품준비중, GOODS_PLACEMENT: 구매발주, GOODS_RECEIVED: 상품입고, GOODS_SHIPPED: 상품출고, 
DELIVERY: 배송중, 
DELIVERY_COMPLETE: 배송완료, 
SETTLE: 구매확정, 
BACK_REQUEST: 반품접수, BACK_IN_TRANSIT: 반송중, BACK_ON_HOLD: 반품보류, BACK_COMPLETE: 반품회수완료, REFUND_REQUEST: 환불접수, REFUND_ON_HOLD: 환불보류, REFUND_COMPLETE: 환불완료, EXCHANGE_REQUEST: 교환접수, EXCHANGE_IN_TRANSIT: 반송중, EXCHANGE_REDELIVERY: 재배송중, EXCHANGE_ON_HOLD: 교환보류, EXCHANGE_COMPLETE: 교환완료, PAYMENT_ATTEMPT: 결제시도, PAYMENT_CUSTOMER_ABORTED: 
고객결제중단, 
PAYMENT_FAILED: 결제실패, CANCEL_AUTO: 자동취소, CANCEL_OUT_OF_STOCK: 품절취소, CANCEL_ADMIN: 관리자취소, CANCEL_CUSTOMER_REQUEST: 고객취소요청, ADDITIONAL_PAYMENT_PENDING: 추가입금대기, ADDITIONAL_PAYMENT_COMPLETE: 
추가결제완료, ADDITIONAL_DELIVERY_IN_PROGRESS: 추가배송중, ADDITIONAL_DELIVERY_COMPLETE: 
추가배송완료, ADDITIONAL_EXCHANGE_COMPLETE: 
교환추가완료

benefit

array

sale

array

할인

coupon

number

쿠폰 할인 금액

member

number

회원 할인 금액

deposit

number

예치금 할인 금액

goods

number

상품 할인 금액

mileage

number

마일리지 할인 금액

apiOrderNo

string

API 주문 번호

sno

string

주문 번호

orderer

array

zipcode

string

주문자 우편번호

addressDetail

string

주문자 상세주소

address

string

주문자 주소

name

string

주문자 이름

email

string

주문자 이메일

cellPhone

string

주문자 휴대폰 번호

shippingAmount

number

총 배송비

paymentDateTime

string

결제 날짜

gifts

array

사은품 목록

quantity

number

사은품 수량

name

string

사은품 이름

사용 예시

<script defer>

    mySDK.getOrders({


        orderNo: 2505121522000309
    }, function(err, res) {
        console.log(err, res)
    });


</script>

샘플 구조

{
  "sno": "123456789",
  "apiOrderNo": "API123456789",
  "channel": "SHOP",
  "method": "GB",
  "orderGoods": [
    {
      "sno": 1,
      "type": "GOODS",
      "goods": {
        "sno": 101,
        "name": "테스트 상품",
        "option": {
          "option1": {
            "title": "색상",
            "value": "빨강"
          },
          "option2": {
            "title": "색상",
            "value": "빨강"
          },
          "option3": {
            "title": "색상",
            "value": "빨강"
          },
          "option4": {
            "title": "색상",
            "value": "빨강"
          },
          "option5": {
            "title": "색상",
            "value": "빨강"
          },
          "price": 1000,
          "optionPrice": 200
        },
        "textOptions": [
          {
            "title": "텍스트 옵션",
            "value": "옵션 값",
            "price": 500
          }
        ]
      },
      "quantity": 2,
      "totalGoodsPrice": 2000,
      "status": "DELIVERY_COMPLETE",
      "receiverSno": 10
    }
  ],
  "gifts": [
    {
      "name": "사은품",
      "quantity": 1
    }
  ],
  "benefit": {
    "sale": {
      "goods": 100,
      "member": 50,
      "coupon": 30,
      "mileage": 20,
      "deposit": 10
    }
  },
  "orderer": {
    "name": "홍길동",
    "zipcode": "12345",
    "address": "서울특별시 강남구 테헤란로",
    "addressDetail": "101호",
    "cellPhone": "010-1234-5678",
    "email": "[email protected]"
  },
  "receiver": [
    {
      "sno": 10,
      "name": "김철수",
      "zipcode": "54321",
      "address": "서울특별시 강남구 역삼로",
      "addressDetail": "202호",
      "cellPhone": "010-8765-4321",
      "message": "부재 시 경비실에 맡겨주세요."
    }
  ],
  "shippingAmount": 3000,
  "settleAmount": 5000,
  "orderDateTime": "2025-03-16 12:00:00",
  "paymentDateTime": "2025-03-16 12:05:00"
}

Last updated

Was this helpful?