NAV
json

Primeiros passos

AliExpress Open Platform

AliExpress Open Platform é uma plataforma de desenvolvimento de aplicativos para o AliExpress. A plataforma fornece uma série de APIs e serviços para ajudar os desenvolvedores a criar aplicativos para o AliExpress. A plataforma também fornece uma série de ferramentas para ajudar os desenvolvedores a gerenciar seus aplicativos.

Sobre este documento

Este documento fornece uma visão geral da plataforma para desenvolvedores brasileiros. Para obter mais informações sobre as APIs e serviços, consulte a documentação da API.

Cadastro de conta de desenvolvedor

Você pode se registrar como ISV ou autodesenvolvedor aqui.

Approvação de conta de desenvolvedor

Após o registro, você pode entrar na plataforma e verificar o status da sua conta.

Criação de aplicativo

Após o registro, você pode criar um aplicativo clicando em "Create" na página App Console.

Gerenciamento de aplicativo

Após a criação do aplicativo, você pode gerenciar o aplicativo clicando em "Manage" na página App Console.

Approvação de aplicativo

Por padrão, o aplicativo criado está no modo de teste. Neste mode, você pode usar a API para testar seu aplicativo. Existem algumas limitações no modo de teste:

  1. número limitado de lojas autorizadas.
  2. número limitado de chamadas de API.
  3. tokens de acesso expiram em 24 horas.

Para usar o aplicativo em produção, você deve enviar uma solicitação de aprovação.

API calls

Ambiente de produção

Sempre siga este padrão ao fazer solicitações de API, api_path deve sempre ser um parâmetro do sistema:

https://api-sg.aliexpress.com/sync?method={api_path}&{query}

Para simplificar, é recomendado sempre fazer solicitações POST com system parameters em URL e business parameters em corpo de solicitação.

Por exemplo:

URL: https://api-sg.aliexpress.com/sync?app_key=123456&format=json&method=aliexpress.logistics.redefining.getonlinelogisticsservicelistbyorderid&session=50000**********************************&sign=E7E3F**********************&sign_method=sha256&simplify=true&timestamp=1681223300803

Body: order_id=3022167240092096

System parameters

Os parâmetros listados abaixo são comuns a todos os métodos da API. Para maior clareza do documento, eles não são mostrados nos exemplos de solicitação.

Parâmetro Tipo Obrigatório Descrição
app_key String Sim Chave de aplicativo.
session String Não Token de acesso. access_token
format String Sim Formato de resposta. json.
timestamp String Sim Timestamp. Em formato como 2017-11-11T12:00:00Z ou 1675532891453.
method String Sim Método da API. Também conhecido como api_path.
simplify String Não Simplificar a resposta. true.
sign_method String Sim Método de assinatura. sha256
sign String Sim Assinatura.

Business parameters

Além dos parâmetros do sistema que devem ser incluídos na solicitação de chamada de API, os business parameters específicos do método também devem ser incluídos.

Cálculo de Assinatura

Todas as solicitações de chamada de API devem ser assinadas para garantir a segurança da comunicação. A assinatura é calculada com base nos parâmetros de solicitação e na chave de aplicativo. Solicitações de chamada de API sem assinatura não serão processadas.

Selecionar os parâmetros

{
  "app_key": "33006842",
  "simplify": true,
  "format": "json",
  "timestamp": 1675534526072,
  "sign_method": "sha256",
  "method": "/auth/token/create",
  "code": "3_33006842_SZ1H8Oz9cEDw61nU1eitmABF7383"
}

Ordenar os parâmetros

Ordene os parâmetros selecionados em ordem alfabética pelo nome do parâmetro.

Concatenar os parâmetros

concatenated_string=app_key33006842code3_33006842_SZ1H8Oz9cEDw61nU1eitmABF7383formatjsonmethod/auth/token/createsign_methodsha256simplifytruetimestamp1675534526072

Concatenar os nome e valor dos parâmetros ordenados sem nenhum separador. Prefixar o valor do method no início no método novo.

Codificar o string concatenado

UTF-8

Calcular a assinatura

assume_that_app_secret=fb750490a63ee2218bf82a4f0c01a25f
sign=73D4F0A06612F6023A62543067466A0D62B5EF9F77DC4F48D083ED21D1E8614A

Enviar a solicitação

Enviar a solicitação HTTP com o método POST ou GET.

mais detalhes

Usar API com SDK

