카테고리 별로 쇼핑

홈 페이지 » 서비스 지원 » Open API 서비스

ApiOpenStep.jpg

공용 인터페이스 규칙

   1. API 끝점:
       http://www.sunsky-api.com
       API URL 예시: http://www.sunsky-api.com/openapi/category!getChildren.do
   2. 매개변수:
       key: SUNSKY API 데이터 서비스 인터페이스에 액세스하는 프로그램의 고유 식별자입니다.
       signature: 수신 매개변수를 기반으로 암호화된 서명 매개변수입니다.
   참고 : 서명 문자열을 생성하기 전에 모든 매개변수를 이름순으로 정렬해야 합니다.
   3. 데이터 반환 형식 
       반환 된 데이터는 JSON 형식입니다.
       (a) 성공적인 반환 예시:
           { result: "success", data: [{"id":1032,"code":"003","gmtCreated":"01/31/2013 00:00","name":"N Style Phone","parentId":408,"status":1}] }
       (b) 실패 반환 예시:
           { result: "error", messages: [  "The record you visiting does NOT exist." ] }
   4. 호출 주파수 제어
       서버 압력을 줄이기 위해 사용자의 동시 요청을 제어하고 SUNSKY API는 사용자가 호출한 인터페이스의 호출 빈도를 제한합니다.
       주파수 제어 세부사항을 보려면 다음 페이지로 이동하세요: http://www.sunsky-api.com/admin/apiAccessControl!list.do
   참고 : 모든 매개변수와 반환 된 결과는 대 / 소문자를 구별합니다.

인터페이스 1: 카테고리 및 지정된 카테고리 얻기

    (a) URL: /openapi/category!getChildren.do
    (b) 매개변수: 
매개변수를 전달하지 않으면 모든 카테고리 정보가 반환됩니다. 아래 매개변수를 지정하여 가져올 카테고리를 필터링할 수 있습니다: * parentId: 직접 하위 카테고리를 가져 오려는 카테고리의 ID,선택 가능; * gmtModifiedStart: 'gmtModifiedStart'부터 MM / dd / yyyy HH : mm : ss (예 : 10/31/2013 01:23:20) 형식으로 변경된 범주 가져 오기, 선택 가능; (c) 결과: 개요: * parentId 매개변수를 전달하지 않으면 모든 범주의 배열이 반환됩니다; * parentId에 '0'을 지정하면 최상위 범주의 배열이 반환됩니다; * parentId에 다른 번호를 지정하면 직접 하위 범주의 배열이 반환됩니다; * gmtModifiedStart의 날짜를 지정하면 'gmtModifiedStart'이후에 변경된 범주의 배열이 반환됩니다; 필드: * id: 카테고리의 고유 ID; * code: 카테고리의 코드입니다. 카테고리의 하위 항목은 코드별로 정렬됩니다; * name: 카테고리의 전체 이름; * shortName: 카테고리의 짧은 이름은 비어 있을 수 있습니다.; * hsCode:
해당 카테고리의 제품에 대한 HS 코드는 비어 있을 수 있습니다. HS 코드가 비어 있는 경우, 상위 카테고리의 HS 코드를 확인하시기 바랍니다; * status: 카테고리의 상태. 부록 A 참조; * parentId: 상위 카테고리의 ID; * gmtModified: 변경 시간 MM / dd / yyyy HH : mm : ss 형식 (예, 10/31/2013 01:23:20);
      힌트 : 변경된 카테고리를 얻는 방법?
            (1) getChildren API를 호출하기 전에 db / file에서 이전에 저장한 시간 T0을 로드하세요;
            (2) gmtModifiedStart = T0으로 getChildren API를 호출하면 T0 이후로 변경된 카테고리가 반환됩니다;
            (3) getChildren API에서 반환 한 범주 데이터로 로컬 데이터베이스 업데이트하세요;
            (4) getChildren API에 의해 반환된 카테고리 중 최대 gmtModified로 T0을 업데이트한 다음에 T0을 db / file에 저장하세요;
            (5) 페이지 번호를 늘리고 getChildren API가 데이터를 반환하지 않을 때까지 2 ~ 4 단계를 반복하세요;

인터페이스 2: 제품 검색

    (a) URL: /openapi/product!search.do 
    (b) 매개변수: 
