Compre por Categorias

Pagina inicial » Serviço & Suporte » Serviços Open API

ApiOpenStep.jpg

Convenção de Interface Comum

   1. Endereço da interface da API:
       http://www.sunsky-api.com
       Amostra URL da API: http://www.sunsky-api.com/openapi/category!getChildren.do
   2. Parâmetros Comuns:
key:
Identificador exclusivo do seu programa para acessar a interface do SUNSKY serviço de dados da API. signature: A assinatura pelos parâmetros, é gerada com os valores dos parâmetros e o segredo que você obteve da Plataforma SUNSKY Open API .
   Atenção: Os parâmetros devem ser classificados pelo nome antes da geração da assinatura.
   3.  Formato de Resultado
       O data de retorno é formato em JSON.
       (a) Exemplo de resultado bem-sucedido:
           { result: "success", data: [{"id":1032,"code":"003","gmtCreated":"01/31/2013 00:00","name":"N Style Phone","parentId":408,"status":1}] }
       (b) Exemplo de resultado com falha:
           { result: "error", messages: [  "The record you visiting does NOT exist." ] }
   4. Controle de Freqüência de Chamada
       Para reduzir a pressão do servidor e controlar as solicitações simultâneas do usuário, a SUNSKY API limitará a frequência de chamada da interface invocada pelo usuário.
       Por favor, consulte isto para obter as informações de controle de freqüência: http://www.sunsky-api.com/admin/apiAccessControl!list.do
   Atenção: Todos os parâmetros e valores de retorno são sensível a maiúsculas.

Interface 1: Obtenha categorias e categorias especificadas

    (a) URL: /openapi/category!getChildren.do
    (b) Parâmetros: 
         Se você não passar nenhum parâmetro, esta API retornará todas as categorias.
          Você pode especificar os parâmetros abaixo para filtrar as categorias que deseja buscar:
          * parentId: O parentId da categoria, que pode obter todas as subcategorias sob o ID da categoria atual, opcional;
* gmtModifiedStart: Para obter as categorias já alteradas desde 'gmtModifiedStart', o formato é MM/dd/yyyy HH:mm:ss(por exemplo. 10/31/2013 01:23:20), opcional;
(c) Resultado: Resumo: * Se você não passar o parâmetro parentId, então uma matriz de todas as categorias será retornada; * Se você especificar '0' pelo parentId, então uma matriz da top categorias será retornada; * Se você especificar outro número pelo parentId, então uma matriz das subcategorias diretas será retornada; * Se você especificar uma data pelo gmtModifiedStart, então uma matriz das categorias já foi alterada desde que 'gmtModifiedStart' é retornado;
Fields: * id: O ID exclusivo da categoria; * code: O code da categoria. Subcategorias desta categoria são classificadas por código; * name: O nome completo da categoria;
* shortName: O nome abreviado da categoria, pode estar vazio;
* hsCode:
O HS Code pelos produtos na categoria pode estar vazio. Se o HS Code estiver vazio, verifique o HS Code da categoria do parent; * status: O status da categoria. Veja o Apêndice A; * parentId: O parentld da categoria; * gmtModified: Mude o tempo, o formato é
MM/dd/yyyy HH:mm:ss (por exemplo. 10/31/2013 01:23:20);
      Dica: Como obter a categoria alterada?
            (1) Antes de chamar a getChildren API, carregue o tempo salvo anteriormente T0 de db/file;
(2) Chame a getChildren API com gmtModifiedStart=T0, ela retornará as categorias que já foram alteradas desde T0; (3) Atualize seu db local com os dados da categoria retornados pela getChildren API; (4) Atualize T0 pelo
máximo gmtModified entre as catetories retornadas pela getChildren API, então salve T0 em db/file;
(5) Aumente o número da página e repita o passo 2~4 até que a getChildren API não retorne nenhum dado;

Interface 2: Obtenha lista dos produtos

    (a) URL: /openapi/product!search.do 
    (b) Parâmetros: 
