Guia de gerenciamento de listagens

Como integrar com a SP-API para gerenciar fluxos de trabalho de listagens.

Este guia resume as etapas que você pode seguir para criar os melhores fluxos de trabalho para gerenciamento de listagens de produtos por meio da integração com a API do parceiro de vendas (SP-API). Seguindo as etapas recomendadas, você pode minimizar o atrito que os parceiros de vendas podem enfrentar ao gerenciar suas listagens na Amazon.

Versões das APIs

Este guia faz referência às operações nas seguintes seções da SP-API. Para obter informações mais detalhadas sobre as operações de API individuais listadas, siga os links referenciados.

Iniciando o processo de gerenciamento de listagem

O gerenciamento de itens na Amazon pode assumir várias formas, dependendo do seu caso de uso específico. É possível que você atualize um SKU por completo, parcialmente ou até mesmo exclua-o depois de criado. As etapas descritas aqui fornecem exemplos de como as APIs podem ser compostas para fluxos de trabalho de gerenciamento das listagens.

Atualizando um item de listagem

Siga estas etapas para atualizar os atributos de um item de listagem.

  1. Identifique o SKU do vendedor que precisa ser atualizado.

  2. Se você precisar checar quais os atributos existentes para aquele SKU, chame a operação getListingsItem usando o SKU identificado. Certifique-se de incluir attributes e issues na lista de valores para o parâmetro includedData, dessa forma você saberá quais são os problemas e atributos daquele sku.

  3. Chame a operação getDefinitionsProductType para retornar o JSON Schema que descreve os atributos e restrições para o tipo de produto. Use LISTING ou LISTING_PRODUCT_ONLY para o parâmetro requirements dependendo dos atributos que serão atualizados. Consulte Requisitos de listagem para obter mais informações.

  4. Prepare o envio da listagem com atributos existentes no esquema JSON para o productType desejado. Valores não editáveis ("editable": false na API de definitions de tipo de produto) não podem ser modificados por outros valores. Veja um exemplo abaixo de retorno da API de definitions para o productType de BUILDING_MATERIAL e requirements igual a LISTING. O campo nome da marca está como "editable": false, o que significa que não é possível de alteração nesse caso.

1475
  1. Verifique se os dados da listagem atendem aos requisitos antes do envio usando os utilitários de validação do JSON Schema. Consulte Amazon Product Type Definition Meta-Schema (v1) para obter mais detalhes sobre como validar dados com o tipo de produto JSON Schemas. Você deve garantir que os atributos necessários sejam fornecidos, que todos os valores sejam válidos, que quaisquer regras condicionais sejam consideradas e que todos os requisitos de esquema sejam atendidos.

  2. Chame o patchListingsItem ou putListingsItem dependendo se você deseja fazer uma atualização parcial ou completa.

    Os vendedores podem atualizar uma listagem fornecendo os atributos individuais a serem atualizados usando a operação patchListingsItem (atualização parcial) ou fornecendo todos os atributos do item da listagem usando a operação putListingsItem (atualização completa).

    Para os vendedores, o uso da operação putListingsItem substituirá os atributos de fato do produto enviados anteriormente e mesclará os atributos de termo de vendas enviados anteriormente. Por exemplo, caso você envie uma atualização usando o putListingsItem e não informe todos os dados opcionais existentes no produto isso resultará na remoção desses dados ausentes. Por outro lado, no entanto, caso você envie uma atualização usando o putListingsItem e não envie informações de valor de preço de oferta comprável isso não resultará na remoção dessas informações. Os vendedores podem usar o patchListingsItem para adicionar, substituir ou remover um ou mais valores de atributo. Para o patch você não precisa enviar sempre todos os dados, incluindo aqueles que não foram alterados, isto é, nesse caso você pode só enviar o que deseja sem afetar o que foi omisso.

📘

Atualizações parciais vs. completas

Use a operação patchListingsItem para fazer atualizações parciais em uma lista de produtos. A vantagem de usar a operação patchListingsItem é que você só precisa incluir os atributos que estão mudando (e são editáveis). No entanto, também é possível adicionar, substituir ou excluir atributos usando a operação putListingsItem. Se você optar por usar a operação putListingsItem, deverá preencher previamente o JSON de atualização com a saída do [getListingsItem] (/amazon-portuguese/reference/listagem-listar-itens) para todos os atributos de identificação (incluindo atributos não editáveis) para evitar erros de envio. Isso significa essencialmente substituir os dados de atributo de toda a listagem. Por esse motivo, usar a operação putListingsItem é mais adequado para uma atualização completa.