Você pode baixar o SDK do seu App Console e simplificar o uso da API. O SDK pode lidar com System parameters e a assinatura automaticamente.

Autenticação e Autorização

Você precisa ser autorizado pelo vendedor para que seu app se comunique com as APIs não públicas.

O processo de autorização é dividido em os seguintes passos:

Você deve gerar um link de autorização para o vendedor com as seguintes especificações:

https://api-sg.aliexpress.com/oauth/authorize?response_type=code&force_auth=true&redirect_url=${redirect_url}&client_id=${client_id}

Parâmetro Tipo Obrigatório Descrição
client_id String Sim Chave de aplicativo.
redirect_url String Sim URL de redirecionamento. Devem com a mesma domain com callback_url configurado no App Console.
response_type String Sim Deve ser code.
force_auth Boolean Não Se true, o vendedor será obrigado a fazer login novamente.
state String Não Parâmetro que vai ser retornado na URL de redirecionamento.
uuid String Não Parâmetro que vai ser retornado na URL de redirecionamento.

Guiar o vendedor a autorizar seu app

Guiar o vendedor abrir o link de autorização gerado no passo anterior. O vendedor será redirecionado para a página de login do AliExpress. O vendedor deve fazer login e autorizar seu app.

Obter o code

Após o vendedor autorizar seu app, o vendedor será redirecionado para a URL redirect_url configurada acima. O code será retornado na URL de redirecionamento. Se o state ou uuid foi configurado, eles serão retornados na URL de redirecionamento.

Obter o token de acesso

Você deve usar o code obtido no passo anterior para obter o token de acesso.

Method

/auth/token/create

Business parameters

{
  "code": "3_33006842_SZ1H8Oz9cEDw61nU1eitmABF7383"
}
Parâmetro Tipo Obrigatório Descrição
code String Sim O código obtido no passo anterior.

Resposta

{
  "refresh_token_valid_time": 1738263120048,
  "havana_id": "id-in-string-format",
  "expire_time": 1706727119024,
  "locale": "zh_CN",
  "user_nick": "br####",
  "access_token": "a-long-access-token",
  "refresh_token": "a-long-refresh-token",
  "user_id": "user-id",
  "account_platform": "seller_center",
  "refresh_expires_in": 63072002,
  "expires_in": 31536001,
  "sp": "ae",
  "seller_id": "seller-id",
  "account": "seller-email",
  "request_id": "2102fd2216751911180912262"
}

Pelo menos os seguintes parâmetros devem ser salvos para uso futuro:

Também é recomendado monitorar o valor de expires_in, refresh_token_valid_time e refresh_expires_in. Esses prazos de expiração podem estar sujeitos a alterações.

Atualizar o token de acesso

Quando o access_token expirar, você deve usar o refresh_token para obter um novo access_token. É recomendado que você atualize o access_token 30 minutos antes de expirar. O processo pode ser feito sem a intervenção do vendedor.

Method

/auth/token/refresh

Business parameters

{
  "refresh_token": "a-long-refresh-token"
}
Parâmetro Tipo Obrigatório Descrição
refresh_token String Sim O refresh_token obtido no passo anterior.

Resposta

{
  "refresh_token_valid_time": 1738263120048,
  "havana_id": "id-in-string-format",
  "expire_time": 1706727119024,
  "locale": "zh_CN",
  "user_nick": "br####",
  "access_token": "a-long-access-token",
  "refresh_token": "a-long-refresh-token",
  "user_id": "user-id",
  "account_platform": "seller_center",
  "refresh_expires_in": 63072002,
  "expires_in": 31536001,
  "sp": "ae",
  "seller_id": "seller-id",
  "account": "seller-email",
  "request_id": "2102fd2216751911180912262"
}

Guia para produtos

Configurações antes de publicar um produto

As seguintes condições devem ser atendidas para que um produto seja publicado no AliExpress:

  1. Aplicado e concedido permisão para categorias e marcas.
  2. Configurado templates de serviço.
  3. Configurado templates de envio.
  4. Configurado templates de medida.

Escolher uma categoria

Os categorias do AliExpress são organizados em uma hierarquia. Você deve escolher uma categoria que seja apropriada para o seu produto. Você pode baixar a lista de categorias usando o seguinte endpoint recursivamente:

aliexpress.category.redefining.getchildrenpostcategorybyid

O ID da raiz da categoria é 0.

Uma categoria de leaf é uma categoria que não tem subcategorias. Produtos só podem ser publicados em categorias de leaf.