* categoryId: O ID da categoria na qual você deseja buscar os produtos (incluindo suas subcategorias), opcional; * pageSize: O tamanho da matriz dos produtos retornados, a configuração padrão é 40, o máximo é 100; * page: O número da página, a configuração padrão é 1; * gmtModifiedStart: Para obter os produtos alterados desde 'gmtModifiedStart', o formato é MM/dd/yyyy HH:mm:ss (por exemplo. 10/31/2013 01:22:31), opcional;
* status: O status do produto, veja o Apêndice B, opcional;
* brandName: O nome da marca, por exemplo. iPartsBuy, Xiaomi, Huawei, Meizu, opcional;
(c) Resultado: Resumo: * Esta API retorna os produtos que correspondem às condições que você especificou. Fields: * total: O número total do produto corresponde às condições que você especificou. * pageCount: O número de páginas calculadas pelo total e pageSize.
* result: A lista de resultados de dados do produto, consulte a interface 'openapi/product!detail.do' para obter os detalhes.
      Dica: Como obter o produto alterado?
            (1) Antes de chamar a API de pesquisa, carregue o tempo salvo anteriormente T0 de db/file;
(2) Chame a API de pesquisa com gmtModifiedStart=T0, ela retornará os produtos que foram alterados desde T0;
(3) Atualize seu db local com os dados do produto retornados pela API de pesquisa;
(4) Atualize T0 pelo máximo gmtModified entre os produtos retornados pela API de pesquisa, então salve T0 em db/file;
(5) Aumente o número da página e repita o passo 2~4 até que a API de pesquisa não retorne nenhum dado;

Interface 3: Obtenha os detalhes do produto especificado

    (a) URL: /openapi/product!detail.do 
    (b) Parâmetros: 
           * itemNo: Obetenha modelo do produto para informações detalhadas.     
    (c) Resultado:
           Resumo: 
           * Esta API retorna informações completas sobre o produto especificado.
Fields: * id: O ID exclusivo do produto; * categoryId: O ID da categoria do produto; * itemNo: Modelo do produto;
* groupItemNo: O modelo de grupo do produto. Se o produto NÃO é multi-modelo, o modelo de grupo é o mesmo que o modelo de produto;
* name: O nome do produto; * barcode: O código de barras do produto; * description: A descrição detalhada do produto; * leadTime: A descrição do prazo de entrega. Por exemplo. "Envio no mesmo dia em pedidos antes das 6PM (GMT+8)", "1~3 Dias", "2~5 Dias";
* gmtListed: Tempo de colocação no mercado, o formato é MM/dd/yyyy HH:mm:ss (por exemplo. 10/31/2013 01:23:20). Os produtos cuja tempo listada nos últimos 90 dias são novas chegadas;
* gmtModified: Tempo de modificação do produto, o formato é MM/dd/yyyy HH:mm:ss (por exemplo. 10/31/2013 01:23:20);
* warehouse: O armazém de entrega do produto. por exemplo CN, HK ou RU;
* stock: Se o armazém for um armazém ultramarino (NÃO CN), esse field fornecerá a quantidade atual em estoque; * moq: A quantidade do pedido mínima, o padrão é 1; * brandName: Nome da marca, por exemplo 'Huawei'; * modelLabel: Se o produto for multi-modelo, será usado para distinguir os atributos do produto(por exemplo. Cor, Tamanho...).
* modelList: Se o produto é multi-modelo, retornará uma lista de modelos.
Cada elemento na lista é composto de key-value, a key é o modelo, o value é a descrição do modelo. por exemplo. [ { key: 'S-MPH-001', value: 'White' }, { key: 'S-MPH-002', value: 'Black' } ] * optionList: Lista dos produtos semelhantes. { display: "text" or "picture", items: [ { itemNo: "S-MPH-0002", keywords: "Plastic Case for S7" } ] } * price: O preço atual do produto; * priceList: Lista de preço do produto, mude o preço de acordo com a quantidade comprada. Cada elemento na lista é um objeto de key-value, a key é a quantidade, o value é o preço correspondente. por exemplo. [ { key: 2, value: '2.98' }, { key: 10, value: '2.49' } ] * clearance: É o produto de liquidação? * orgPrice: Se o produto for um item de liberação ou em promoção, esse field terá o preço original;
* priceExpired: Se o produto for um produto promocional, esse field terá o tempo de expiração da atividade, o formato é MM/dd/yyyy HH:mm (por exemplo. 10/31/2013 00:00). Pode estar vazio;
* status: O status do produto. Veja o Apêndice B; * unitWeight: O peso de unidade do produto; * packQty: A quantidade dos produtos em um caixa; * packWeight: O peso dos produtos em um caixa, em 'kg' unidade; * packLength&packWidth&packHeight: A cubagem do produto em um caixa, em 'mm' unidade; * containsBattery: O produto contém bateria? true ou false;
* giftItemNo: Se o produto contiver um presente grátis, esse field terá o modelo de presente; * brands: Se este produto for um acessório, esse field listará os modelos de marca com os quais ele é compatível. Este field NÃO é retornado por '/openapi/product!search.do'.
Por exemplo: [ { brand: { name: "Apple" }, models: [ { name: "iPhone" }, { name: "iPad" } ] } ] * params: O parâmetros chave do produto. Este field NÃO é retornado por '/openapi/product!search.do'.
Por exemplo: [ { name: "Connectivity" , values: [ "WIFI", "3G", "GPS" ] } ]

