curl --request POST \
--url https://api-vendas.taximachine.com.br/api/v2/integracao/configuracoes/categorias/{id}/tarifas \
--header 'Authorization: Basic <encoded-value>' \
--header 'Content-Type: application/json' \
--header 'api-key: <api-key>' \
--data '
{
"metodo_calculo_tarifa": "D",
"valor_bandeirada": "5.90",
"valor_km": "1.20",
"valor_minuto": "0.15",
"valor_minimo": "8.00",
"valor_parada_adicional": "2.00",
"tipo_cobranca_retorno": "F",
"valor_retorno_adicional": "4.00"
}
'{
"success": true,
"data": {
"id": 4823,
"data_inicio": "2026-09-30T13:25:00Z",
"nome": "Noite fim de semana",
"metodo_calculo_tarifa": "T",
"valor_parada_adicional": "2.00",
"valores_tabelados": [
{
"distancia_km": "5.00",
"a_partir_de": false,
"valor": "15.00"
},
{
"distancia_km": "10.00",
"a_partir_de": false,
"valor": "25.00"
}
],
"habilitar_taxa_deslocamento": false,
"tipo_cobranca_retorno": "T",
"calcular_individual_por_entrega": false,
"horarios": [
{
"dia_semana": 6,
"hora_inicio": "18:00",
"hora_fim": "24:00"
},
{
"dia_semana": 7,
"hora_inicio": "18:00",
"hora_fim": "24:00"
}
]
}
}Criar tarifa da categoria
Cria a tarifa padrão ou uma tarifa extra da categoria. A tarifa começa a valer na hora.
Tarifa padrão × tarifa extra
- A primeira tarifa da categoria é a padrão: é criada sem
horariose vale o tempo todo. - Com a padrão já criada, toda tarifa nova é extra e exige
horarios. - A categoria aceita no máximo 8 tarifas vigentes: a padrão e mais 7 extras.
Método de cálculo (metodo_calculo_tarifa)
| Método | Campos aceitos | Obrigatórios |
|---|---|---|
D duração | valor_bandeirada, valor_km, valor_minuto, valor_minimo, valor_parada_adicional, habilitar_limite_distancia | valor_bandeirada, valor_km, valor_minuto, valor_minimo |
P hora parada | valor_bandeirada, valor_km, valor_hora_parada, valor_minimo, valor_parada_adicional | valor_bandeirada, valor_km, valor_hora_parada, valor_minimo |
V km variável | valor_bandeirada, valor_minuto, valor_minimo, valor_parada_adicional, valores_tabelados, habilitar_limite_distancia | valor_bandeirada, valor_minuto, valor_minimo e valores_tabelados com a faixa a_partir_de |
T tabelado | valor_parada_adicional, valores_tabelados | valores_tabelados (sem a faixa a_partir_de) |
B por bairro | valores_tabelados | valores_tabelados com a faixa a_partir_de |
Os obrigatórios são os mesmos que o painel exige ao salvar: só o campo vazio é recusado, e zero é aceito. Os demais valores podem ficar vazios. Em todos os métodos também valem nome, horarios e habilitar_taxa_deslocamento.
Restrições de bandeira (400 quando não atendidas):
Vexige o app de motorista da bandeira (ou da bandeira agrupadora) na versão 14.4 ou superior;Bsó em bandeira que faz somente entregas;Pnão é aceito em bandeira com cálculo de corrida pré-fixado.
Uma tarifa que já usa V, B ou P pode continuar com o mesmo método mesmo sem atender à restrição.
Campos condicionais
limite_distancia_maxima(maior que zero): só comhabilitar_limite_distancia: true(métodosDeV). NoV, precisa ser maior que a maior faixa devalores_tabelados.- Bônus de deslocamento:
habilitar_taxa_deslocamento: trueexigetaxa_deslocamento_valor_km(maior que zero),taxa_deslocamento_km_minimo(aceita zero) etaxa_deslocamento_valor_maximo(maior que zero). Comfalse, os três são limpos e não são aceitos. - Retorno (
tipo_cobranca_retorno): só em bandeira que faz entregas.Tpelo cálculo da tarifa,Nnão cobrar,Fvalor fixo eKpor km percorrido (ambos exigemvalor_retorno_adicionalmaior que zero),Pporcentagem (exigetaxa_retorno_porcentagemmaior que zero, até999.99). Sem a funcionalidade de taxa de retorno na bandeira, sóTé aceito. calcular_individual_por_entrega: só em bandeira que faz entregas, com o cálculo individual por entrega liberado, e em método diferente deB. Comtrue, a parada adicional não é cobrada (valor_parada_adicionalfica vazio).
Campo enviado que não se aplica ao método ou à operação da bandeira responde 400 com a mensagem '<campo>': Não se aplica ao método de cálculo da tarifa ou à operação da bandeira. Campos que não fazem parte do contrato (como id, categoria_id ou data_inicio) são ignorados.
Formatos
- Valores: número JSON ou texto, não negativo, com ponto como separador e até 2 casas decimais (
"5.90"ou5.9), nos mesmos limites do painel: até 8 dígitos inteiros nos valores da tarifa, 5 na taxa de deslocamento, 7 emlimite_distancia_maximae 11 no valor das faixas."5,90"e"5.999"respondem 400. Na resposta, os valores vêm sempre como texto ("5.90").nulllimpa o campo (e a obrigatoriedade do método continua valendo). - Booleanos (
habilitar_*,calcular_individual_por_entrega):trueoufalse. nome: texto de 1 a 20 caracteres, sem<,>,",',&,\, emoji, quebra de linha e outros caracteres de controle (400). Omitido, vale “Tarifa padrão” ou “Tarifa extra N”, como no painel.horarios: lista de até 36 horários{dia_semana, hora_inicio, hora_fim}por tarifa, comdia_semanade1(domingo) a7(sábado) e horas emHH:MM, sem segundos (18:00:00responde 400),hora_fimmaior quehora_inicioe24:00para ir até o fim do dia.hora_fimé o fim do bloco, como no calendário do painel:08:00–12:00e12:00–18:00no mesmo dia não se sobrepõem. Na resposta, os horários vêm no mesmo formato. Sobreposição dentro do próprio payload responde 400; com outra tarifa vigente da categoria, 409.valores_tabelados: lista de faixas{distancia_km, valor}(ambos maiores que zero, sem repetir distância) e no máximo uma faixa{a_partir_de: true, valor}, semdistancia_km, que vale acima da maior distância. Até 100 faixas de distância. A ordem é definida pelo servidor (distância crescente,a_partir_depor último).
Alterações simultâneas
A criação de tarifa e a troca de horários de uma tarifa (PUT) travam a categoria enquanto gravam. Uma segunda chamada desse tipo para a mesma categoria, feita ao mesmo tempo, responde 409 com Outra alteração de tarifa desta categoria está em andamento. Tente novamente em instantes. e não grava nada: aguarde a anterior terminar e repita a chamada.
Resposta
Devolve a tarifa criada no mesmo formato da listagem (só os campos aplicáveis).
Status de erro
| Status | Quando |
|---|---|
| 400 | Payload inválido (formato, campo obrigatório do método, campo não aplicável) ou configuração que a bandeira não pode usar |
| 401 | Gestor não autenticado no header Authorization (Basic) |
| 403 | Gestor sem a permissão de API de categoria (api_integracao_categoria) no cargo da bandeira |
| 404 | Categoria ou tarifa inexistente, ou de outra bandeira |
| 409 | Conflito com as tarifas vigentes da categoria, ou outra alteração de tarifa da mesma categoria em andamento (detalhes no exemplo de cada resposta) |
Requer Api-Key (bandeira) + autenticação HTTP Basic de um gestor ativo da bandeira com a permissão de API de categoria (api_integracao_categoria) no cargo; sem ela, responde 403.
curl --request POST \
--url https://api-vendas.taximachine.com.br/api/v2/integracao/configuracoes/categorias/{id}/tarifas \
--header 'Authorization: Basic <encoded-value>' \
--header 'Content-Type: application/json' \
--header 'api-key: <api-key>' \
--data '
{
"metodo_calculo_tarifa": "D",
"valor_bandeirada": "5.90",
"valor_km": "1.20",
"valor_minuto": "0.15",
"valor_minimo": "8.00",
"valor_parada_adicional": "2.00",
"tipo_cobranca_retorno": "F",
"valor_retorno_adicional": "4.00"
}
'{
"success": true,
"data": {
"id": 4823,
"data_inicio": "2026-09-30T13:25:00Z",
"nome": "Noite fim de semana",
"metodo_calculo_tarifa": "T",
"valor_parada_adicional": "2.00",
"valores_tabelados": [
{
"distancia_km": "5.00",
"a_partir_de": false,
"valor": "15.00"
},
{
"distancia_km": "10.00",
"a_partir_de": false,
"valor": "25.00"
}
],
"habilitar_taxa_deslocamento": false,
"tipo_cobranca_retorno": "T",
"calcular_individual_por_entrega": false,
"horarios": [
{
"dia_semana": 6,
"hora_inicio": "18:00",
"hora_fim": "24:00"
},
{
"dia_semana": 7,
"hora_inicio": "18:00",
"hora_fim": "24:00"
}
]
}
}horarios. As seguintes são tarifas extras e exigem horarios. A categoria aceita até 8 tarifas vigentes (a padrão e mais 7 extras).Authorizations
Basic authentication header of the form Basic <encoded-value>, where <encoded-value> is the base64-encoded string username:password.
Obrigatório. Sua chave API.
Path Parameters
Id da categoria. Deve pertencer à central autenticada.
Body
Método de cálculo: D duração, P hora parada, T tabelado, V km variável, B por bairro. Obrigatório.
D, P, T, V, B Nome da tarifa (1 a 20 caracteres, sem <, >, ", ', &, \, emoji e quebra de linha). Omitido, vale "Tarifa padrão" ou "Tarifa extra N".
1 - 20Bandeirada. Métodos D, P e V (obrigatório).
"5.90"
Valor por km. Métodos D e P (obrigatório).
"5.90"
Valor por minuto. Métodos D e V (obrigatório).
"5.90"
Valor da hora parada. Método P (obrigatório).
"5.90"
Valor mínimo da corrida. Métodos D, P e V (obrigatório).
"5.90"
Valor por parada adicional. Métodos D, P, V e T.
"5.90"
Faixas de distância. Métodos T, V e B (obrigatório). Quando enviada, substitui a lista inteira.
101Show child attributes
Show child attributes
Liga o limite de distância. Métodos D e V. false limpa limite_distancia_maxima.
Distância máxima em km (maior que zero). Só com habilitar_limite_distancia: true; no V, maior que a maior faixa.
"5.90"
Liga o bônus de deslocamento. false limpa os três campos do bônus.
Bônus: valor por km (maior que zero). Só com habilitar_taxa_deslocamento: true.
"5.90"
Bônus: km mínimo (aceita zero). Só com habilitar_taxa_deslocamento: true.
"5.90"
Bônus: valor máximo (maior que zero). Só com habilitar_taxa_deslocamento: true.
"5.90"
Cobrança do retorno, só em bandeira que faz entregas: T pelo cálculo da tarifa, N não cobrar, F valor fixo, K por km percorrido, P porcentagem. Sem a funcionalidade de taxa de retorno, só T.
T, N, F, K, P Valor do retorno (maior que zero). Só com tipo_cobranca_retorno F ou K.
"5.90"
Percentual do retorno (maior que zero, até 999.99). Só com tipo_cobranca_retorno P.
"5.90"
Calcula o valor de cada entrega separadamente. Só em bandeira que faz entregas com o cálculo individual liberado, e método diferente de B.
Horários de atuação. Omitido na tarifa padrão (primeira da categoria); obrigatório nas extras. No máximo 36 horários por tarifa.
36Show child attributes
Show child attributes