Propriedades para produtos

Com categorias selecionadas, você pode obter as propriedades para produtos usando o seguinte endpoint:

aliexpress.category.redefining.getchildattributesresultbypostcateidandpath

Uma lista de propriedades para produtos é retornada. Cada propriedade vem com uma especificacão:

{
  "spec": 2,
  "required": false,
  "keyAttribute": false,
  "sku": false,
  "id": 196,
  "values": [
    {
      "id": 134,
      "names": {
        "zh": "交流",
        "en": "AC"
      }
    }
  ],
  "names": {
    "zh": "输出类型",
    "en": "Output Type"
  },
  "inputType": "STRING",
  "attributeShowTypeValue": "list_box"
}

Propriedade de SKU

Cada produto pode ter múltiplas variações(SKU). Cada variação é uma combinação de valores de propriedades de SKU. Por exemplo, uma camisa pode ter as seguintes propriedades de SKU:

  1. Cor: Vermelho, Azul, Amarelo
  2. Tamanho: M, L, XL, XXL

Então, a camisa terá 3x4 = 12 variações.

Para cade variação, a ordem dos valores de propriedades de SKU deve siguir a ordem das spec de propriedades de SKU. Por example, para categoria de id 348, a ordem das propriedades de SKU é 14, 5, 200007763.

[
  {
    "id": 5,
    "names": {
      "zh": "尺寸",
      "en": "Size"
    },
    "sku": true,
    "spec": 2
  },
  {
    "id": 14,
    "names": {
      "zh": "颜色",
      "en": "Color"
    },
    "sku": true,
    "spec": 1
  },
  {
    "id": 200007763,
    "names": {
      "zh": "发货地",
      "en": "Ships From"
    },
    "sku": true,
    "spec": 3
  }
]

Cada propriedade de SKU tem 4 campos

Campo Customização Descrição Exemplo
sku_property_id Não ID da propriedade de SKU 200009209
property_value_id Não ID do valor da propriedade de SKU 200660849
property_value_definition_name Sim Nome do valor da propriedade de SKU pink
sku_image Sim Imagem da variação "http://***.jpg"

Propriedades comuns

Propriedades comuns são usadas para informar o comprador. Há duas tipos de propriedades comuns:

  1. Propriedades definidas pela categoria.
  2. Propriedades definidas pelo vendedor.

Para propriedades definidas pela categoria, o seguinte tabela mostra os campos:

Condição attr_name_id attr_value_id attr_name attr_value
Com lista de valores, sem "other" opção Obrigatório Obrigatório Invalido Invalido
Com lista de valores, com "other" opção Obrigatório Obrigatório Invalido Obrigatório quando "other" é selecionado
Sem lista de valores Obrigatório Invalido Invalido Obrigatório

Para propriedades definidas pelo vendedor, o seguinte tabela mostra os campos:

attr_name_id attr_value_id attr_name attr_value
Invalido Invalido Obrigatório Obrigatório

Fotos do produto

Você pode enviar imagens para o produto usando o seguinte endpoint:

aliexpress.image.redefining.uploadtempimageforsdk

Descricao PC e Mobile

Você pode enviar a descrição do produto de versão PC e Mobile.

A descrição é um moduleList e você pode seguir o Original data format of detail para mais detalhes.

Modelo de frete

Você pode obter o modelos de frete usando o seguinte endpoint:

aliexpress.freight.redefining.listfreighttemplate

Parâmetros

Sem parâmetros.

Retorno

{
  "result_success": true,
  "aeop_freight_template_d_t_o_list": [
    {
      "template_name": "Alpha-Nomeado pelo vendedor",
      "template_id": 12345678901,
      "is_default": false
    },
    {
      "template_name": "Prod-Nomeado pelo vendedor",
      "template_id": 12345678902,
      "is_default": false
    }
  ]
}

Os modelos de frete são usados para relacionar os produtos com os métodos de frete. Eles também definem descontos de frete e regras de frete grátis.

Os modelos de frete devem ser configurados no painel do AliExpress antes de serem usados. Se a lista de modelos de frete estiver vazia, você deve informar o vendendor para configurar os modelos de frete. guia para configurar modelos de frete

Se mais de um modelo de frete estiver disponível, você deve dexar o vendedor escolher o modelo de frete quando publicar o produto.

Certificado ANATEL

