Pular para o conteúdo

TMS — Visão Geral

Esta seção é voltada para sistemas de gestão de transporte (TMS) que integram com a Abbiamo para enviar rotas fechadas ao aplicativo do motorista (Abbiamo Go).

O fluxo garante que a inteligência de roteirização do TMS seja refletida fielmente no app: o TMS define a rota e escala o motorista; a Abbiamo recebe os dados e os exibe no aplicativo; o motorista executa a entrega; e a Abbiamo notifica o TMS sobre cada mudança de status.


Todas as requisições devem conter o header de autenticação do seller group:

HeaderDescrição
x-abbiamo-seller-group-keyChave fornecida pela Abbiamo para identificar e autorizar o seller group.
  • Base URL: https://api.abbiamo.io
  • Rate limit: 1500 requisições a cada 5 minutos.

TMS → Abbiamo API → Abbiamo Go App
Define rota Cria pedidos Motorista visualiza
e motorista e vincula à e executa a rota
rota no app
← Webhooks
Notifica o TMS sobre
mudanças de status

POST /v2/orders/route

Cria os pedidos e a rota de uma só vez, já vinculando o motorista. Limite de 50 pedidos por rota.

Referência oficial: Create route for new orders

CampoTipoObrigatórioDescrição
order_numberstringSimIdentificador do pedido no TMS.
seller_identifierstringSimCNPJ ou identificador da filial (seller) de origem do pedido.
customer.namestringSimNome do destinatário.
destination_address.zip_codestringSimCEP do endereço de entrega (apenas números).
destination_address.statestringSimUF do estado de entrega (ex: SP).
destination_address.citystringSimCidade de entrega.
destination_address.streetstringSimLogradouro de entrega.
destination_address.street_numberstringSimNúmero do endereço de entrega.
CampoTipoObrigatórioDescrição
driver_documentstringNãoCPF do motorista responsável pela rota. Se não informado, a rota é criada sem motorista e pode ser atribuída depois pelo dashboard.
external_namestringNãoNome externo da rota (identificador do TMS).
orders_sequencedbooleanNãoSe true, a Abbiamo respeita a ordem exata do array orders. Use quando o TMS já definiu a sequência otimizada.
start.typestringNãoTipo do ponto de partida. Use WAREHOUSE_SELLER_IDENTIFIER para partir de uma filial.
start.valuestringNãoIdentificador da filial de partida (CNPJ ou seller identifier).
end.typestringNãoTipo do ponto de chegada. Use WAREHOUSE_SELLER_IDENTIFIER para retornar a uma filial.
end.valuestringNãoIdentificador da filial de chegada (CNPJ ou seller identifier).
{
"orders": [
{
"order_number": "PEDIDO-001",
"seller_identifier": "71955998000126",
"customer": { "name": "Cliente Exemplo" },
"destination_address": {
"zip_code": "01412100",
"state": "SP",
"city": "São Paulo",
"street": "Rua Exemplo",
"street_number": "100"
}
}
],
"route": {
"driver_document": "05217304065",
"external_name": "ROTA_SUL_0502",
"orders_sequenced": true,
"start": {
"type": "WAREHOUSE_SELLER_IDENTIFIER",
"value": "71955998000126"
},
"end": {
"type": "WAREHOUSE_SELLER_IDENTIFIER",
"value": "71955998000126"
}
}
}
{
"status": "success",
"route": {
"id": "1d1dfa9c-4fe2-4315-9d65-ec0e8f95d239",
"cost": 1200
},
"orders": [
{
"id": "30c24480-8e45-4afa-af35-0231b460e9ed",
"order_number": "PEDIDO-001",
"tracking": "abc123#",
"already_exists": false,
"mail_label_link": "https://mail-label-api.abbiamo.io/mail-label/v1?trackings=abc123#",
"tracking_link": "http://meupedido.abbiamolog.com/abc123#"
}
]
}

O campo already_exists indica se o pedido já existia no sistema e foi apenas vinculado à rota (sem ser recriado).


PATCH /v1/routes/{route_id}/change-driver

Atribui um novo motorista a uma rota já criada. A rota deve estar com status CREATED.

{
"document_number": "17027297623"
}

Para mais detalhes, consulte a referência completa de Rotas.


PUT /v1/routes/{route_id}

Cancela a rota. Os pedidos vinculados retornam ao estado pendente. A rota deve estar com status CREATED.

Para mais detalhes, consulte a referência completa de Rotas.


Motoristas são vinculados a uma ou mais filiais (sellers). Para que um motorista visualize rotas no app, ele precisa estar associado ao seller_identifier correto.

Os endpoints disponíveis são:

EndpointDescrição
POST /v1/driversCria ou atualiza um motorista.
GET /v1/driversLista motoristas do seller group (paginado).
GET /v1/drivers/{document_number}Retorna os dados de um motorista específico.

Para mais detalhes, consulte a referência completa de Motoristas.


A cada mudança no status de um pedido, a Abbiamo envia um POST para a URL configurada no TMS.

StatusDescrição
CREATEDPedido recebido no sistema.
DISPATCHEDRota planejada e enviada ao app do motorista.
START_DELIVERYMotorista iniciou o deslocamento para o cliente.
SUCCESSFULEntrega realizada com sucesso.
FAILEDFalha na entrega.

  • Idempotência de pedidos: se o order_number já existir e não estiver finalizado, a Abbiamo apenas vincula o pedido à nova rota, sem recriar.
  • Sequenciamento: se o TMS já define a ordem otimizada, sempre envie "orders_sequenced": true.
  • Limite de rota: rotas com mais de 50 pedidos não são aceitas.
  • Filiais (Sellers): certifique-se de que as filiais foram criadas antes de criar rotas — o seller_identifier deve existir no seller group autenticado.