Exemplo de um PATCH atualizando somente preço e estoque:

{
"productType":"PRODUCT",
  "patches":[
    {
      "op":"replace",
      "path":"/attributes/fulfillment_availability",
      "value":[
        {
          "fulfillment_channel_code":"DEFAULT",
          "lead_time_to_ship_max_days":"30",
          "quantity":3,
        }
      ]
    },
    {
      "op":"delete",
      "path":"/attributes/fulfillment_availability",
      "value":[
        {
          "fulfillment_channel_code":"AMAZON_NA"
        }
      ]
    },
    {
      "op":"replace",
      "path":"/attributes/purchasable_offer",
      "value":[
        {
          "marketplace_id": "A2Q3Y263D00KWC",
          "currency": "BRL",
          "our_price": [
            {
              "schedule": [
                {
                  "value_with_tax": 5.00
                }
              ]
            }
          ],
        }
      ]
    }
  ]
}

🚧

Atualização de estoque de ofertas FBA

Atualmente não é possível atualizar via API o estoque de ofertas convertidas para FBA.

Para ofertas FBA Logística da Amazon, a gestão de estoque deve ser realizada diretamente no Seller Central e para ofertas FBA Onsite Logística da Amazon, a gestão de estoque deve ser realizada na ferramenta Onsite.

  1. Cheque a resposta para identificar se o status do envio foi ACCEPTED ou INVALID. Se ACCEPTED, as validações iniciais foram aprovadas e os dados foram enviados para processamento adicional com o catálogo da Amazon. Se invalid, um ou mais problemas de validação síncrona impediram a aceitação da subida do produto (quase sempre é algum atributo obrigatório faltando, valores válidos incorreto, etc...). Se ACCEPTED, as validações iniciais foram aprovadas e os dados foram enviados para processamento adicional com o catálogo da Amazon (essa segunda etapa de validação é de forma assíncrona. As notificações a seguir ajudarão a trackear esses status); consulte Como lidar com problemas de itens de listagens para obter mais informações. Corrija os problemas de validação e reenvie.

  2. Após receber ACCEPTED, aguarde as notificações assíncronas de LISTINGS_ITEM_STATUS_CHANGE ou LISTINGS_ITEM_ISSUES_CHANGE para obter maiores informações sobre o produto e seu status.

Você deve assinar as notificações mencionadas para recebê-las. Consulte Inscrever-se nas notificações de listagens para obter mais informações.

Excluindo um item de listagem

Chame a operação deleteListingsItem informando o SKU desejado para excluir a listagem. Veja um exemplo abaixo:

1489

Consulte Tutorial: Excluir uma listagem no Guia de Casos de Uso de Item de Listagens para obter mais informações sobre como excluir uma listagem.

Criação e atualização de itens de listagens em massa

Os fluxos de trabalho listados acima para criar, atualizar e excluir itens de listagem operam em itens individuais, um de cada vez. Para fluxos de trabalho de alto volume em que os mecanismos de envio em massa são preferidos, você também pode usar o tipo de feed JSON_LISTINGS_FEED com a API de feeds. O tipo de feed JSON_LISTINGS_FEED é contratualmente compatível com a API Listings Items e os atributos nas mensagens de feed seguem os mesmos esquemas de definição de ProductType fornecidos pelo getDefinitionsProductType. Esses envios de feed enfileirarão seu envio em massa e, em seguida, chamarão a API de listagem de itens em seu nome. Depois de concluído, o relatório de processamento do feed incluirá qualquer feedback de validação fornecido pela API de listagem de itens.

Consulte Fluxo de trabalho para enviar um feed para obter detalhes sobre como enviar um feed e consulte o JSON_LISTINGS_FEED Schema para o esquema do tipo de feed.

Devo enviar em massa usando JSON_LISTINGS_FEED ou individualmente com a API Listings Items?

