Alterar Status da Remessa
O endpoint em questão é responsável por gerenciar o status da remessa, abrangendo diversas operações como confirmação do pedido, inclusão de receituário, faturamento com nota fiscal futura ou simples, liberação para entrega ou retirada, entre outras. Este endpoint é fundamental para controlar e registrar todas as etapas da vida útil do pedido após a confirmação pelo parceiros.
Método: POST
URI do Endpoint: https://integration-marketplace.orbia.nom.co/orbia-marketplace-hub/v1/shipment
Requisição e Tipos de Dados
Tipo de Conteúdo da Requisição: application/json
Corpo da Requisição:
Para esse endpoint existem vários tipos de requisição, para cada momento do pedido, vamos exemplificar aqui.
- ShipmentOrderId: (int, obrigatória) Id da remessa vinculada ao pedido
- StatusId: (int, obrigatória) Status para qual a remessa deve ser atualizado
Status que podem ser utilizados nesse endpoint:
| Status | Descrição |
|---|---|
601 | Confirmado. |
602 | Faturado. |
604 | Entregue/Retirado. |
627 | Inclusão de nota fiscal futura concluída. |
628 | Inclusão de nota fiscal futura cancelada. |
629 | Análise de receituário finalizada. |
632 | Liberado para Entrega/Retirada. |
Exemplo de Requisição:
- Requisição para confirmação do pedido:
{
"ShipmentOrderId": 123456,
"StatusId": 601
}
- Requisição para incluir nota fiscal/futura:
{
"ShipmentOrderId": 123456,
"StatusId": 627,
"Data": [
{
"hash": "2638203b839e-0f6f-4446-9117-36fab6302a11.pdf",
"invoiceDanfe": "0000000000000000000000000000",
"invoiceNumber": "1234567",
"serialNumber": "123456"
}
]
}
2.1 Explicação da propriedade Data:
- Neste caso, o endpoint usa uma propriedade dinâmica Data, para receber a estrutura de dados necessárias para a inclusão de uma nota fiscal tanto para inclusão de nota simples remessa quanto futura.
| Campo | Tipo | Obrigatoriedade | Descrição |
|---|---|---|---|
hash | string | Obrigatória | Código recuperado do endpoint Post File (responsável por inserir sua nota fiscal em nossa estrutura) |
invoiceDanfe | string | Obrigatória | DANFE da nota fiscal |
invoiceNumber | string | Obrigatória | Número da nota fiscal |
serialNumber | string | Obrigatória | Número de série da nota fiscal |
- Requisição para pular a etapa de inclusão de nota fiscal futura:
{
"ShipmentOrderId": 123456,
"StatusId": 628
}
- Requisição para adicionar um receituário agrícola quando houver produtos defensivos.
{
"ShipmentOrderId": 123456,
"StatusId": 629,
"Data": [
{
"hash": "1498b65c8a3c-7574-4cfc-90f5-af6f9130bb76.pdf",
"sku": ["SKU001", "SKU002", "SKU003"]
}
]
}
4.1 Explicação da propriedade Data:
- Neste caso, o endpoint usa uma propriedade dinâmica Data, para receber a estrutura de dados necessárias para a inclusão de um receituário
-
hash: (string, obrigatória) Código recuperado do endpoint Post File (endpoint responsável por inserir sua nota fiscal em nossa estrutura)
-
Sku: (array string, obrigatória) Lista de até três skus para vincular ao receituário agrícola, lembrando que os códigos devem pertencer a produtos do tipo defensivo agrícola.
- Requisição para liberar remessa para entrega e retirada:
{
"ShipmentOrderId": 123456,
"StatusId": 632
}
- Requisição para confirmação, entrega ou retirada:
{
"ShipmentOrderId": 123456,
"StatusId": 604
}
Possíveis Respostas
Códigos de Resposta e seus significados:
| Status Code | Descrição |
|---|---|
| 200 | Sucesso: A requisição foi bem-sucedida. |
| 400 | Bad Request: Erro de validação ou processamento da requisição. Verifique o corpo da requisição. |
| 401 | Unauthorized: Autenticação necessária e não fornecida. |
| 403 | Forbidden: A requisição foi autenticada, mas o usuário não tem permissões para a ação. |
| 502 | Bad Gateway: O servidor, atuando como gateway ou proxy, recebeu uma resposta inválida do servidor upstream. |
Exemplos de Respostas:
Sucesso (200):
{
"message": "string"
}
Erro (400):
{
"statusCode": 400,
"message": "Erro de validação.",
"errors": {
"additionalProp1": ["Erro específico 1"],
"additionalProp2": ["Erro específico 2"],
"additionalProp3": ["Erro específico 3"]
}
}
Cómo Testar o Endpoint
Para testar este endpoint, você pode usar ferramentas como Postman ou cURL. Siga as instruções abaixo:
-
Abra o Postman.
-
Selecione o método
POSTe insira a URL do endpoint. -
No corpo da requisição, insira o JSON do exemplo fornecido.
-
Envie a requisição e observe a resposta.
Para um teste bem-sucedido, certifique-se de que você tem as credenciais corretas (se necessário) e que o corpo da requisição está corretamente formatado conforme o exemplo.
Este documento serve como um guia básico para entender e testar o endpoint específico. Ajuste as seções conforme necessário para se adequar ao seu ambiente de negócios e práticas de desenvolvimento.