Interface 4: Baixe as imagens do produto especificado

    (a) URL: /openapi/product!getImages.do 
    (b) Parâmetros: 
           * itemNo: O modelo do produto que você deseja obter.     
           * size: O tamanho das imagens do produto, em pixels, opcional.
O tamanho máximo é 800 x 800, algumas imagens de produtos antigos podem ser de 500 x 500.
* watermark: Marca d'água de imagem, opcional. (c) Resultado: Resumo: * Se o itemNo não existir, o código de resposta será 404, caso contrário, um fluxo zip será retornado.

Interface 5: Obtenha a imagem do produto alterada

    (a) URL: /openapi/product!getImageChangeList.do 
    (b) Parâmetros: 
           * pageSize: O número de alterações retornadas por página, a configuração padrão é 40, o máximo é 100;
* page: O número da página, a configuração padrão é 1; * gmtModifiedStart: Para obter os números de itens cujas imagens foram alteradas desde 'gmtModifiedStart', o formato é MM/dd/yyyy HH:mm:ss (por exemplo. 10/30/2016 11:14:01);
(c) Resultado: Resumo: * total: O número de itens total corresponde às condições que você especificou.
* pageCount: O número de páginas total.
* result: Uma matriz contém o número do item e o tempo em que suas imagens foram atualizadas, por exemplo. [{"itemNo": "S-MPH-001", "gmtModified": "10/31/2016 01:04:22"}]
    Baixe novamente da imagem do produto correspondente de acordo com a lista de modelos de produtos alterados.
      Dica: como obter as imagens alteradas?
            (1) Antes de chamar a changelist API, carregue o tempo salvo anteriormente T0 de db/file;
(2)
Chame a changelist API com gmtModifiedStart=T0, ela retornará os itens cujas imagens já foram alteradas desde T0;
(3)
Baixe novamente da imagem do produto do modelo do produto listado na lista de alterações;
(4)
Atualize T0 pelo máximo gmtModified entre os itens retornados pela API da lista de alterações, então salve T0 em db/file;
(5) Aumente o número da página e repita o passo 2~4 até que a API da lista de alterações não retorne nenhum dado;

Interface 6: Obtenha a lista do país para envio

    (a) URL: /openapi/order!getCountries.do 
    (b) Parâmetros: 
           NENHUM.
    (c) Resultado:
           Resumo: 
           * Obtenha a lista do país para envio, incluindo os estados / províncias que se existir.
           Fields:
           * id: O ID exclusivo do país;
           * code: O código do país,cumpra com ISO 3166;
           * name: O nome do país;
           * shipToState: Se calcular os custos de envio por estado / província? Talvez menos custo. Valor: true/false;
* stateList: Uma lista do estado / província opcional do país, os fields como abaixo: ** code: O código do estado / província; ** name: O nome do estado / província;