De acordo com a regulamentação brasileira, certos produtos eletrônicos devem ter um certificado da ANATEL. A partir de 31 de agosto de 2024, os produtos de certas categorias sem o número do certificado da ANATEL vai ser penalizado.

Categorias que precisam do número do certificado da ANATEL

Os categorias que precisam do número do certificado da ANATEL estão listadas pelo esse artigo: AliExpress announcement regarding products subject to ANATEL certification

Também é possível verificar se um produto precisa do número do certificado da ANATEL usando o seguinte endpoint com category_id:

GET aliexpress.category.qualifications.list

{
  "aliexpress_category_qualifications_list_response": {
    "support": true,
    "qualification_module_list": {
      "qualification_module": [
        {
          "label": "Certificado ANATEL",
          "type": "image",
          "key": "item_anatel_certificate",
          "tips": "Faça o upload do certificado de certificação ANATEL brasileiro ou uma imagem clara da captura de tela do site oficial, o tamanho deve estar dentro de 3M",
          "required": false
        },
        {
          "label": "ANATEL Certificate_Number",
          "type": "text",
          "key": "ANATEL_Certificate_Number",
          "tips": "",
          "required": false
        },
        ...
      ]
    },
    "request_id": "21014bee17223693878538411"
  }
}

Por exemplo, para a categoria de id 5090301(celulares), existe um campo ANATEL_Certificate_Number que é um número de certificado da ANATEL.

Atualizar o número do certificado da ANATEL

Para atulizar o número do certificado da ANATEL, você pode usar os endpoints do produtos pelo campo item_qualifications. Um dos endpoints é aliexpress.solution.product.post

{
  "post_product_request": {
    ...
    "item_qualifications":
    [
      {
        "key": "ANATEL_Certificate_Number",
        "type": "text",
        "value": "1234567890"
      }
    ]
    ...
  }
}

O campo item_qualifications é um lista de objetos com os seguintes campos:

Campo Descrição Exemplo
key Chave do campo de qualificação "ANATEL_Certificate_Number"
type Tipo do campo de qualificação, pode ser "text" ou "image" "text"
value Valor do campo de qualificação "1234567890"

Criar um produto

Você pode criar um produto usando o seguinte endpoint:

aliexpress.solution.product.post

Status do produto

O produto pode ter os seguintes status:

product_status_type Descrição
onSelling O produto está online e disponível para compra.
offline O produto está offline e indisponível para compra.
auditing O produto está sendo auditado. O produto entrará no status editingRequired se a auditoria falhar.
editingRequired O produto precisa ser editado para ser auditado novamente.

Guia para pedidos

Esta guia tem como objetivo auxiliar na sincronização de pedidos do AliExpress para o seu sistema.

Endpoints para sincronização de pedidos

Initializar o processo de sincronização

Para cada novo vendedor autorizado, você deve inicializar o processo de sincronização de pedidos.

Sincronização incremental pelo API

Para sincronizar os pedidos incrementalmente, você deve obtendo a lista de pedidos usando o endpoint aliexpress.trade.redefining.findorderlistsimplequery repentinamente, e então obter detalhes de cada pedido usando o endpoint aliexpress.trade.new.redefining.findorderbyid.

Esta solução não é a ideal para grande volume de pedidos, o seguinte mecanismo de sincronização incremental é recomendado:

Sincronização incremental pelo Webhook

O AliExpress oferece um mecanismo de sincronização incremental por Webhook. Para utilizar este mecanismo, você deve configurar um webhook no painel do AliExpress.

Estrutura do webhook

{
  "havana_id": "123456789012",
  "seller_id": "1234567890",
  "message_type": 12,
  "data": {
    "msg_tag": "OrderConfirmed",
    "login_id": "br1234567890abcd",
    "order_status": "FINISH",
    "status_update_time_millis": 1684842846000,
    "pay_status": "PAID",
    "trade_order_id": "1234567890123456",
    "extraParams": {},
    "status_update_time": "2023-05-23 04:54:06"
  },
  "timestamp": 1684842846,
  "site":"ae_global"
}

O corpo do webhook é um JSON com os seguintes campos:

Campo Tipo Descrição
havana_id String ID do vendedor
seller_id String ID do vendedor
message_type Integer Tipo de mensagem
data Object Dados da mensagem
timestamp Integer Timestamp da mensagem
site String "ae_global"

O message_type indica o tipo de mensagem, você pode encontrar uma lista completa de tipos de mensagem na documentação oficial.

O header do webhook contém o Authorization. Por segurança, você deve verificar se o Authorization é válido.