* categoryId: 제품을 검색할 카테고리의 ID (하위 카테고리 포함), 선택 가능; * pageSize: 반환된 제품의 배열 크기이며, 기본값은 40, 최대 값은 100입니다; * page: 페이지 번호, 기본값은 1로 설정됩니다; * gmtModifiedStart: 'gmtModifiedStart'이후로 변경된 제품을 MM / dd / yyyy HH : mm : ss (예, 10/31/2013 01:22:31) 형식으로 가져 오기, 선택 가능; * status: 제품 상태는 부록 B를 참조하기, 선택 가능; * brandName: 가져올 제품의 브랜드 이름 (예 : iPartsBuy, Xiaomi, Huawei, Meizu),선택 가능; (c) 결과:
개요:
* 이 API는 지정한 조건과 일치하는 제품을 반환합니다. 필드:
* total: 총 제품 번호가 지정한 조건과 일치합니다. * pageCount: 총 페이지 수는 total 및 pageSize로 계산됩니다. * result: 배열에는 제품 레코드가 포함되어 있습니다. 자세한 내용은 인터페이스 'openapi / product! detail.do'를 참조하세요.
      힌트 : 변경된 제품을 얻는 방법?
            (1) 검색 API를 호출하기 전에 db / file에서 이전에 저장한 시간 T0을 로드하세요;
            (2) gmtModifiedStart = T0으로 검색 API를 호출하면 T0 이후 변경된 제품을 반환합니다;
(3) 검색 API에서 반환한 제품 데이터로 로컬 DB 업데이트합세요;
(4) T0을 검색 API에서 반환한 제품 중 최대 gmtModified로 업데이트한 다음에 T0을 db / file에 저장하세요;
            (5) 검색 API가 데이터를 반환하지 않을 때까지 페이지 번호를 높이고 2 ~ 4 단계를 반복하세요;

인터페이스 3: 지정된 제품의 세부사항 얻기

    (a) URL: /openapi/product!detail.do 
    (b) 매개변수: 
* itemNo: 세부 정보를 얻고 싶은 제품의 항목 번호. (c) 결과:
개요:
* 이 API는 지정된 제품의 전체 정보를 반환합니다. 필드:
* id: 제품의 고유 ID; * categoryId: 제품의 카테고리 ID; * itemNo: 제품의 항목 번호; * groupItemNo: 제품의 그룹 모델 번호. 제품이 여러 모델이 아닌 경우 그룹 모델은 제품 모델과 동일합니다.; * name: 제품 이름; * barcode: 제품의 바코드; * description: 제품 세부 설명; * leadTime: 리드 타임 설명. 예 "6PM (GMT + 8) 전 주문 당일 배송,"1 ~ 3 일 ","2 ~ 5 일 "; * gmtListed: 제품 출시한 시간. MM / dd / yyyy HH : mm : ss 형식 (예 : 10/31/2013 01:23:20). 지난 90일 동안 출시된 것이 최신 제품입니다; * gmtModified: 변경 시간, MM / dd / yyyy HH : mm : ss 형식 (예, 10/31/2013 01:23:20); * warehouse: 제품 발송 창고. 예 CN, HK 또는 RU; * stock: 창고가 해외 창고 (CN이 아님)인 경우이 필드는 현재 재고 수량을 제공합니다; * moq: 최소 주문 수량, 기본값은 1입니다; * brandName: 제품이 브랜드인 경우 브랜드 이름을 포함합니다. 예 : "화웨이"; * modelLabel: 제품이 다중 모델인 경우 분류 기준 (예, 색상, 크기 ...)를 나타냅니다. * modelList: 제품이 다중 모델인 경우 모델 배열입니다. 목록의 각 요소는 key-value, key는 제품 모델, value는 모델 속성 설명입니다.
예, [ { key: 'S-MPH-001', value: 'White' }, { key: 'S-MPH-002', value: 'Black' } ] * optionList: 유사 제품 목록. { display: "text" or "picture", items: [ { itemNo: "S-MPH-0002", keywords: "Plastic Case for S7" } ] } * price: 제품의 현재 가격; * priceList: 가격의 도매가, 구매 수량에 따라. 목록의 각 요소는 key-value, key는 해당 수량, value는 해당 수량의 가격입니다.
예, [ { key: 2, value: '2.98' }, { key: 10, value: '2.49' } ] * clearance: 제품이 창고 정리되었습니까? * orgPrice: 제품의 창고정리 또는 판촉이 진행중인 경우이 필드는 원래 가격을 저장합니다;
* priceExpired: 제품이 판촉 상태에 있는 경우,이 필드는 만기 날짜를 MM / dd / yyyy HH : mm (예, 10/31/2013 00:00) 형식으로 저장합니다. 비어 있을 수 있습니다; * status: 제품의 상태. 부록 B 참조; * unitWeight: 제품의 단위 중량; * packQty: 한 케이스의 제품 수량; * packWeight: 한 케이스의 제품 무게, 당위 kg; * packLength&packWidth&packHeight: 한 케이스의 제품 부피, 단위 : mm;
* containsBattery: 제품에 배터리가 포함되어 있습니까? true 또는 false;
           * giftItemNo: 제품에 무료 선물이 있는 경우이 필드는 해당 선물 모델을 보유합니다;
           * brands: 이 제품이 일종의 액세서리인 경우이 필드는 호환 가능한 브랜드 모델을 나열합니다.이 필드는 '/openapi/product!search.do'에 의해 반환되지 않습니다.
                     예를 들어: [ { brand: { name: "Apple" }, models: [ { name: "iPhone" }, { name: "iPad" } ] } ]
           * params: 제품의 주요 매개변수입니다. 이 필드는 '/openapi/product!search.do'에 의해 반환되지 않습니다.
                     예를 들어: [ { name: "Connectivity" , values: [ "WIFI", "3G", "GPS" ] } ] 