Interface 7: obtenha o preço e os custos de envio dos produtos

    (a) URL: /openapi/order!getPricesAndFreights.do 
    (b) Parâmetros: 
           * countryId: O ID exclusivo do país;
           * state:O código de estado, consulte '/openapi/order!getCountries.do', opcional;
           * items.#.itemNo, items.#.qty: A lista de itens para calcular o preço e os custos de envio. 
                   ** O # é um número inteiro para distinguir os produtos, por exemplo. items.1.itemNo, items.2.itemNo...
                   ** itemNo: O modelo do produto;
                   ** qty: A quantidade de modelos de produtos;
    (c) Resultado:
           Resumo: 
           * Obtenha o preço e os custos de envio pelos produtos.
           Fields:
           * priceList: A lista de preço do produto, os fields como abaixo:
                   ** productId: O ID exclusivo do produto;
                   ** itemNo: O modelo do produto;
                   ** qty: A quantidade do produtos;
                   ** price: O preço unitário do produto;
                   ** orgPrice: O preço unitário original pelo produto, o preço final pode ser mais barato;
                   ** amount: O valor do subtotal final pelo produto;
                   ** orgAmount: O valor do subtotal original pelo produto, o valor final pode ser mais barato;
           * freightList: A lista de frete, os fields como abaixo:
                   ** id: O ID exclusivo da forma de envio;
                   ** name: O nome da forma de envio;
                   ** logo: O URL do logo da forma de envio;
                   ** description: A descrição da forma de envio;
                   ** website: O website da forma de envio;
                   ** transitTime: A descrição do tempo de envio dos itens;
                   ** shippingCost: O custo de transporte pelos itens;

Interface 8: Crie um pedido

    (a) URL: /openapi/order!createOrder.do 
    (b) Parâmetros: 
           * siteNumber: Você possui um número de pedido ou outro número de referência adicional pelo SUNSKY pedido, opcional. Comprimento máximo: 32 caracteres.
           * useBalanceOnly: Se definido como true, você deve ter saldo suficiente no SUNSKY website, caso contrário, uma exceção de "INSUFFICENT_BALANCE" (saldo insuficiente) será descartada. 
                   Se definido como false, o pedido será criado com o método de pagamento da Transferência do Banco quando você não tiver saldo suficiente. A configuração padrão é false, opcional;
           * coupon: O código de coupons pode ser usado;
           * deliveryAddress.countryId: O ID exclusivo do país;
* deliveryAddress.state: O código de estado, consulte '/openapi/order!getCountries.do'. Se não houver informações de estado pelo país, por favor insira manualmente. Comprimento máximo: 40 caracteres; * deliveryAddress.city: Cidade. Comprimento máximo: 40 caracteres;
* deliveryAddress.company: Nome da empresa, opcional. Comprimento máximo: 100 caracteres; * deliveryAddress.address: Endereço da rua. Comprimento máximo: 100 caracteres; * deliveryAddress.address2: Endereço da rua 2, opcional. Comprimento máximo: 100 caracteres; * deliveryAddress.postcode: Código postal / zip código. Comprimento máximo: 20 caracteres;
* deliveryAddress.receiver: Nome completo do destinatário. Comprimento máximo: 32 caracteres; * deliveryAddress.telephone: Número de telefone do destinatário, opcional, mas recomendado. Comprimento máximo: 20 caracteres; * deliveryAddress.shippingWayId: O ID exclusivo da forma de envio. Você pode obter a lista de formas de envio chamando '/openapi/order!getPricesAndFreights.do', e obter a propriedade id do 'freightList' no resultado;
* deliveryAddress.shipment: drop -- dropshipping; wholesale -- compre para si mesmo, opcional. A configuração padrão é 'wholesale'; * items.#.itemNo, items.#.qty: Crie um elemento da lista de pedidos.
** O # é um número inteiro para distinguir os produtos, por exemplo. items.1.itemNo, items.2.itemNo... ** itemNo: O modelo do produto; ** qty: A quantidade do produto; (c) Resultado: Resumo: * Crie um SUNSKY pedido com os produtos e as informações do endereço de entrega. Fields: * number: O número do pedido; * status: O status do pedido. Veja o Apêndice C; * amount: O valor total dos produtos; * shippingCost: O custo de envio do pedido; * totalAmount: O valor total do pedido. Valor total = valor + custo de envio; * siteNumber: Consulte '/openapi/order!createOrder.do';
* packStatus: 0-Preparando; 1-Embalagem; 2-Embalado principalmente; 3-Embalado e pronto para enviar;
* trackingNumber: O número de rastreamento do pedido; * gmtCreated: O tempo criada do pedido, o formato é 'MM/dd/yyyy HH:mm'(i.e. 10/31/2013 05:01); * gmtPaid: O tempo pago do pedido, o formato é 'MM/dd/yyyy HH:mm'(i.e. 10/31/2013 05:01);
* gmtShipped: O tempo envio do pedido, o formato é 'MM/dd/yyyy HH:mm'(i.e. 10/31/2013 05:01);
* deliveryAddress.*: O endereço de envio. Consulte '/openapi/order!createOrder.do'; Feilds Adicionais: ** shippingWay.id: O ID exclusivo da forma de envio; ** shippingWay.name: O nome do forma de envio; * detailList: A lista detalhada do pedido, os fields como abaixo: ** productId: O ID exclusivo do produto; ** itemNo: O modelo do produto;
** title: O nome do produto; ** qty: A quantidade do produto; ** price: O preço do produto; ** amount: O valor total unitário; ** scaned: 0-Não está pronto para embalar; 1-Pronto para embalar; ** delayToShip: 0-Normal; 1-Atraso para enviar;