Você pode usar os mesmos dados ao enviar individualmente para a API Listings Items ou em massa com o JSON_LISTINGS_FEED. Se você vai usar as operações individuais da API de listagens de itens, enviar em massa com o JSON_LISTINGS_FEED ou usar uma combinação de ambos depende de você, do seu caso de uso e suas preferências. Você pode optar por usar o JSON_LISTINGS_FEED para executar um carregamento inicial de seus dados na Amazon e fazer a transição para usar as APIs de listagem de itens para manter esses dados ao longo do tempo. Você pode optar por usar exclusivamente o JSON_LISTINGS_FEED para realizar sincronizações diárias de alterações na Amazon. Ou você pode optar por usar exclusivamente a API de listagem de itens para receber feedback de validação síncrona ao enviar seus dados um item por vez.

A tabela a seguir compara a API de listagem de itens e os recursos JSON_LISTINGS_FEED para ajudá-lo a decidir qual usar em seus fluxos de trabalho:

Listings Items API JSON_LISTINGS_FEED Detalhes
Limite de requests 5 requisições por segundo por operação (putListingsItem, patchListingsItem, deleteListingsItem) 1 envio de feed a cada 5 minutos Cada operação da API de listagem de itens tem uma limite de request separada, permitindo que você envie até 5 itens por segundo para cada uma. O JSON_LISTINGS_FEED permite um envio de feed a cada 5 minutos. O JSON_LISTINGS_FEED enviará itens para a API de listagem de itens em seu nome e está sujeito às mesmas taxas de limitação do envio direto para a API de listagem de itens.
Itens por requisição 1 1,500 to 10,000 As operações da API Listings Items aceitam dados de um item por vez. Os envios JSON_LISTINGS_FEED podem conter até 10.000 mensagens. O tamanho mínimo de feed sugerido é de 1.500 itens; usar a API Listings Items diretamente é mais rápido com menos de 1.500 itens em um período de 5 minutos.
Feedback de validação de erros Síncrono Assíncrono As operações da API Listings Items fornecem um feedback majoritariamente síncrono durante a solicitação para problemas que impedem a aceitação dos dados. O JSON_LISTINGS_FEED primeiro recebe o seu feed com o conteúdo JSON, coleta o feedback que recebe ao enviar para a API Listings Items e fornece de forma assíncrona um relatório de processamento contendo o feedback de validação de erros, isto é, não tem nenhuma validação inicial como temos na API de listagem de itens.
Enfileiramento Aceitação direta no catálogo da Amazon Enfileirado para aceitação assíncrona no catálogo da Amazon Os envios para a API Listings Items são aceitos de forma síncrona no catálogo da Amazon para processamento adicional. Os envios JSON_LISTINGS_FEED são enfileirados para envio assíncrono à API Listings Items, aumentando a quantidade de processamento que ocorre antes que os envios sejam aceitos no catálogo da Amazon para processamento adicional. Não há garantia de que esses envios sejam processados ​​na mesma ordem em que aparecem no feed.

Consulte Evite contratempos para sellers grandes e tenha desenvolvido a API de listagem de items e a JSON_LISTINGS_FEED para operarem juntas para obter dicas de melhores práticas sobre processamento em massa e unitário.

Como lidar com problemas de itens de listagens

Podem ocorrer problemas nos itens das listagens durante o envio ou durante o processamento assíncrono após a aceitação. Essas questões são disponibilizadas através dos seguintes mecanismos:

  1. Para problemas que ocorrem durante envios síncronos para a API Listings Items, as respostas contêm a lista de problemas que impediram a aceitação do envio. Conforme mencionado, a API de listagem tem uma primeira validação de forma síncrona, o que significa que alguns erros já podem ser capturados logo no input do seu request. Para isso, monitore a resposta para identificar se o status do envio foi ACCEPTED ou INVALID durante a submissão. Se invalid, conforme exemplo abaixo, um ou mais problemas de validação síncrona impediram a aceitação da subida do produto (quase sempre é algum atributo obrigatório faltando, valores válidos incorreto, etc...); consulte Como lidar com problemas de itens de listagens para obter mais informações. Corrija os problemas de validação inicial e reenvie.
1491

