> For the complete documentation index, see [llms.txt](https://ajuda.logapi.com.br/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://ajuda.logapi.com.br/intergrando-logapi/padrao-de-retorno.md).

# Padrão de Retorno

A requisição retornará um json completo, sempre com as mesmas chaves e com o array de rastreamento padronizado.

## Descrição dos dados retornados

Ao fim desta página, você terá o exemplo de json retornado. Agora, vamos explicar o seu formato.

{% hint style="info" %}
**Importante**: Cada transportadora fornece diferentes conjuntos de dados, portanto, nem todos os campos do JSON serão sempre preenchidos. Algumas transportadoras podem retornar o endereço de entrega, enquanto outras não. Ainda assim, a LogAPI devolve todos os campos em sua resposta, mesmo que alguns estejam vazios.
{% endhint %}

A resposta é composta por:

* `cost` é o preço do frete.
* `trackingCode` é o codigo de rastreamento.
* `type` é a modalidade de entrega.
* `deliveryEstimate` é a previsão de entrega.
* `invoice` contém os dados da nota fiscal.
* `cte` é o número do conhecimento de transporte eletrônico.
* `sender` possuí os dados do remetente.
* `recipient` possuí os dados do destinatário.
* `weight` contém o peso.
* `dimensions` contém a altura, largura e comprimento.
* `volume` é a cubagem do pacote.
* `carrierLogo` é a logo em PNG da transportadora.
* `postDate` é a data de postagem.
* `tracking` é o array dos eventos de rastreamento:
  * `date` é a data do evento.
  * `title` é o nome do evento na transportadora.
  * `description` é a descrição fornecida pela transportadora.
  * `location` o local que informaram o evento.
  * **`status` é o status padronizado da LogAPI.**&#x20;
  * **`details` descrevem o status padronizado em português.**
* `originalData` contém o json original completo retornado pela transportadora.

## Status padronizado LogAPI

Cada transportadora nomeia o evento de rastreamento de forma própria. Por exemplo, para o evento "saiu para entrega", temos:

* **Correios**: "saiu para entrega"
* **Jadlog**: "em rota"
* **Braspress**: "em rota para entrega"
* **Total Express**: "104"

Esses eventos indicam a mesma situação: a entrega está a caminho do endereço final. Para simplificar, a LogAPI mantém um tabelamento de status para cada transportadora, convertendo as informações originais em um status padrão.

Para o exemplo acima, todos esses eventos são nomeados como **OutForDelivery**. Nossa resposta incluí ainda uma descrição, assim:

```json
{
            "date": "2024-11-06T13:19:38-03:00",
            "timezone": "America/Sao_Paulo",
            "utcOffset": "-03:00",
            "title": "Saiu para entrega",
            "description": "1 volume em processo de entrega ao destinatário",
            "location": "QGL - RS",
            "status": "OutForDelivery",
            "details": {
                "statusText": "Saiu para Entrega",
                "description": "O pacote saiu para ser entregue",
                "toDo": "Certificar-se de que alguém está disponível para receber."
            }
}
```

Portanto, você não precisa criar nenhum mapa de andamentos em sua aplicação. Utilize nossos campos **status** e **details** para mostrar as informações em seu sistema.