Interface 9: Busca pedidos

    (a) URL: /openapi/order!getOrderList.do 
    (b) Parâmetros: 
           * pageSize: A quantidade de pedidos de páginas, a configuração padrão é 40, o máximo é 100;
           * page: O número da página, a configuração padrão é 1;
           * status: O status do pedido, opcional. Veja o Apêndice C;
           * siteNumber: Opcional. Consulte '/openapi/order!createOrder.do';
           * gmtCreatedStart: Para obter os pedidos começando com 'gmtCreatedStart', o formato é MM/dd/yyyy(i.e. 10/31/2013), opcional;
* gmtCreatedEnd: Para obter o pedido para 'gmtCreatedEnd', o formato é MM/dd/yyyy(i.e. 10/31/2013), opcional;
(c) Resultado: Resumo: * Esta API retorna os pedidos que correspondem às condições que você especificou. Fields: * total: O número total do pedido corresponde às condições que você especificou. * pageCount: Número total de páginas. * result: A lista de pedidos, consulte o '/openapi/order!createOrder.do' para obter os detalhes. A 'detailList' NÃO é retornado por esta interface, por favor use '/openapi/order!getOrderDetails.do' para obter as informações dos produtos.


Interface 10: Obtenha os detalhes do pedido

    (a) URL: /openapi/order!getOrderDetails.do 
    (b) Parâmetros: 
           * number: O SUNSKY número do pedido;      
    (c) Resultado:
           Resumo: 
           * Esta API retorna as informação detalhada completos do pedido.
           Fields:
           * Consulte '/openapi/order!createOrder.do';


Interface 11: Verifique seu saldo do SUNSKY

    (a) URL: /openapi/order!getBalance.do 
    (b) Parâmetros: 
           NENHUM      
    (c) Resultado:
           Resumo: 
           * Esta API é usada para visualizar o saldo do SUNSKY.
           Fields:
           Apenas uma corda, por exemplo. "1200.00".


Interface 12: Obtenha seu histórico de conta de saldo

    (a) URL: /openapi/order!getBillList.do 
    (b) Parâmetros: 
           * pageSize: O número de contas por página, a configuração padrão é 40, o máximo é 100;
           * page: O número da página, a configuração padrão é 1;
           * gmtCreatedStart: Para obter os dados de conta começando com 'gmtCreatedStart', o formato é MM/dd/yyyy(i.e. 10/31/2013), opcional;
