Rastreamento de Pedidos
O processo de rastreamento de pedidos exige que o fornecedor disponibilize um endpoint que, dado um Id de pedido, retorne a data prevista para entrega (por SKU), uma lista de históricos dos status, com código, destrição e data do status, além do objeto indicator de erro. Quando houver uma url para rastreamento do pedido, ela deve ser retornada no objeto de rastreamento. O fornecedor deve possuir uma lista de status possíveis para os pedidos, e esses status devem ser conhecidos pela equipe do Marketplace, por meio da documentação que deve ser disponibilizada.
O exemplo abaixo, ilustra uma request e response válidas para uma requisição de rastreamento:
Request - Tracking
{
"vendorOrderId" : "c7bf71ae-10f7-4a3d-b127-f9954109f1df",
"parameters" : {
"cpfCnpj" : "29717652880" // Campo será enviado para manter compatibilidade com versões antigas, mas pode ser ignorado.
}
}Successful Response - Tracking
{
"trackingProducts": [
{
"sku": "2654",
"estimatedDeliveryDate": "2019-09-15T17:22:24-03:00",
"urlTracking": "http://www.transportadora.com.br/tracking?p=35165651",
"trackingHistory": [{
"statusCode": "A1",
"statusName": "Produto confirmado",
"processDate": "2017-11-02T06:59:00.000Z",
},
{
"statusCode": "B5",
"statusName": "Entregue à transportadora",
"processDate": "2017-11-08T06:59:00.000Z"
}]
},
{
"sku": "5584",
"estimatedDeliveryDate": "2019-09-15T17:22:24-03:00",
"urlTracking": "http://www.transportadora.com.br/tracking?p=35165651",
"trackingHistory": [{
"statusCode": "A1",
"statusName": "Produto confirmado",
"processDate": "2019-09-06T10:22:28.4871732-03:00"
},
{
"statusCode": "B5",
"statusName": "Entregue à transportadora",
"processDate": "2019-09-09T10:22:28.4871732-03:00"
}]
}
]
}A empresa parceira deve disponibilizar sua lista de status de tracking, contendo o statusCode e statusName, para que seja possível configurarmos nossos sistemas.
A aplicação LTM Fará consultas periódicas para obter os status de cada pedido, ao longo de três meses, a partir da data da compra.
Error Response - Tracking
{
"error": {
"code": 1002,
"message": "Ocorreu um erro ao consultar a base de CEP"
}
}Para o caso de Hubs, ou seja, endpoints através dos quais se pode acessar informações de diferentes fornecedores, é necessário que se adicione aos requests uma informação que permita filtrar os dados por fornecedor. Essa necessidade está relacionada ao fato de a plataforma Marketplace tratar os fornecedores do Hub de forma indepentente.
Exemplo: se o endpoint http://endpoint.domain.com/products permite obter o catálogo dos fornecedores A, B e C, é necessário que exista uma rota que permita a filtragem por fornecedor, por exemplo http://endpoint.domain.com/products?supplier=A
Uma vez que esses endpoints estejam implementados, a equipe de integração da LTM deve ser acionada, e desenvolverá um conector baseado nas especificidades dos endpoints criados.