カテゴリー

オープン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
  注:すべてのパラメーターと戻される結果は大文字と小文字が区別されます。

Interface 1: 指定カテゴリと得ますカテゴリ。

    (a) URL: /openapi/category!getChildren.do
    (b) パラメータ: 
          パラメータを渡さないと、すべてのカテゴリ情報が返されます;.
          取得するカテゴリをフィルタリングするために、次のパラメータを指定することができます:
          * parentId: カテゴリの親ID。現在のカテゴリIDの下にあるすべてのサブカテゴリを取得できます。オプションです。;
          * gmtModifiedStart: ‘gmtModified Start’から変更されたカテゴリを、MM / dd / yyyy HH:mm:ssの形式で取得します(たとえば、10/31/2013 01:23:20)オプション;
    (c) 結果を返す:
           要約:
           * parentIdパラメータが渡されなかった場合はすべてのカテゴリの配列を返します;
           * parentIdに "0"が指定されている場合はトップレベルカテゴリの配列を返します;
           * parentIdに異なる番号を指定した場合、直接的なサブカテゴリの配列を返します;
           * gmtModifiedStartに日付が指定されている場合は、「gmtModifiedStart」以降に変更されたカテゴリの配列を返しますフィールド:
           * id: 唯一のカテゴリID;
           * code: カテゴリのcode。 このカテゴリのサブカテゴリはコードでソートされています;
           * name: カテゴリのフルネーム;
           * shortName: カテゴリの短い名前です。空白の場合もあります* hsCode: カテゴリー内の製品のHS codeは空である場合があります。 HS codeが空の場合は、親カテゴリのHS codeを参照してください
           * status: カテゴリのステータス。付録Aを参照してください
* parentId: カテゴリの親ID; * gmtModified: MM / dd / yyyyの形式で時間を変更します。HH:mm:ss(例:10/31/2013 01:23:20)
      ヒント:変更されたカテゴリを取得するにはどうすればよいですか?
            (1) getChildren APIを呼び出す前に、以前に保存した時間T0をdb / fileからロードします;
(2)
gmtModifiedStart = T0を指定してgetChildren APIを呼び出すと、T0から変更されたカテゴリが返されます; (3) getChildren APIによって返されたカテゴリデータでローカルデータベースを更新する; (4) getChildren APIによって返されたカテゴリ内の最大gmtModifiedにT0を更新し、T0をdb / fileに保存します; (5) ページ番号を増やし、getChildren APIがデータを返さなくなるまでステップ2〜4を繰り返します;

Interface 2: 製品リストを入手する

    (a) URL: /openapi/product!search.do 
    (b) パラメータ: 
           * categoryId: 製品を検索するカテゴリのID(サブカテゴリを含む)、オプション;
           * pageSize: ページごとに返される製品配列のサイズ。デフォルト設定は40、最大値は100;
           * page: ページ番号、デフォルト設定は1;
           * gmtModifiedStart: 'gmtModifiedStarted'以降に変更された製品を取得するには、フォーマットは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から返された製品データを使用してローカルデータベースを更新する;
(4) T0を検索APIから返された製品の最大gmtModifiedに更新し、T0をdb / fileに保存します;
(5) ページ番号を増やし、検索APIがデータを返さなくなるまでステップ2〜4を繰り返します。;

Interface 3: 指定された製品の詳細を取得する

    (a) URL: /openapi/product!detail.do 
    (b) パラメータ: 
           * itemNo: 詳細情報の製品モデル。
    (c) 結果を返す:
           要約: 
           * このAPIは、指定された製品に関する完全な情報を返します。
           フィールド:
           * id: 製品固有のID;
           * categoryId: 製品カテゴリID;