* gmtCreatedEnd: Para obter o pedido para 'gmtCreatedEnd', o formato é MM/dd/yyyy(i.e. 10/31/2013), opcional;
(c) Resultado: Resumo: * Esta API retorna os dados de conta que correspondem às condições especificadas.
Fields: * total: O número total de conta corresponde às condições que você especificou.
* pageCount: O número total da página de conta.
* result: A lista de faturamento, os fields como abaixo: * txType: Tipo da transação, por exemplo,prepay / createOrder / payForOrder / cancelOrder;
* refId: Se txType for createOrder / payForOrder / cancelOrder, o número do pedido será associado à conta;
* amount: O valor total da transação; * balance: O saldo após a transação; * gmtCreated: O tempo criado da conta, o formato é 'MM/dd/yyyy HH:mm'(por exemplo. 10/31/2013 05:01);


Interface 13: Obtenha os produtos populares

    (a) URL: /openapi/stats!getHotItems.do 
    (b) Parâmetros: 
           * countryId: O ID exclusivo do país;     
    (c) Resultado:
           Resumo: 
           * Essa API retorna o produto popular correspondente de acordo com o ID do país correspondente..
           Fields:
           * itemNo: O modelo do produto.


Interface 14: Obtenha a lista de coupons

    (a) URL: /openapi/coupon!getList.do 
    (b) Parâmetros: 
           * pageSize: O número de coupons por página, a configuração padrão é 40, o máximo é 100;
           * page: O número da página, a configuração padrão é 1;   
    (c) Resultado:
           Resumo: 
           * Esta API retorna os coupons que correspondem às condições que você especificou.
           Fields:
           * total: O número total de coupons corresponde às condições que você especificou.
           * pageCount: O número total das páginas.
           * result: A lista de códigos de coupons. Os fields como abaixo:
                     * code: Código do coupons;
                     * description: A descrição do coupons para explicar como usar o coupons;
                     * startTime: O tempo de início do coupons, o formato é 'MM/dd/yyyy HH:mm'(por exemplo. 10/31/2013 05:01);
                     * endTime: O tempo de expiração do coupons, o formato é 'MM/dd/yyyy HH:mm'(por exemplo. 10/31/2013 05:01);
                     * personLimit: O tempo que uma pessoa pode usar o coupons;
                     * qty: A quantidade do item em que o coupons pode ser usado para um desconto;
                     * discountType: Tipo de desconto
                                   1 -- valor com desconto fixo; 
                                   2 -- desconto em porcentagem; 
                                   3 -- preço fixo;
                     * discount: De acordo com o discountType diferente, o valor correspondente significa: 
                                   1 -- o valor de de desconto (tipo de corda); 
                                   2 -- a porcentagem (corda) após o desconto, 90 significa 10% de desconto; 
                                   3 -- o preço final (corda);
                     * targetType: 
                                   1 -- Categoria; 
                                   2 -- Produtos; 
                                   3 -- Valor limite do valor do pedido; 
                                   4 -- Marca;
                     * target: De acordo com o targetType diferente, o valor correspondente como abaixo:
                                   1 -- A lista de json da categoria (corda), por exemplo. [ { id: 'category id', name: 'Category name' } ]
                                   2 -- A lista de json do produto (corda), por exemplo. [ { id: 'product id', name: 'Product name', itemNo: 'Item #' } ]
                                   3 -- O valor limite do valor do pedido, i.e . 200;
                                   4 -- A lista de json da marca (corda), por exemplo. [ { name: 'HAWEEL' } ];
Apêndice A: Status da Categoria
    0 - Inválido
    1 - Válido
    2 - Excluído

Apêndice B: Status do Produto

    0 - Inválido
    1 - Válido
    2 - Excluído
    3 - Sem estoque

Apêndice C: Status do Pedido

    1 - Não pagam
    2 - Pagamento
    3 - Enviado
    4 - Cancelado
    5 - Entregue

Apêndice D: Código de Amostra (Java, PHP)

    OpenApiService.zip
Entre em contato com a SUNSKY
Gerente de vendas: Ms. Kay
+86-755-61302080
+86-15876430311
+86-15876430311
Mais