Se ACCEPTED, conforme exemplo abaixo, as validações iniciais foram aprovadas e os dados foram enviados para processamento adicional com o catálogo da Amazon (essa segunda etapa de validação é de forma assíncrona - item 3 abaixo.

1488
  1. Para problemas que ocorrem durante a validação assíncrona de envios de JSON_LISTINGS_FEED para as APIs de listagem de itens, o relatório de processamento de feed contém a lista de problemas que impediram a aceitação dos envios.

Veja abaixo um exemplo de body JSON_LISTINS_FEED. É possível ver que são encaminhadas mensagens para 3 skus diferentes do mesmo seller, uma delas deleta o sku My-SKU-A, a outra tenta criar um sku novo My-SKU-B (caso o SKU já exista o UPDATE fará uma atualização completa nele) e por último atualiza uma informação de um sku My-SKU-C já existente.

A Amazon receberá esse feed, estando certo ou não e processará de forma assincrona. Nessa submissão do feed foi recebido o id de feed igual a 112723019334. Ao consultar o feed de forma assíncrona foi possível verificar que a API retornou um erro (My-SKU-B não existe no catálogo ainda e não tem os dados obrigatórios completos para criação de um novo sku).

{
    "header": {
        "sellerId": "A2ZPJ4TLUOSWY8",
        "version": "2.0",
        "issueLocale": "pt_BR"
    },
    "messages": [
        {
            "messageId": 1,
            "sku": "My-SKU-A",
            "operationType": "DELETE"
        },
        {
            "messageId": 2,
            "sku": "My-SKU-B",
            "operationType": "UPDATE",
            "productType": "LUGGAGE",
            "requirements": "LISTING",
            "attributes": {
                "item_name": [
                    {
                        "value": "My Title My-SKU-B ",
                        "language_tag": "pt_BR",
                        "marketplace_id": "A2Q3Y263D00KWC"
                    }
                ],
                "fulfillment_availability": [
                    {
                        "fulfillment_channel_code": "DEFAULT"
                    }
                ]
            }
        },
        {
            "messageId": 3,
            "sku": "My-SKU-C",
            "operationType": "PATCH",
            "productType": "LUGGAGE",
            "patches": [
                {
                    "op": "replace",
                    "path": "/attributes/fulfillment_availability",
                    "value": [
                        {
                            "fulfillment_channel_code": "DEFAULT",
                            "quantity": 10
                        }
                    ]
                }
            ]
        }
    ]
}

Retorno com erro:

{
    "header": {
        "sellerId": "A2ZPJ4TLUOSWY8",
        "version": "2.0",
        "feedId": "112723019334"
    },
    "issues": [
        {
            "messageId": 2,
            "code": "90220",
            "severity": "ERROR",
            "message": "'country_of_origin' é obrigatório, mas não fornecido.",
            "attributeName": "country_of_origin"
        },
        {
            "messageId": 2,
            "code": "90220",
            "severity": "ERROR",
            "message": "'model_name' é obrigatório, mas não fornecido.",
            "attributeName": "model_name"
        },
        {
            "messageId": 2,
            "code": "90220",
            "severity": "ERROR",
            "message": "'brand' é obrigatório, mas não fornecido.",
            "attributeName": "brand"
        },
        {
            "messageId": 2,
            "code": "90220",
            "severity": "ERROR",
            "message": "'condition_type' é obrigatório, mas não fornecido.",
            "attributeName": "condition_type"
        },
        {
            "messageId": 2,
            "code": "90220",
            "severity": "ERROR",
            "message": "'color' é obrigatório, mas não fornecido.",
            "attributeName": "color"
        },
        {
            "messageId": 2,
            "code": "90220",
            "severity": "ERROR",
            "message": "'bullet_point' é obrigatório, mas não fornecido.",
            "attributeName": "bullet_point"
        },
        {
            "messageId": 2,
            "code": "90220",
            "severity": "ERROR",
            "message": "'supplier_declared_dg_hz_regulation' é obrigatório, mas não fornecido.",
            "attributeName": "supplier_declared_dg_hz_regulation"
        },
        {
            "messageId": 2,
            "code": "90220",
            "severity": "ERROR",
            "message": "'department' é obrigatório, mas não fornecido.",
            "attributeName": "department"
        },
        {
            "messageId": 2,
            "code": "90220",
            "severity": "ERROR",
            "message": "'item_type_name' é obrigatório, mas não fornecido.",
            "attributeName": "item_type_name"
        },
        {
            "messageId": 2,
            "code": "90220",
            "severity": "ERROR",
            "message": "'model_number' é obrigatório, mas não fornecido.",
            "attributeName": "model_number"
        },
        {
            "messageId": 2,
            "code": "90220",
            "severity": "ERROR",
            "message": "'material' é obrigatório, mas não fornecido.",
            "attributeName": "material"
        },
        {
            "messageId": 2,
            "code": "90220",
            "severity": "ERROR",
            "message": "'product_description' é obrigatório, mas não fornecido.",
            "attributeName": "product_description"
        },
        {
            "messageId": 2,
            "code": "90220",
            "severity": "ERROR",
            "message": "'recommended_browse_nodes' é obrigatório, mas não fornecido.",
            "attributeName": "recommended_browse_nodes"
        },
        {
            "messageId": 2,
            "code": "90220",
            "severity": "ERROR",
            "message": "'supplier_declared_material_regulation' é obrigatório, mas não fornecido.",
            "attributeName": "supplier_declared_material_regulation"
        },
        {
            "messageId": 2,
            "code": "90220",
            "severity": "ERROR",
            "message": "'externally_assigned_product_identifier' é obrigatório, mas não fornecido.",
            "attributeName": "externally_assigned_product_identifier"
        },
        {
            "messageId": 2,
            "code": "90220",
            "severity": "ERROR",
            "message": "'merchant_suggested_asin' é obrigatório, mas não fornecido.",
            "attributeName": "merchant_suggested_asin"
        },
        {
            "messageId": 2,
            "code": "90220",
            "severity": "ERROR",
            "message": "'style' é obrigatório, mas não fornecido.",
            "attributeName": "style"
        }
    ],
    "summary": {
        "errors": 17,
        "warnings": 0,
        "messagesProcessed": 3,
        "messagesAccepted": 2,
        "messagesInvalid": 1
    }
}
  1. Para problemas que ocorrem após o recebimento de envios para a API de listagem de itens ou JSON_LISTINGS_FEED, a operação [getListingsItem]/amazon-portuguese/reference/listagem-listar-itens) fornece a lista de problemas quando o parâmetro de solicitação includedData inclui issues. Além disso, se estiver inscrito na notificação LISTINGS_ITEM_ISSUES_CHANGE, uma notificação por push será enviada quase em tempo real à medida que os problemas forem registrados. Isso permite que você crie manipulação de resposta orientada a eventos para recuperar mais detalhes da operação getListingsItem assim que os problemas ocorrerem, em vez de pesquisar repetidamente a operação.

