Objetivo do blog:
Depois de ler este blog, você poderá entender como o vendedor pode alterar o estoque e a latência de atendimento de produtos na Amazon usando a API.
Vamos saber sobre a latência de cumprimento
A latência de cumprimento é o número de dias que o vendedor precisa para despachar o pedido após obter o pedido da Amazon. Também pode ser definido como o tempo máximo disponível ao vendedor para despachar o pacote. O tempo de atendimento é definido pelo vendedor correspondente a cada produto. A latência de cumprimento também é conhecida como tempo de manipulação. A Amazon fulfillment API ajuda o vendedor a definir o inventário do produto e o tempo de latência de atendimento na Amazon.
Como alterar a latência de atendimento e o inventário de produtos usando a API
Informe-nos sobre os campos que você precisará enviar na solicitação para a Amazon:
Açao Social
Este campo especifica a ação que precisa ser executada na solicitação e isso ajuda a determinar qual parâmetro deve estar na solicitação. Assinatura: sempre que você enviar a solicitação HTTP para a Amazon, será necessário adicionar a assinatura ao URL. Ao verificar a assinatura, a Amazon pode identificar o comerciante de quem a solicitação foi recebida. Usamos o valor de hash (HmacSHA256), alguns dados da solicitação e chave de acesso secreto para criar assinatura.
Versões de Assinatura
Existem versões de assinatura 2 que
(1) Versão 4:
(2) Versão 2:
Ambas as versões podem ser usadas para assinar a solicitação, mas recomendamos que você assine sua solicitação com a versão Signature 4, mas neste blog, a versão de assinatura 2 é usada.
Purgue e substitua
O campo eliminar e substituir substitui a listagem existente de produtos da Amazon, se o valor for verdadeiro. Portanto, você sempre precisa definir seu valor false na solicitação se não quiser remover todas as listagens da Amazon.
FeedType
O tipo de feed especifica como os dados devem ser processados. Para alterar a latência de preenchimento e o inventário, você precisa especificar o tipo de feed "_POST_INVENTORY_AVAILABILITY_DATA_".
SignatureMethod
Os métodos de assinatura são os protocolos baseados em hash e você precisa aplicar esses métodos para calcular as assinaturas. Por exemplo, HmacSHA256
Timestamp
Nesse campo, você precisa adicionar a hora na qual está fazendo a solicitação. Para alterar a latência do preenchimento e o inventário do produto, você precisa enviar os seguintes dados na solicitação para a Amazon: $ url =
https://mws.amazonservices.co.uk // Here you need to write the End point /?AWSAccessKeyId=XXXXXXXXXXXXXXXXXXXX // Here write your AWS Access Key &Action=SubmitFeed // Action should be SubmitFeed &FeedType=_POST_INVENTORY_AVAILABILITY_DATA_ // Feed Type &MarketplaceIdList.Id.1= XXXXXXXXXXXXXX // Here write your marketplace list id &Merchant=XXXXXXXXXXXXXX // Here write your seller id or merchant id &Signature=1234Knowband1234example1234 // Here you need to write the signature &SignatureMethod=HmacSHA256 // Hash method which used to create signature &SignatureVersion=2 &Timestamp=gmdate("Y-m-d\TH:i:s\Z",time())) &Version=2009-01-01 &PurgeAndReplace=false // Always set purgeAndReplace Value as false // else it will replace all the existing product data
Você também precisará criar o arquivo XML que conterá os detalhes de latência de inventário e de cumprimento daqueles SKUs para os quais você deseja alterar a latência e o inventário de preenchimento. O feed de amostra é fornecido abaixo: $ xml_file = O caminho completo do arquivo XML no servidor $ xml_data é dado abaixo
<AmazonEnvelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="amzn-envelope.xsd"> <Header> <DocumentVersion>1.01</DocumentVersion> <MerchantIdentifier>XXXX-XXXX-XXXX</MerchantIdentifier> </Header> <MessageType>Inventory</MessageType> <Message> <MessageID>1</MessageID> <OperationType>Update</OperationType> <Inventory> <SKU>p-25976-MB</SKU> <Quantity>0</Quantity> <FulfillmentLatency>2</FulfillmentLatency> </Inventory> </Message> <Message> <MessageID>2</MessageID> <OperationType>Update</OperationType> <Inventory> <SKU>p-25976-XSB</SKU> <Quantity>0</Quantity> <FulfillmentLatency>2</FulfillmentLatency> </Inventory> </Message> <Message> <MessageID>3</MessageID> <OperationType>Update</OperationType> <Inventory> <SKU>p-25976-X-L</SKU> <Quantity>0</Quantity> <FulfillmentLatency>2</FulfillmentLatency> </Inventory> </Message> <Message> <MessageID>4</MessageID> <OperationType>Update</OperationType> <Inventory> <SKU>p-25976-SB</SKU> <Quantity>0</Quantity> <FulfillmentLatency>2</FulfillmentLatency> </Inventory> </Message> <Message> <MessageID>5</MessageID> <OperationType>Update</OperationType> <Inventory> <SKU>p-25976-LB</SKU> <Quantity>0</Quantity> <FulfillmentLatency>2</FulfillmentLatency> </Inventory> </Message> </AmazonEnvelope>
Você precisa enviar o URL de solicitação, os dados xml e o cabeçalho juntos em uma solicitação. Os valores de cabeçalho são usados pelo servidor para uma verificação de ponta a ponta dos dados e para detectar modificações não intencionais nos dados durante a transição.
$ headers = array ('Esperar:', 'Aceitar:', 'Transferir Codificação: chunked', 'Tipo de Conteúdo: aplicativo / x-www-forma-url codificado; charset = utf-8', 'Conteúdo-MD5: '. base64_encode (md5_file ($ xml_file, true)) // codifica o arquivo xml);
$ options = array (CURLOPT_URL => $ url, CURLOPT_POST => 1, CURLOPT_FOLLOWLOCATION => true, // segue redirecionamentos CURLOPT_RETURNTRANSFER => true, // retorna página da web CURLOPT_POSTFIELDS => $ xml_data, CURLOPT_HTTPHEADER => $ cabeçalhos, CURLOPT_ENCODING => "UTF-8", // manipula todas as codificações CURLOPT_AUTOREFERER => true, // configura o referenciador no redirecionamento CURLOPT_CONNECTTIMEOUT => 120, // tempo limite na conexão CURLOPT_TIMEOUT => 120, // tempo limite na resposta CURLOPT_SSL_VERIFYHOST => 2, CURLOPT_SSL_VERIFYPEER => false, // desativa a verificação do certificado CURLOPT_FILE => "$ fp"); $ ch = curl_init ($ url); @curl_setopt_array ($ ch, $ options); $ content = curl_exec ($ ch);
Na resposta, você obterá o número do SKU que foi processado com êxito (significa que a latência e o inventário de inventário foram alterados) e o número de SKUs que não foram processados devido a erro, conforme mostrado na captura de tela do feed de resposta abaixo:
?
Resumo
Depois de ler este documento, você (vendedor) pode alterar facilmente a latência de atendimento e o inventário de produtos na Amazon usando a API do Amazon MWS.