Status de pedidos

documentação oficial

Code Descrição
PLACE_ORDER_SUCCESS Pedido criado, aguardando pagamento
IN_CANCEL Comprador solicitou cancelamento
WAIT_SELLER_SEND_GOODS Aguardando envio pelo vendedor
SELLER_PART_SEND_GOODS Vendedor enviou parte dos itens
WAIT_BUYER_ACCEPT_GOODS Aguardando aceitação do comprador
FUND_PROCESSING Processando pagamento
IN_ISSUE Em disputa
IN_FROZEN Em congelamento
WAIT_SELLER_EXAMINE_MONEY Aguardando análise de pagamento pelo vendedor
PAYMENT_PROCESSING Processando pagamento
RISK_CONTROL Controle de risco, aguardando aprovação(24 horas)
FINISH Pedido arquivado, verifique o motivo no campo endReason

Motivo do fim do pedido

documentação oficial

endReason é um campo que indica o motivo do fim do child order.

Pedido encerrado com sucesso

endReason Descrição
buyer_accept_goods Pedido sucesso com confirmação do comprador
buyer_accept_goods_timeout Pedido sucesso com timeout de confirmação do comprador

Pedido encerrado com falha

Os seguintes são alguns dos motivos de falha de um pedido, para uma lista mais completa, consulte a documentação oficial.

endReason Descrição
end_issue Pedido finalizado por disputa
trade_close Pedido finalizado por cancelamento
pay_timeout Pedido finalizado por timeout de pagamento
buyer_pay_timeout Pedido finalizado por timeout de pagamento do comprador
buyer_cancel_order Pedido finalizado por cancelamento do comprador
risk_closed Pedido finalizado por controle de risco
suspicious_trade Pedido finalizado por suspeita de fraude
confirm_payamount_timeout Pedido finalizado por timeout de confirmação de valor
reject_payamount Pedido finalizado por rejeição do pagamento
send_goods_timeout Pedido finalizado por timeout de envio
buyer_cancel_notpay_order Pedido finalizado por cancelamento do comprador antes do pagamento
buyer_cancel_order_in_risk Pedido finalizado por cancelamento do comprador durante o controle de risco
security_close Pedido finalizado por segurança
security_close1 Pedido finalizado por segurança
security_close2 Pedido finalizado por segurança
security_close5 Pedido finalizado por segurança
security_close6 Pedido finalizado por segurança
security_close7 Pedido finalizado por segurança
out_of_stock_overtime_close_order Pedido falhou por falta de estoque
productNotEnoughForSeller Pedido falhou por falta de estoque
Unable_to_ship Pedido falhou por tempo de envio excedido
otherReason Pedido falhou por outro motivo

Códigos de serviço logístico

solution_code Descrição
CAINIAO_BRL2L_STANDARD Cainiao flat-rate
BRL2L_STANDARD_CORREIOS Solução logística integrada com os Correios
AE_CAINIAO_BRL2L_STANDARD inutilizado
BRL2L_STANDARD_COMMERCIAL inutilizado

Guia para logística

Cainiao flat-rate é a solução logística preferida da AliExpress. Ele fornece uma maneira econômica para os vendedores entregarem encomendas rapidamente e com segurança. A solução comercial exige que os vendedores carreguem o NFe (Nota Fiscal Eletrônica) para cada encomenda. Esse seção fornece um guia passo a passo de como integrar a solução logística Cainiao.

Para vendedores da região não coberta pela solução logística Cainiao, os Correios são a solução logística preferida. Nesse case, NFe não é obrigatório, dependendo da política dos Correios.

Os vendedores podem associar cada produto a um solução logística pelo modelo de envio. Ao criar um ordem de envio, solução logística é selecionada automaticamente de acordo com o modelo de envio.

Pré-requisito de logística para lojas

As lojas deverão atender aos seguintes requisitos para usar API de logística:

  1. A loja deve ter um endereço de remetente válido.
  2. A loja deve ter um contrato de logística válido. Tem que ser confirmado manualmente no painel do AliExpress pelo vendedor com um pedido de logística.
  3. A loja precisa entrar em contato com o gerente de conta para ativar a solução logística desejada (Cainiao ou Correios).

Para confirmar acordos de cada serviço logístico que vendendor deseja usar, é necessário emitir um pedido de logística no painel do AliExpress manualmente:

Obter endereços de vendedores