* itemNo: 製品モデル; * groupItemNo:
製品の
グループモデル番号。 製品が複数のモデルでない場合、グループモデルは製品モデルと同じです;
           * name: 製品名;
           * barcode: 製品バーコード;
           * description: 製品の説明;
           * leadTime: 納期の説明、例えば。説明。「受注は(GMT + 8)18時前に同じ日に出荷」、「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: ブランド名、例えば「Huawei」;
           * 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: 1箱の重さ(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" ] } ]

Interface 4: 特定の製品イメージをダウンロードする

    (a) URL: /openapi/product!getImages.do 
    (b) パラメータ: 
           * itemNo: 取得したい製品モデル.     
           * size: 製品画像サイズ、ピクセル単位で、オプション.
                   最大サイズは800 x 800、一部の古い製品写真は500 x 500.
           * watermark: 画像ウォーターマーク、オプション.
    (c) 結果を返す:
           要約: 
           * このモデルが存在しない場合は404を返し、そうでない場合はZIPデータストリームを返します。

Interface 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: 総ページ数.
           * result: 返された結果には、製品モデル番号と対応するイメージ更新時間が含まれます,例えば [{"itemNo": "S-MPH-001", "gmtModified": "10/31/2016 01:04:22"}]
     変更された製品モデルリストに従って、対応する製品イメージを再ダウンロードしてください。
      ヒント:変更の製品イメージを入手するにはどうすればよいですか?
            (1) チェンジリストAPIを呼び出す前に、以前に保存した時間T0をdb / fileからロードする;
(2) gmtModifiedStart = T0を使用してチェンジリストAPIを呼び出します。これにより、T0以降に画像が変更された商品が返されます;
(3) 変更リストに記載されている製品モデルの製品イメージを再ダウンロードする;
(4) T0をチェンジリストAPIによって返された製品の最大gmtModifiedに更新し、T0をdb / fileに保存します;
(5)ページ番号を増やし、チェンジリストAPIがデータを戻さなくなるまでステップ2〜4を繰り返します。;

Interface 6: 出荷可能な国のリストを入手する

    (a) URL: /openapi/order!getCountries.do 
    (b) パラメータ: 
           なし.
    (c) 結果を返す:
           要約: 
           * 州/都道府県(もしあれば)を含む出荷国のリストを入手する。
           フィールド:
           * id: 国固有のID;
           * code: 国コード、ISO 3166に準拠;
           * name: 国名;
           * shipToState: 州/都道府県別に送料が計算されていますか?安いかもしれません. 値:true/false;
           * stateList: オプションの国/都道府県リストは、以下のとおりです:
                   ** code: 州/都道府県コード;
** name: 州/都道府県名;

Interface 7: 製品価格と送料を取得する

    (a) URL: /openapi/order!getPricesAndFreights.do 
    (b) パラメータ: 
           * countryId: 国固有のID;
           * state: 州コード、 '/openapi/order!getCountries.do'を参照、オプション;
           * items.#.itemNo, items.#.qty: 产品列表,用于计算产品价格和运费. 
                   ** #の代わりに数字を使用すると、各製品を区別できます,例えば: items.1.itemNo, items.2.itemNo...
                   ** itemNo: 製品モデル;
                   ** qty: 製品モデルの数;
    (c) 結果を返す:
           要約: 
           * 製品価格と送料を取得する.
         フィールド:
           * priceList: 製品価格表、フィールドは以下の通りです:
                   ** productId: プロダクト固有のID;
                   ** itemNo: 製品モデル;
                   ** qty: 製品数;
                   ** price: 製品価格;
                   ** orgPrice: 製品の元の価格、最終価格は、元の価格より安くなる可能性があります;
                   ** amount: 1つの商品の複数の商品の合計額;
                   ** orgAmount: 複数の製品の元の合計金額、最終的な合計金額は、この元の合計金額より安くなる可能性があります;
           * freightList: 出荷リスト、フィールドは以下の通りです:
                   ** id: 出荷モード固有ID;
                   ** name: 出荷名;
                   ** logo: 配送方法logo URL住所;
                   ** description: 配送方法の説明;
                   ** website: 貨物輸送モード公式サイト;
                   ** transitTime: 貨物輸送時間の説明;
                   ** shippingCost: 交通費;

Interface 8: 注文を作成する

    (a) URL: /openapi/order!createOrder.do 
    (b) パラメータ: 
           * siteNumber: SUNSKY注文の注文番号またはその他の追加注文番号があります。これは、現在の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: オーダーリストエレメントを作成する. 
                   ** #の代わりに数字を使う, 例えば items.1.itemNo, items.2.itemNo...
                   ** itemNo: 製品モデル;
                   ** qty: 製品数;
    (c) 結果を返す:
           要約: 
           * SUNSKY注文を作成するために製品と配送先住所情報を送信する.
           フィールド:
           * number: 注文番号;
           * status: 注文状況。詳細については、付録Cを参照してください。
           * amount: 製品の金額総量;
           * shippingCost: 注文の送料;
           * totalAmount: 総受注金額。合計受注金額=総商品代金+送料;
           * siteNumber: 詳細を見る '/openapi/order!createOrder.do';
           * packStatus: 0-ストッキング; 1-梱包中; 2-部分的にパッケージ化された; 3-梱包され出荷された;
* trackingNumber:
注文ロジスティクストラッキング番号; * gmtCreated: フォーマットのご注文の作成時間 'MM / DD / YYYY HH:MM'(例えば2013年10月31日午前5時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-遅れた配達;

Interface 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: 総ページ数. * result: オーダーリスト、詳細は '/openapi/order!createOrder.do'をご覧ください. このインターフェースは 'detailList'フィールドのデータを返しません。 '/openapi/order!getOrderDetails.do'を使用して製品の詳細を取得してください。.


Interface 10: 注文の詳細を取得する

    (a) URL: /openapi/order!getOrderDetails.do 
    (b) パラメータ: 
           * number: サンキー注文番号;      
    (c) 結果を返す:
           要約: 
           * このAPIは完全な注文の詳細を返します.
           フィールド:
           * 詳細については、 '/openapi/order!createOrder.do'を参照してください;


Interface 11: SUNSKY残高を見る

    (a) URL: /openapi/order!getBalance.do 
    (b) パラメータ: 
           なし      
    (c) 結果を返す:
           要約: 
           * このAPIは、SUNSKYの残高を表示するために使用されます。.
           フィールド:
           単なる文字列,例えば "1200.00".


Interface 12: 残高請求履歴を取得する

    (a) URL: /openapi/order!getBillList.do 
    (b) パラメータ: 
           * pageSize: ページあたりの請求書の数は、デフォルト40、最大100;
           * page: ページ番号、デフォルト1;
           * gmtCreatedStart: 'gmtCreatedStart'で始まる請求データをMM / dd / yyyy形式(例:10/31/2013)、オプション;
           * gmtCreatedEnd: MM / dd / yyyy(例:10/31/2013)の形式で 'gmtCreatedEnd'までの請求データを取得する(オプション);      
    (c) データを返す:
           要約: 
           * このAPIは対象となる請求データを返します.
           フィールド:
           * total: 適格請求書の総数
           * pageCount: 請求ページ番号
           * result: 請求一覧。項目は次のとおりです:
                     * txType: 取引タイプ,例えば prepay / createOrder / payForOrder / cancelOrder;
                     * refId:txTypeがcreateOrder / payForOrder / cancelOrderの場合、注文番号は請求書に関連付けられます;
                     * amount: 総取引額;
                     * balance: 取引後残高;
                     * gmtCreated: ビルドの作成時間は 'MM / dd / yyyy HH:mm'の形式(例:10/31/2013 05:01);


Interface 13: ホットな製品を入手する

    (a) URL: /openapi/stats!getHotItems.do 
    (b) 製品: 
           * countryId: 国固有のID;     
    (c) 結果を返す:
           要約: 
           * このAPIは、対応する国IDに従って対応するホット商品を返します。.
           フィールド:
           * itemNo: 製品モデル.


Interface 14: クーポンコードのリストを取得する

    (a) URL: /openapi/coupon!getList.do 
    (b) パラメータ: 
           * pageSize: 1ページあたりのクーポン数、デフォルトは40、最大値は100;
           * page: ページ番号、デフォルト1;   
    (c) 結果を返す:
           要約: 
           * このAPIは適格なクーポン情報を返します.
           フィールド:
           * total: 対象となる合計.
           * pageCount: 総ページ数
           * 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: The item quantity the coupon can be used on for a discount;
                     * discountType: 割引タイプ
                                   1 -- 固定割引額; 
                                   2 -- パーセント割引; 
                                   3 -- 固定金額;
                     * discount: discountTypeの違いに応じて、対応する値は: 
1 -- 割引額(文字列タイプ); 2 -- パーセンテージ(文字列タイプ)の割引, 90は、10%OFFの割引を表します; 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. Polly
+86-15797630278
もっと