인터페이스 4: 특정 제품 이미지 다운로드

    (a) URL: /openapi/product!getImages.do 
    (b) 매개변수: 
* itemNo: 얻고 싶은 제품 모델. * size: 선호하는 제품 이미지의 크기,픽셀 단위, 선택 가능. 최대 크기는 800이고 일부 오래된 항목은 500입니다. * watermark: 워터마크 텍스트, 선택 가능. (c) 결과:
개요:
* 이 모델이 존재하지 않으면 404가 반환되고 그렇지 않으면 Zip 데이터 스트림이 반환됩니다.

인터페이스 5: 변경된 제품 이미지 얻기

    (a) URL: /openapi/product!getImageChangeList.do 
    (b) 매개변수: 
* pageSize: 변경 목록의 배열 크기가 반환되며 기본값은 40, 최대 값은 100입니다; * page: 페이지 번호, 기본값은 1로 설정됩니다; * gmtModifiedStart: "gmtModifiedStart"이후 이미지의 모델 번호를 가져오기, MM / dd / yyyy HH : mm : ss 형식 (예 : 10/30/2016 11:14:01);
    (c) 결과:
개요:
* total: 총 항목 수는 지정한 조건과 일치합니다. * pageCount: total 및 pageSize로 계산된 총 페이지 수. * result: 배열에는 항목 번호와 이미지가 업데이트된 시간이 포함됩니다. 예, [{ "itemNo": "S-MPH-001", "gmtModified": "10/31/2016 01:04:22"}]
     변경 목록에 나열된 항목 번호의 제품 이미지를 다시 다운로드하세요.
      힌트 : 변경된 이미지를 얻는 방법?
            (1) 변경 목록 API를 호출하기 전에 db / file에서 이전에 저장한 시간 T0 을 로드하세요;
(2) gmtModifiedStart = T0으로 변경 목록 API를 호출하면 T0 이후 이미지가 변경된 항목이 반환됩니다;
(3) 변경 목록에 나열된 제품 번호의 제품 이미지를 다시 다운로드하세요;
(4) 변경 목록 API에 의해 리턴된 항목 중에서 T0을 최대 gmtModified로 갱신한 후 T0을 db / file에 저장하세요;
            (5) 변경 목록 API가 데이터를 리턴하지 않을 때까지 페이지 번호를 증가시키고 2 ~ 4 단계를 반복하세요;

인터페이스 6: 배송 국가 목록 얻기

    (a) URL: /openapi/order!getCountries.do 
    (b) 매개변수: 