Esta etapa obtém os address_id dos vendedores. address_id é necessário para criar ordens de envio.

aliexpress.logistics.local.getlogisticsselleraddresses

{
  "seller_address_query": "sender,pickup,refund"
}
Parâmetro Tipo Mandatório Descrição
seller_address_query String[] Sim tipo de endereço do vendedor

seller_address_query pode ser um dos seguintes valores:

seller_address_query também pode ser uma lista de valores unidos por vírgula: sender,pickup,refund.

Guia para configurar endereços de vendedores

Obter endereços de compradores

Devido à política de privacidade, os endereços dos compradores pode ser mascarados nos detalhes do pedido. Para obter endereços completos, você deve usar este endpoint.

aliexpress.solution.order.receiptinfo.get

{
  "param1": {
    "order_id": "1234567890654321",
  }
}

Carregar NF-e para pedidos

Esta etapa é necessária para solução logística Cainiao. Deve ser feito antes de criar ordens de envio.

/brazil/local/invoice/upload

{
  "file_name": "invoice.xml",
  "trade_order_id": "1234567890654321",
  "file_content": "file bytes in multipart/form-data..., not included for signature calculation"
}
Parâmetro Tipo Mandatório Descrição
file_name String Sim Nome do arquivo
trade_order_id String Sim ID do pedido
file_content byte[] Sim Conteúdo do arquivo em bytes

Criar pedido de envio

O endpoint requer endereços do vendedor e endereço do comprador, produtos e informações de envio. Se a solicitação for bem-sucedida, o endpoint retornará warehouse_order_id, first_mile_mode entre outras informações.

aliexpress.logistics.local.createwarehouseorder

