Skip to main content

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.

  1. ShipmentOrderId: (int, obrigatória) Id da remessa vinculada ao pedido
  2. StatusId: (int, obrigatória) Status para qual a remessa deve ser atualizado

Status que podem ser utilizados nesse endpoint:

StatusDescrição
601Confirmado.
602Faturado.
604Entregue/Retirado.
627Inclusão de nota fiscal futura concluída.
628Inclusão de nota fiscal futura cancelada.
629Análise de receituário finalizada.
632Liberado para Entrega/Retirada.

Exemplo de Requisição:

  1. Requisição para confirmação do pedido:
{
"ShipmentOrderId": 123456,
"StatusId": 601
}
  1. 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:

  1. 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.
CampoTipoObrigatoriedadeDescrição
hashstringObrigatóriaCódigo recuperado do endpoint Post File (responsável por inserir sua nota fiscal em nossa estrutura)
invoiceDanfestringObrigatóriaDANFE da nota fiscal
invoiceNumberstringObrigatóriaNúmero da nota fiscal
serialNumberstringObrigatóriaNúmero de série da nota fiscal
  1. Requisição para pular a etapa de inclusão de nota fiscal futura:

{
"ShipmentOrderId": 123456,
"StatusId": 628
}

  1. 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:

  1. 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.

  1. Requisição para liberar remessa para entrega e retirada:

{
"ShipmentOrderId": 123456,
"StatusId": 632
}

  1. Requisição para confirmação, entrega ou retirada:

{
"ShipmentOrderId": 123456,
"StatusId": 604
}

Possíveis Respostas

Códigos de Resposta e seus significados:

Status CodeDescrição
200Sucesso: A requisição foi bem-sucedida.
400Bad Request: Erro de validação ou processamento da requisição. Verifique o corpo da requisição.
401Unauthorized: Autenticação necessária e não fornecida.
403Forbidden: A requisição foi autenticada, mas o usuário não tem permissões para a ação.
502Bad 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:

  1. Abra o Postman.

  2. Selecione o método POST e insira a URL do endpoint.

  3. No corpo da requisição, insira o JSON do exemplo fornecido.

  4. Envie a requisição e observe a resposta.

Importante

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.