없음. (c) 결과:
개요:
* 도 /시를 포함한 선적 국가 목록을 얻습니다. 필드:
* id: 국가의 고유 ID; * code: ISO 3166에 따른 국가 코드; * name: 국가 이름; * shipToState: 도/시에 따라 운송비를 계산합니까? 더 저렴할 수 있습니다. true/false; * stateList: 선택적인 도/시 목록, 필드는 다음과 같습니다:
** code: 도/시 코드;
** name: 도/시 이름; 

인터페이스 7: 상품 가격 및 배송비 얻기

    (a) URL: /openapi/order!getPricesAndFreights.do 
    (b) 매개변수: 
* countryId: 국가의 고유 ID; * state: 도에 대한 배송 주소 코드는 '/openapi/ordergetgetCountries.do'를 참조하세요.선택 가능; * items.#.itemNo, items.#.qty: 제품 목록, 제품 가격 및 운송 비용 계산을 위하여. ** 숫자# 대신을 사용하여 각 제품을 구별합니다. 예 : items.1.itemNo, items.2.itemNo ... ** itemNo: 제품 모델; ** qty: 품목의 수량; (c) 결과:
개요:
* 상품의 가격과 배송비를 알아봅니다. 필드:
* priceList: 항목 가격, 아래 필드와 같습니다: ** productId: 제품의 고유 ID; ** itemNo: 제품 모델; ** qty: 제품의 수량;
** price: 제품 단가; ** orgPrice: 제품 원래 단가, 최종 가격은 원래 가격보다 저렴할 수 있습니다;
** amount: 제품의 최종 소계 금액; ** orgAmount: 제품의 원래 합계 금액, 최종 금액이 저렴할 수 있습니다; * freightList: 제품 배송비, 아래 필드와 같습니다: ** id: 선적 방법의 고유 ID;
** name: 선적 방법의 이름; ** logo: 선적 방법의 로고 URL;
** description: 선적 방법에 대한 설명;
** website: 선적 방법의 웹사이트;
** transitTime: 상품의 배송시간 설명; ** shippingCost: 상품의 배송비; 

인터페이스 8: Create an order

    (a) URL: /openapi/order!createOrder.do 
    (b) 매개변수: 
* siteNumber: SUNSKY 주문의 주문 번호 또는 기타 추가 참조 번호가 있습니다. 선택 사항. 최대 길이 : 32 자.
* useBalanceOnly: true로 설정하면 SUNSKY 웹사이트에서 충분한 균형을 유지해야 합니다. 그렇지 않으면 "INSUFFICENT_BALANCE"예외가 발생합니다. false로 설정하면 잔액이 충분하지 않으면 은행 송금 결제 수단을 사용하여 주문이 생성됩니다. 기본 설정은 false입니다. 선택 사항;
* coupon: 쿠폰 코드 사용 가능; * deliveryAddress.countryId: 국가의 고유 ID; * deliveryAddress.state: 도 코드는 '/openapi/order!getCountries.do'를 참조하세요. 국가에서 도에 대한 정보가 없으면 수동으로 입력하세요. 최대 길이 : 40 자. * deliveryAddress.city: 도시. 최대 길이 : 40 자; * deliveryAddress.company: 회사 이름, 선택 사항. 최대 길이 : 100 자;
* deliveryAddress.address: 거리 주소, 최대 길이 : 100 자; * deliveryAddress.address2: 거리 주소2, 선택 사항, 최대 길이 : 100 자;
* deliveryAddress.postcode: 배송지 주소의 우편 번호, 최대 길이 : 20 자; * deliveryAddress.receiver: 수신자 성명, 최대 길이 : 32 자; * deliveryAddress.telephone: 수신자의 전화 번호, 선택 사항이지만 작성하기 좋습니다. 최대 길이 : 20 자; * deliveryAddress.shippingWayId: 배송 방법의 고유 ID. '/openapi/order\getPricesAndFreights.do'를 호출하여 배송 방법 목록을 얻을 수 있으며 결과에서 'freightList'의 id 속성을 얻을 수 있습니다; * deliveryAddress.shipment: drop -- 드랍쉬핑; wholesale -- 혼자서 사다, 선택 사항. 기본값은 'wholesale'로 설정됩니다;
* items.#.itemNo, items.#.qty: 주문을 작성할 제품 목록. ** #은 항목을 구별하는 데 사용되는 정수입니다, i.e. items.1.itemNo, items.2.itemNo... ** itemNo: 제품 모델; ** qty: 제품 수량; (c) 결과:
개요:
* 항목과 배달 주소 정보로 SUNSKY 주문서 작성. * 주문을 만들기 위해 SUNSKY에 연락하여 웹사이트 계정을 확인하세요. 필드:
* number: 주문 번호; * status: 주문 상태. 부록 C를 참조하세요; * amount: 항목의 소계 금액; * shippingCost: 주문의 배송비; * totalAmount: 주문 총액. 총 금액 = 제품 금액 + 배송비; * siteNumber: '/openapi/order!createOrder.do'를 참조하세요;
* packStatus: 0- 준비 중, 1- 패키징 중, 2- 부분 패키징됨, 3-패키징 및 출하 준비 완료;
* trackingNumber: 주문의 추적 번호; * gmtCreated: 주문 생성 시간, 형식은 'MM/dd/yyyy HH:mm'입니다(예, 10/31/2013 05:01); * gmtPaid: 주문 지불 시간, 형식은 'MM/dd/yyyy HH:mm'입니다(예, 10/31/2013 05:01);
* gmtShipped: 주문 배달 시간, 형식은 'MM/dd/yyyy HH:mm'입니다(예, 10/31/2013 05:01); * deliveryAddress.*: 배송지 주소. '/openapi/order!createOrder.do'를 참고하세요; 기타 필드: ** shippingWay.id: 배송 방법의 고유 ID; ** shippingWay.name: 배송 방법의 이름; * detailList: 주문에 대한 항목의 배열, 다음과 같습니다: ** productId: 제품의 고유 ID; ** itemNo: 제품의 항목 번호; ** title: 제품 이름; ** qty: 제품 수량; ** price: 제품 최종 단가;
** amount: 제품의 최종 소계 금액;
** scaned: 0 - 포장할 준비되지 않음; 1 - 포장 준비 완료; ** delayToShip: 0- 정상; 1 - 배송 지연;