Você deve assinar as notificações mencionadas para recebê-las. Consulte Inscrever-se nas notificações de listagens para obter mais informações.

Exemplo:

Repare que a notificação LISTINGS_ITEM_ISSUES_CHANGE, exemplo abaixo, informará se algum produto recebeu algum erro ou warning.

{
  "NotificationVersion":"1.0",
  "NotificationType":"LISTINGS_ITEM_ISSUES_CHANGE",
  "PayloadVersion":"1.0",
  "EventTime":"2021-02-03T18:59:30.194Z",
  "Payload":{ 
    "SellerId": "AXXXXXXXXXXXXX",
    "MarketplaceId": "ATVPDKIKX0DER",
    "Asin": "BT6RZ7JM4H",
    "Sku": "NLS-SHOES-03",
    "Severities": [
      "ERROR",
      "WARNING"
    ],
    "EnforcementActions": [
      "SEARCH_SUPPRESSED"
    ]
  },
  "NotificationMetadata":{
    "ApplicationId":"amzn1.sellerapps.app.f1234566-aaec-55a6-b123-bcb752069ec5",
    "SubscriptionId":"93b098e1-c42-2f45-93a1-78910a6a8369",
    "PublishTime":"2021-02-03T18:59:30.194Z",
    "NotificationId":"0e999936-da2c-4f9c-9fc2-02b67bae5f49"
  }
}

Para saber qual foi a mensagem do erro ou warning recebido você pode chamar a operação getListingsItem. Importante mencionar que "warning" não barra a subida do produto, mas "error" impede que o produto suba com sucesso, portanto, sempre consulte a operação GetListingItem após um severity do tipo "error".

