Um orçamento (quote) é criado a partir dos resultados de uma busca de veículos. Ele representa uma proposta de fretamento para um cliente, com o preço do fornecedor acrescido da margem configurada.
Busca obrigatória. Não é possível criar um orçamento sem uma busca prévia. Os preços são sempre extraídos do resultado da busca armazenado — o parceiro não informa valores.Validade de 30 minutos. A busca expira 30 minutos após a conclusão do polling. Após esse prazo, realize uma nova busca antes de criar o orçamento.
Endpoints
| Método | Endpoint | Descrição |
|---|
POST | /quotes | Criar orçamento |
GET | /quotes | Listar orçamentos |
GET | /quotes/{id} | Buscar orçamento por ID |
Criar orçamento
O payload usa os dados retornados pelo polling da busca. Informe o search_id e o veículo escolhido; os preços e os dados de rota são extraídos automaticamente do resultado armazenado.
Campos da requisição
| Campo | Tipo | Obrigatório | Descrição |
|---|
customer_id | integer | Sim | ID do cliente no CGD |
search_id | string | Sim | search_id retornado pelo endpoint de busca |
selectedVehicle | object | Sim | Veículo escolhido nos resultados |
selectedVehicle.id | integer | Sim | id do veículo retornado pela busca |
selectedVehicle.tenant_id | string (UUID) | Sim | tenant_id do veículo retornado pela busca |
customRouter | array | Só para customtrip | Paradas do roteiro (veja abaixo) |
default_margin_percentage | number | Não | Margem em percentual (ex: 15). Se omitido, usa a margem padrão configurada na conta. |
Os campos simpleTrip (origin, destination, tripType) e o preço do veículo são extraídos automaticamente da busca. O parceiro não precisa — e não pode — enviá-los.
Exemplos por tipo de viagem
O tripType da busca define o tipo do orçamento automaticamente. Não é necessário informá-lo na criação do orçamento.
Ida simples, ida e volta ou hora (onewaytrip / roundtrip / hourtrip)
Para todos esses tipos, o payload é idêntico — o tipo é herdado da busca.
curl -X POST https://gds.fretatech.com.br/api/partner/v1/quotes \
-H "Authorization: Bearer SUA_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"customer_id": 5,
"search_id": "dMeazSmRgEikWVxe",
"default_margin_percentage": 15,
"selectedVehicle": {
"id": 28,
"tenant_id": "fb4a8f4c-617a-45f8-a2e9-0aebbc5cd0f5"
}
}'
Roteiro personalizado (customtrip)
Para roteiros com múltiplas paradas, inclua o array customRouter com as paradas em ordem. A busca deve ter sido feita com trip_type: "customtrip".
curl -X POST https://gds.fretatech.com.br/api/partner/v1/quotes \
-H "Authorization: Bearer SUA_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"customer_id": 5,
"search_id": "Ox2VB6xxOL4HOVae",
"default_margin_percentage": 15,
"selectedVehicle": {
"id": 28,
"tenant_id": "fb4a8f4c-617a-45f8-a2e9-0aebbc5cd0f5"
},
"customRouter": [
{
"address": "São Paulo, SP, Brasil",
"lat": "-23.5505199",
"lng": "-46.6333094",
"date": "15/04/2026",
"time": "07:00"
},
{
"address": "Campinas, SP, Brasil",
"lat": "-22.9056099",
"lng": "-47.0607605",
"date": "15/04/2026",
"time": "09:00"
},
{
"address": "Ribeirão Preto, SP, Brasil",
"lat": "-21.1774886",
"lng": "-47.8103017",
"date": "15/04/2026",
"time": "15:00"
}
]
}'
Campos de cada parada em customRouter
| Campo | Tipo | Descrição |
|---|
address | string | Endereço completo da parada |
lat | string | Latitude |
lng | string | Longitude |
date | string | Data da parada no formato DD/MM/YYYY |
time | string | Horário da parada no formato HH:MM |
Como o preço é calculado
O preço final exibido ao cliente inclui a taxa central da viação, a taxa de serviço do CGD e a margem do parceiro:
base = priceCents do veículo (extraído da busca, já inclui a taxa central da viação)
+ despesas do motorista (quando aplicável)
service_fee = base × service_fee_percentage (padrão: 7%)
margin = base × margin_percentage
total = base + service_fee + margin
Exemplo com veículo de R17.718,81(jaˊcomtaxacentral10 280, margem 15%:
base: R$ 17.998,81 (17.718,81 + 280,00)
service_fee: R$ 1.259,92 (7%)
margin: R$ 2.699,82 (15%)
total: R$ 21.958,55
Erros possíveis na criação
| HTTP | Mensagem | Causa |
|---|
404 | Busca não encontrada | search_id inválido |
422 | Busca expirada | Mais de 30 min desde a conclusão da busca. Refaça a busca. |
422 | Veículo não encontrado nesta busca | vehicle_id ou tenant_id incorreto |
Resposta
{
"success": true,
"data": {
"id": 76,
"uuid": "621cebbd-cf60-4ab5-a6d6-8dd9545cb9d6",
"customer": {
"id": 5,
"uuid": "6039e108-f7ac-4b19-9a2c-bbf822d6de18",
"name": "AC DA SILVA",
"email": "email@email.com.br",
"phone": null
},
"pricing": {
"subtotal": 1799881,
"total": 2195855,
"discount": 0,
"addition": 0,
"service_fee_percentage": "7.00",
"service_fee_value": 125992,
"margin_percentage": "15.00",
"margin_value": 269982
},
"status": "pending",
"items": [
{
"id": 83,
"uuid": "be1734d6-05b6-4501-9ce7-bd5bc3ade306",
"tenant_id": "fb4a8f4c-617a-45f8-a2e9-0aebbc5cd0f5",
"vehicle_id": 28,
"type": "onewaytrip",
"price_cents": 1771881,
"trip_details": {
"origin": {
"address": "Peruíbe, SP, Brasil",
"city": "Peruíbe",
"date": "08/03/2026",
"time": "21:00",
"lat": "-24.3182917",
"lng": "-46.9940600"
},
"destination": {
"address": "Aparecida, SP, Brasil",
"city": "Aparecida",
"date": "09/03/2026",
"time": "07:00",
"lat": "-22.8469289",
"lng": "-45.2316803"
}
},
"tenant_display": {
"name": "Viação Mimo - Várzea Paulista",
"logo": null
},
"created_at": "2026-03-08T17:30:00-03:00"
}
],
"created_at": "2026-03-08T17:30:00-03:00",
"updated_at": "2026-03-08T17:30:10-03:00"
},
"message": "Orçamento criado com sucesso"
}
Campos da resposta
| Campo | Tipo | Descrição |
|---|
id | integer | ID do orçamento |
uuid | string | UUID do orçamento |
status | string | Status do orçamento (veja abaixo) |
pricing.subtotal | integer | Subtotal em centavos (base + despesas motorista) |
pricing.service_fee_value | integer | Taxa de serviço em centavos |
pricing.margin_value | integer | Margem em centavos |
pricing.total | integer | Valor total em centavos |
items | array | Itens do orçamento (um por trecho da viagem) |
Status do orçamento
| Status | Descrição |
|---|
pending | Orçamento criado, aguardando aprovação do cliente |
approved | Aprovado pelo cliente |
rejected | Recusado pelo cliente |
converted | Convertido em pedido |
expired | Prazo de validade expirado |
Listar orçamentos
curl -X GET "https://gds.fretatech.com.br/api/partner/v1/quotes?status=pending&customer_id=5" \
-H "Authorization: Bearer SUA_API_KEY"
Parâmetros de filtro
| Parâmetro | Tipo | Descrição |
|---|
status | string | Filtra por status do orçamento |
customer_id | integer | Filtra por cliente |
date_from | string | Data inicial (YYYY-MM-DD) |
date_to | string | Data final (YYYY-MM-DD) |
Buscar orçamento por ID
curl -X GET https://gds.fretatech.com.br/api/partner/v1/quotes/76 \
-H "Authorization: Bearer SUA_API_KEY"
Retorna o objeto completo do orçamento, idêntico ao retorno da criação.