인터페이스 9: 주문 검색

    (a) URL: /openapi/order!getOrderList.do 
    (b) 매개변수: 
* pageSize: 한 페이지에서 주문 수량, 기본값 40, 최대 100; * page: 페이지 번호, 기본값은 1로 설정됩니다; * status: 주문 상태, 선택 사항. 부록 C를 참조하세요; * siteNumber: 선택 사항. '/openapi/order!createOrder.do'를 참고하세요;
* gmtCreatedStart: 'gmtCreatedStart'로부터 시작하는 주문 받기, 형식은 MM/dd/yyyy입니다(예, 10/31/2013), 선택 사항; * gmtCreatedEnd: 'gmtCreatedEnd'까지 주문 받기, 형식은 MM/dd/yyyy입니다(예, 10/31/2013), 성택 사항; (c) 결과:
개요:
* 이 API는 적합한 주문 데이터를 반환합니다. 필드:
* total: 총 주문 수량는 지정한 조건과 일치합니다. * pageCount: 총 주문 수량, Total 및 pageSize로 계산됩니다. * result: 배열에는 주문 레코드가 포함되어 있습니다. 자세한 내용은 '/openapi/order!createOrder.do'를 참조하세요. 'detailList'가이 인터페이스에서 반환되지 않았습니다. '/openapi/order!getOrderDetails.do'를 사용하여 항목 정보를 가져오세요.


인터페이스 10: 주문 세부 정보 얻기

    (a) URL: /openapi/order!getOrderDetails.do 
    (b) 매개변수: 
* number: SUNSKY 주문 번호; (c) 결과:
개요:
* 이 API는 지정된 순서의 전체 정보를 반환합니다. 필드:
* '/openapi/order!createOrder.do'를 참고합니다;


인터페이스 11: SUNSKY의 잔액 확인

    (a) URL: /openapi/order!getBalance.do 
    (b) 매개변수: 
없음 (c) 결과:
개요:
* 이 API는 SUNSKY에서 잔액을 반환합니다. 필드:
문자열에 잔액 금액 (예 : '1200.00')이 포함되어 있습니다.


인터페이스 12: 잔액 기록 얻기

    (a) URL: /openapi/order!getBillList.do 
    (b) 매개변수: 