1491

Envio de preço e estoque para itens de listagens

Os atributos relacionados à preço e estoque estão incluídos nos esquemas de produto retornados pelo getDefinitionsProductType (por exemplo, purchasable_offer - preço, fulfillment_availability - estoque).

Segue abaixo os detalhes de cada atributo.

Parâmetros do purchasable_offer

AtributoExemploDescrição
marketplace_id

Obrigatório
A2Q3Y263D00KWCIdentificador do markeplace na Amazon.

Consulte o Guia do desenvolvedor da API do parceiro de vendas para obter a lista de identificadores da Amazon marketplace.
Tipo: string
currency

Obrigatório
BRLMoeda.
our_price

Obrigatório
Veja o exemplo de requisiçãoDados do preço padrão do produto.

our_price\schedule\value_with_tax: Valor padrão.
start_at2023-01-30T19:57:02.327ZIndica o início da oferta de compra do produto. Se não for enviado, será considerado início imeditado.

Tipo: string no formato de date ou date time.
end_at2023-03-30T19:57:02.327ZIndica o fim da oferta de compra do produto. Se não for enviado, não terá fim (enquanto tiver estoque).

Tipo: string no formato de date ou date time.
minimum_seller_allowed_priceVeja o exemplo de requisiçãoIndica o preço mínimo permitido pelo vendedor para anunciar a oferta de compra do produto.
maximum_seller_allowed_priceVeja o exemplo de requisiçãoIndica o preço máximo permitido pelo vendedor para anunciar a oferta de compra do produto.
discounted_priceVeja o exemplo de requisiçãoDados do preço promocional do produto.

discounted_price\schedule\start_at: Data de início da promoção.
discounted_price\schedule\end_at: Data final da promoção.
discounted_price\schedule\value_with_tax: Valor promocional.

Parâmetros do fulfillment_availability

AtributoExemploDescrição
fulfillment_channel_code

Obrigatório
DEFAULTIndica o canal de envio do produto.

DEFAULT: Enviado pelo vendedor ou DBA.

AMAZON_NA: Entregue pela Amazon (AFN).
quantity1Quantidade do item que está sendo disponibilizado para venda. Esta é a ordem de compra e venda atual de inventário.

Tipo: inteiro
lead_time_to_ship_max_days2Tempo, em dias, entre quando recebe uma encomenda de um artigo e quando pode enviar o artigo.

(tempo de preparo da encomenda - handling time, crossdocking).

Mínimo: 1
Máximo: 30

Tipo: inteiro
is_inventory_availableTRUESe verdadeiro (TRUE), o SKU está sempre disponível. Se for falso (FALSE), o SKU não está disponível.

Enviar apenas quando o quantity não for enviado.

Tipo: booleano
restock_date2023-01-30T19:57:02.327ZData em que o produto será reabastecido.

Tipo: string no formato de date ou date time.

Exemplo de Requisição

{
   "productType":"PRODUCT",
   "patches":[
		{
         "op":"replace",
         "path":"/attributes/purchasable_offer",
         "value":[
            {
               "marketplace_id":"A2Q3Y263D00KWC",
               "currency":"BRL",
               "our_price":[
                  {
                     "schedule":[
                        {
                           "value_with_tax":500.00
                        }
                     ]
                  }
               ],
               "discounted_price":[
                  {
                     "schedule":[
                        {
                           "start_at":"2023-02-28T19:57:02.327Z",
                           "end_at":"2023-03-30T19:57:02.327Z",
                           "value_with_tax":400.00
                        }
                     ]
                  }
               ]
            }
         ]
      },
      {
         "op":"replace",
         "path":"/attributes/fulfillment_availability",
         "value":[
            {
               "fulfillment_channel_code": "DEFAULT",
               "quantity": 1,
               "lead_time_to_ship_max_days": 2,
               "restock_date": "2023-01-30T19:57:02.327Z"
            }
         ]
      },
      {
         "op":"delete",
         "path":"/attributes/fulfillment_availability",
         "value":[
            {
               "fulfillment_channel_code":"AMAZON_NA"
            }
         ]
      }
   ]
}