{
  "trade_order_id": "1234567890654321",
  "package_num": 1,
  "is_agree_upgrade_reverse_parcel_insure": false,
  "undeliverable_decision": 0,
  "insurance_coverage": { "cent": 699, "currency_code": "USD" },

  "trade_order_from": "AE_BR",
  "top_user_key": 123456,

  "declare_product_d_t_os": [
    {
      "product_num": 1,
      "product_id": 1234567890123456,
      "product_declare_amount": 21.9,
      "product_weight": 1.26,

      "category_cn_desc": "Nome do Produto em português",
      "category_en_desc": "Nome do Produto",

      "sku_code": "123456",
      "sku_value": "Azul, XXL",
      "hs_code": "",

      "aneroid_markup": false,
      "contains_special_goods": false,
      "only_battery": false,

      "child_order_id": "1234567890654321",
    },
  ],
  "address_d_t_os": {
    {
    "receiver": {
        "street": "Rua da Usuária",
        "street_address": "Rua da Usuária",
        "city": "Nome da Cidade",
        "province": "SP",
        "country": "BR",
        "post_code": "99999-000",

        "name": "Nome da Usuária",
        "phone": "11999998888",
    },
    "sender": {
        "address_id": 1234567890123
    }
  }
}
Parâmetro Tipo Mandatório Descrição
trade_order_id String Sim ID do pedido
package_num Integer Sim Número de pacotes
is_agree_upgrade_reverse_parcel_insure Boolean Não Aceita o seguro reverso
undeliverable_decision Integer Sim Decisão de não entrega {0: retornar ao remetente, 1: descartar}
insurance_coverage Object Não Cobertura do seguro
trade_order_from String Sim Origem do pedido AE_BR
top_user_key Integer Sim ID do ISV
declare_product_d_t_os Object[] Sim Lista de produtos
address_d_t_os Object Sim Endereços do comprador e do vendedor

declare_product_d_t_os

Parâmetro Tipo Mandatório Descrição
product_num Integer Sim Número de produtos
product_id Long Sim ID do produto
product_declare_amount Double Sim Valor declarado do produto
product_weight Double Não Peso do produto
category_cn_desc String Sim Descrição do produto em português
category_en_desc String Sim Descrição do produto em inglês
sku_code String Sim Código SKU
sku_value String Sim Valor do SKU
hs_code String Não Código HS
aneroid_markup Boolean Não Produto com marcação aneróide
contains_special_goods Boolean Não Produto com conteúdo especial
only_battery Boolean Não Produto com bateria
child_order_id String Sim ID do pedido
{
  "result": {
    "warehouse_order_id": 123456789012345,
    "out_order_id": 1234567890123,
    "trade_order_id": 1234567890123456,
    "error_code": 1,
    "trade_order_from": "AE_BR",
    "first_mile_mode": "SELF_SEND"
  },
  "result_success": true,
}

Resposta

Resposta com result_success = true e result.error_code = 1 indica que a solicitação foi bem-sucedida.

A solicitação pode falhar e a causa do erro pode ser não obvia. Se o venderdor for novo no AliExpress, verifique o checklist de pré-requisitos.

Consultar status de envio

{
  "order_id": "1234567890654321",
}

O endpoint retorna os numeros de rastreamento internationallogistics_id e os status de envio logistics_status.

aliexpress.logistics.redefining.getonlinelogisticsinfo

{
  "trade_order_id": "1234567890654321",
}

Ou alternativamente:

aliexpress.logistics.querylogisticsorderdetail

Consultar rasreamento de envio

O endpoint retorna o rastreamento de envio do pedido.

aliexpress.logistics.redefining.querytrackingresult

{
  "to_area": "BR",
  "logistics_no": "CANI123456789tx",
  "service_name": "BRL2L_STANDARD_COMMERCIAL",
  "origin": "AE_BR",
  "out_ref": "1234567890654321",
}
Parâmetro Tipo Mandatório Descrição
to_area String Sim Código do país de destino, BR
logistics_no String Sim Número de rastreamento
service_name String Sim Nome do serviço de envio
origin String Sim Origem do pedido AE_BR
out_ref String Sim ID do pedido order_id

action_code será retornado e pode ser um dos seguintes valores:

action_code Descrição
LOGISTICS_PACKAGE_SEND Pedido criado
AE_WMS_SYSTEM_ACCEPT Pedido aceito pelo armazém
TRADE_WAREHOUSE_RECEIVE Pedido recebido pelo armazém
TRADE_WAREHOUSE_RECEIVE_FAIL Falha ao receber o pedido
TRADE_WAREHOUSE_PICKEDUP Pedido coletado
TRADE_WAREHOUSE_NO_PICKEDUP Pedido não coletado
TRADE_WAREHOUSE_ENTRY Pedido recebido pelo armazém
TRADE_WAREHOUSE_NO_ENTRY Pedido não recebido pelo armazém
LOGISTICS_SEC_DISPATCHED Pedido enviado pelo armazém
LOGISTICS_SEC_NO_DISPATCHED Pedido não enviado pelo armazém
LOGIS_CUSTOMS_CLR Pedido liberado pela alfândega
LOGIS_CUSTOMS_CLR_FAIL Falha ao liberar o pedido pela alfândega
TRADE_WAREHOUSE_HANDOVER Pedido entregue ao transportador
TRADE_WAREHOUSE_HANDOVER_FAIL Falha ao entregar o pedido ao transportador
LOGISTICS_PACKAGE_REFUND Pedido devolvido ao remetente
LOGISTICS_INTER_MAILNO Número de rastreamento emitido
LOGISTICS_PACKAGE_CANCEL Pedido cancelado
LOGISTICS_PACKAGE_NOT_CANCEL Falha ao cancelar o pedido
APPLY_CANCEL_ORDER Vendendor solicitou cancelamento do pedido
CAI_AIR_DELIVERY Pedido liberado pela segurança da aviação
CAI_AIR_DELIVERY_FAIL Falha ao liberar o pedido pela segurança da aviação
CAI_SIGN_IN Pedido recebido e assinado pelo comprador
CAI_SIGN_IN_FAIL Falha ao receber e assinar o pedido pelo comprador
LOGISTICS_INTERDELIVERY_EXCEPTION Exceção de entrega
PACKAGE_UNDELIVERABLE Pedido não entregue
LASTMILE_SC_ARRIVE Pedido chegou ao centro de distribuição

Obter etiqueta (PDF) de envio

O endpoint retorna a etiqueta de envio em formato PDF.

aliexpress.logistics.local.getwaybillbypdf

{
  "warehouse_order_id": 1234567890123456,
  "intl_tracking_no": "CANI123456789tx",
  "print_detail": false
}
Parâmetro Tipo Mandatório Descrição
warehouse_order_id Long Sim ID do order de envio order_id
intl_tracking_no String Sim Número de rastreamento
print_detail Boolean Não Imprimir detalhes do pedido

Declaração de envio

O endpoint declara o envio do pedido.

aliexpress.logistics.sellershipmentfortop

{
  "logistics_no": "CANI123456789tx",
  "send_type": "all",
  "service_name": "CAINIAO_BRL2L_STANDARD",
  "out_ref": "1234567890654321"
}
Parâmetro Tipo Mandatório Descrição
logistics_no String Sim Número de rastreamento
send_type String Sim Tipo de envio all ou part
service_name String Sim Nome do serviço de envio, CAINIAO_BRL2L_STANDARD ou BRL2L_STANDARD_CORREIOS
out_ref String Sim ID do pedido order_id

Guia para migração

Esta guia tem como objetivo auxiliar na migração da versão antiga para a versão atual da API do AliExpress.

A nova versão oferece recursos mais completos e melhor experiência de uso. Ao mesmo tempo, o caminho para a migração é simples e direto com poucas mudanças.

A plataforma legada está sendo desativada, com limite de tráfego em breve. Portanto, é importante que você migrar para a nova versão o quanto antes.

Qual versão da API estou usando?

Para saber qual versão da API você está usando, basta verificar o host da requisição.

Se o host não for api-sg.aliexpress.com, você está usando a versão antiga da API e deve migrar para a nova.

O que mudou?

A versão atual da API do AliExpress possui algumas mudanças em relação a versão antiga.

Mudaças na Autenticação

Mudanças nos API calls

Há algumas mudanças nos API calls da versão atual da API. Você pode seguir a seção API calls para mais detalhes. Alternativamente, você pode seguir a seção Usar API com SDK para utilizar o SDK.

Mudanças nos Endpoints

FAQ

Nome do produtos não aparece no Danfe

Para exibir corretamente o nome do produto no Danfe gerado por Cainiao, é necessário que o nome do produto seja inserido no campo category_cn_desc quando criar um pedido logistico no Cainiao pelo o seguinte endpoint:

aliexpress.logistics.local.createwarehouseorder

Formato do endereço do pedido

Houve uma alteração no formulário de endereço do pedido no AliExpress. Atualmente, existem duas versões coexistentes de endereços. No novo formato, o street_address é concatenado de 3 campos:

rua|numero|complemento.

Erro B-071-0203-01-16-002

Este erro ocorre quando a loja não assinou o contrato de logística ou termos de serviço. Para resolver, acessar o panel do AliExpress e assinar os documentos necessários.

Erro “null#package_height” is not valid

A dimensão do produto precisa ser números inteiros positivos em centímetros.

Personalizar propriedades de SKU

Cada categoria define um esquema para seus produtos. O esquema inclui como as variantes podem ser definidas e quais propriedades podem variar entre os SKUs. Por exemplo, muitas categorias suportam variantes de cores diferentes. Uma lista de cores padrão é fornecida para os vendedores escolherem e deve ser suficiente na maioria dos casos.

{
  "customized_name": true,
  "visible": true,
  "customized_pic": true,
  "key_attribute": false,
  "values": [
    {
      "names": "{\"en\":\"Army Green\",\"zh\":\"军绿色\"}",
      "id": 200004889,
      "has_sub_attr": false,
      "value_tags": "{}"
    },
    {
      "names": "{\"en\":\"Dark Grey\",\"zh\":\"深灰色\"}",
      "id": 200004890,
      "has_sub_attr": false,
      "value_tags": "{}"
    },
    ...
  ],
  "input_type": "STRING",
  "attribute_show_type_value": "check_box",
  "required": true,
  "spec": 1,
  "features": "{\"AE_FEATURE_PUserDefineStrategy\":\"ES,BR\",\"AE_FEATURE_PDisplayStrategy\":\"ES,BR\"}",
  "names": "{\"en\":\"Color\",\"zh\":\"颜色\"}",
  "support_enum_input": false,
  "id": 14,
  "sku": true
}

Mas certos produtos podem ter cores que não estão presentes na lista fornecida. Neste caso é necessário verificar o campo customized_name e customized_pic.

{
  "sku_property_id": "14",
  "property_value_id": "29",
  "property_value_definition_name": "Wine Red",
  "sku_image": "https://ae01.alicdn.com/kf/Sebc6e4fda11f45a7997******.jpg"
}

Se algum dos campos customized_name ou customized_pic estiverem marcados como true, você pode definir o texto ou a imagem da variante.

Isto significa que além de definir sku_property_id e property_value_id em aeop_s_k_u_property, você também deve definir property_value_definition_name e sku_image em aeop_s_k_u_property_value.

Erro TPL_NOT_EXIT

Este erro ocorre quando o produto não tem um modelo de frete ou o id fornecido não existe.

Para resolver, verificar seção Modelo de frete.