* pageSize: 페이지 당 게산서 수량,기본값 : 40, 최대 100; * page: 페이지 번호, 기본값은 1로 설정됩니다; * gmtCreatedStart: 'gmtCreatedStart'로부터 시작하는 계산서 받기, 형식은 MM/dd/yyyy입니다(예, 10/31/2013), 선택 사항;
* gmtCreatedEnd: 'gmtCreatedEnd'까지 계산서 받기, 형식은 MM/dd/yyyy입니다(예, 10/31/2013), 성택 사항;
(c) 결과:
개요:
* 이 API는 지정한 조건과 일치하는 계산서를 반환합니다. 필드:
* total: 총 계산서 수량 지정한 조건과 일치합니다. * pageCount: 총 계산서 수량, Total 및 pageSize로 계산됩니다.
* result: 배열에 계산서가 들어 있습니다. 필드는 다음과 같습니다: * txType: 거래 유형. 예, prepay/createOrder/payForOrder/cancelOrder; * refId: txType이 createOrder / payForOrder / cancelOrder인 경우 주문 번호가 계산서와 연결됩니다; * amount: 거래 후 금액이 변경되었습니다; * balance: 거래 후 SUNSKY의 잔액; * gmtCreated: 계산서 작성 시간, 형식은 'MM/dd/yyyy HH:mm'입니다(예, 10/31/2013 05:01);


인터페이스13: 인기 제품 얻기

    (a) URL: /openapi/stats!getHotItems.do 
    (b) 매개변수: 
* countryId: 국가의 고유 ID; (c) 결과:
개요:
* 이 API는 지정된 국가의 최신 제품 목록을 반환합니다. 필드:
* itemNo: 제품 모델


인터페이스 14: 쿠폰 목록 얻기

    (a) URL: /openapi/coupon!getList.do 
    (b) 매개변수: 
* pageSize: 페이지 당 쿠폰 수량, 기본값 : 40, 최대 100;
* page: 페이지 번호, 기본값은 1로 설정됩니다; (c) 결과:
개요:
* 이 API는 지정한 조건과 일치하는 쿠폰을 반환합니다. 필드:
* total: 총 쿠폰 수량은 지정한 조건과 일치합니다. * pageCount: 총 쿠폰 수량, total 및 pageSize로 계산됩니다. * result: 배열에는 쿠폰이 들어 있습니다. 필드는 다음과 같습니다: * code: 쿠폰 코드; * description: 쿠폰 사용 방법을 설명하는 쿠폰 설명; * startTime: 쿠폰 시작 시간, 형식은 'MM/dd/yyyy HH:mm'입니다(예, 10/31/2013 05:01); * endTime: 쿠폰 종료 시간, 형식은 'MM/dd/yyyy HH:mm'입니다(예, 10/31/2013 05:01); * personLimit: 쿠폰 사용 한도; * qty: 쿠폰을 할인에 사용할 수 있는 제품 수량; * discountType: 할인 유형 1 -- 고정 할인 금액; 2 -- 할인율; 3 -- 고정 가격; * discount: 다른 discountType에 따라 해당 값은: 1 -- 고정 할인 금액 (string);
2 -- 할인 후의 비율 (문자열), 90은 10 % 할인을 의미합니다; 3 -- 최종 가격 (문자열); * targetType: 1 -- 종류; 2 -- 제품; 3 -- 주문 금액 문턱 값; 4 -- 브랜드; * target: 다른 targetType에 따라 아래의 해당 값: 1 -- 종류 json 목록 (문자열), 예, [ { id: 'category id', name: 'Category name' } ] 2 -- 제품 json 목록 (문자열), 에, [ { id: 'product id', name: 'Product name', itemNo: 'Item #' } ]
3 -- 주문 금액 문턱 값 (문자열), 예, 200;
4 -- 브랜드 json 목록 (문자열), 예, [ { name: 'HAWEEL' } ];
부록 A : 카테고리 상태
    0 - 무효
    1 - 유효
    2 - 삭제됨

부록 B : 제품 상태

    0 - 무효
    1 - 유효
    2 - 삭제됨
    3 - 품절

부록 C : 주문 상태

    1 - 미지불
    2 - 지불됨
    3 - 발송됨
    4 - 취소됨
    5 - 배달됨

부록 D : 샘플 코드 (Java, PHP)

    OpenApiService.zip
SUNSKY에게 연락하기
영업 관리자: Ms. Yoyo
+86-15817361427
더 보기