Criar rota a partir de pedidos existentes

Agrupa pedidos já criados na Abbiamo em uma nova rota — opcionalmente com motorista, endereço de fim e custo.

Header obrigatório. Toda chamada exige o header x-abbiamo-seller-group-key. Preencha-o no canto superior direito desta página ou veja como obter a sua chave.

Rate limit: 300 requisições por minuto por chave. Acima disso a API retorna HTTP 429.

Use este endpoint quando você já tem os pedidos criados na Abbiamo (via Criar pedido (v2), pelo dashboard ou por integração) e quer agrupá-los em uma nova rota da frota própria.

Diferente de Criar rota com pedidos novos ou existentes, aqui o payload é enxuto: você manda apenas os order_ids e configura a rota (warehouse de partida, motorista, custo). Nada de endereços de destino, número do pedido ou nota fiscal — esses dados já estão nos pedidos.

Quando usar este endpoint vs. os outros

CenárioEndpoint
Já tenho os pedidos criados e só quero agrupar em rotaPOST /v2/routes (esta página)
Vou criar os pedidos e a rota juntos, em uma única chamadaPOST /v2/orders/route
Vou criar um pedido individual (sem rota)POST /v2/order

Pré-requisitos

  • Todos os order_ids precisam pertencer ao seller group autenticado.
  • Todos precisam estar roteirizáveis — um pedido deixa de ser roteirizável quando já foi incluído em outra rota ou despachado individualmente pra uma transportadora (TRP). Status como CREATED, FAILED e RETURNED são roteirizáveis; veja Status & Substatus pra detalhes.
  • route.start é obrigatório — atualmente só aceita type: "WAREHOUSE_SELLER_IDENTIFIER", ou seja, o warehouse da filial identificada pelo value.
  • driver_document, quando informado, precisa ser de um motorista já vinculado ao seller group.

Sequência das paradas

Por padrão, a Abbiamo otimiza a sequência das paradas. Pra forçar a ordem exata do array order_ids, envie route.orders_sequenced: true.

Erros comuns

  • INVOICE_NOT_ROUTEABLE (400) — um ou mais pedidos não são mais roteirizáveis (já estão em rota ou foram despachados). O campo params.order_ids lista exatamente quais — remova-os do payload ou desfaça o despacho anterior antes de tentar de novo.
  • INVOICE_NOT_FOUND_OR_NOT_IN_SELLER_GROUP (404) — algum order_id não existe ou pertence a outro seller group.
  • WAREHOUSE_NOT_FOUND (404) — o seller_identifier do route.start (ou route.end) não tem warehouse cadastrado pra frota própria.
  • DRIVER_NOT_FOUND (404) — o driver_document informado não está vinculado ao seller group.
POST
/v2/routes

Authorization

sellerGroupKey
x-abbiamo-seller-group-key<token>

In: header

Header Parameters

x-abbiamo-seller-group-key*string

Authentication key used to identify and authorize the seller group making the request. Required in all requests.

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

Response Body

application/json

application/json

application/json

curl -X POST "https://example.com/v2/routes" \  -H "x-abbiamo-seller-group-key: string" \  -H "Content-Type: application/json" \  -d '{    "order_ids": [      "22222222-2222-2222-2222-222222222222",      "33333333-3333-3333-3333-333333333333"    ],    "route": {      "start": {        "type": "WAREHOUSE_SELLER_IDENTIFIER",        "value": "123"      }    }  }'
{
  "status": "success",
  "id": "c4e5f6a7-8b9c-4d5e-6f7a-8b9c0d1e2f3a"
}

{
  "code": "INVALID_PARAMS",
  "message": "order_ids must contain at least 1 elements"
}

{
  "code": "INVOICE_NOT_FOUND_OR_NOT_IN_SELLER_GROUP",
  "message": "Orders not found or do not belong to seller group: 22222222-2222-2222-2222-222222222222"
}

Nesta página