Exemplo de Resposta

{
    "sku": "AMZ_SKU_Test",
    "status": "ACCEPTED",
    "submissionId": "37287be4b64e40b3aad34449e70da68f",
    "issues": []
}

❗️

Evite oferta híbrida!

Na requisição de atualização de estoque de logística do vendedor, envie a operação "delete" para o "fulfillment_channel_code":"AMAZON_NA" além da operação "replace" para "fulfillment_channel_code":"DEFAULT" para evitar que a oferta fique disponível em ambos os modelos de logística na Amazon, causando o que chamamos de oferta híbrida.

Envio de imagens para itens de listagens

Os atributos relacionados à imagem estão incluídos nos esquemas de produto retornados pelo getDefinitionsProductType (por exemplo, main_offer_image_locator, other_offer_image_locator_1).

Uma imagem principal do produto e até 9 imagens secundárias podem ser carregadas usando a API Listings Items chamando o putListingsItem ou patchListingsItem e fornecendo os URLs da imagem.

Segue exemplo de parte do JSON mostrando alguns campos relacionados a subida de imagens:

"main_product_image_locator": {
            "marketplace_id": "A2Q3Y263D00KWC",
            "media_location": "http://localhost:3000/files/c8a934791778f64650c57dd3c94d8d47-urlexemplohospedadanos3amazon.png"
        },
        "other_product_image_locator_1": {
            "marketplace_id": "A2Q3Y263D00KWC",
            "media_location": "http://localhost:3000/files/c8a934791778f64650c57dd3c94d8d47-urlexemplohospedadanos3amazon.png"
        },
         "other_product_image_locator_2": {
            "marketplace_id": "A2Q3Y263D00KWC",
            "media_location": "http://localhost:3000/files/c8a934791778f64650c57dd3c94d8d47-urlexemplohospedadanos3amazon.png"
        },
         "other_product_image_locator_3": {
            "marketplace_id": "A2Q3Y263D00KWC",
            "media_location": "http://localhost:3000/files/c8a934791778f64650c57dd3c94d8d47-urlexemplohospedadanos3amazon.png"
        },
         "other_product_image_locator_4": {
            "marketplace_id": "A2Q3Y263D00KWC",
            "media_location": "http://localhost:3000/files/c8a934791778f64650c57dd3c94d8d47-urlexemplohospedadanos3amazon.png"
        },
         "other_product_image_locator_5": {
            "marketplace_id": "A2Q3Y263D00KWC",
            "media_location": "http://localhost:3000/files/c8a934791778f64650c57dd3c94d8d47-urlexemplohospedadanos3amazon.png"
        },
         "other_product_image_locator_6": {
            "marketplace_id": "A2Q3Y263D00KWC",
            "media_location": "http://localhost:3000/files/c8a934791778f64650c57dd3c94d8d47-urlexemplohospedadanos3amazon.png"
        },
         "other_product_image_locator_7": {
            "marketplace_id": "A2Q3Y263D00KWC",
            "media_location": "http://localhost:3000/files/c8a934791778f64650c57dd3c94d8d47-urlexemplohospedadanos3amazon.png"
        },
         "other_product_image_locator_8": {
            "marketplace_id": "A2Q3Y263D00KWC",
            "media_location": "http://localhost:3000/files/c8a934791778f64650c57dd3c94d8d47-urlexemplohospedadanos3amazon.png"
        },
         "other_product_image_locator_9": {
            "marketplace_id": "A2Q3Y263D00KWC",
            "media_location": "http://localhost:3000/files/c8a934791778f64650c57dd3c94d8d47-urlexemplohospedadanos3amazon.png"
        }

📘

Qual a diferença entre product_image_locator e offer_image_locator?

As imagens do produto (product_image_locator) vão na página de detalhes do produto. As imagens das ofertas (offer_image_locator) são para itens não novos (usados) para mostrar a condição do item específico que está sendo vendido (e mostrar na página que mostra a lista de ofertas usadas disponíveis, etc.)

As imagens associadas a um ASIN ou SKU podem ser recuperadas usando o getCatalogItem e getListingsItem respectivamente. Veja um exemplo usando getListingsItem abaixo:

1490

Para obter mais informações, consulte Enviando imagens e outros atributos de mídia.