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ário | Endpoint |
|---|---|
| Já tenho os pedidos criados e só quero agrupar em rota | POST /v2/routes (esta página) |
| Vou criar os pedidos e a rota juntos, em uma única chamada | POST /v2/orders/route |
| Vou criar um pedido individual (sem rota) | POST /v2/order |
Pré-requisitos
- Todos os
order_idsprecisam 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,FAILEDeRETURNEDsão roteirizáveis; veja Status & Substatus pra detalhes. route.starté obrigatório — atualmente só aceitatype: "WAREHOUSE_SELLER_IDENTIFIER", ou seja, o warehouse da filial identificada pelovalue.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 campoparams.order_idslista 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) — algumorder_idnão existe ou pertence a outro seller group.WAREHOUSE_NOT_FOUND(404) — oseller_identifierdoroute.start(ouroute.end) não tem warehouse cadastrado pra frota própria.DRIVER_NOT_FOUND(404) — odriver_documentinformado não está vinculado ao seller group.
Authorization
sellerGroupKey In: header
Header Parameters
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"
}Criar rota (com pedidos novos ou existentes) POST
Cria uma rota agrupando pedidos — pode incluir pedidos novos e/ou pedidos que já existem na Abbiamo. Atribui motorista e ordem de paradas.
Trocar motorista da rota PATCH
Reatribui um motorista a uma rota existente. A rota precisa estar com status `CREATED` e o motorista já precisa estar associado à conta.