Developer Docs
Endpoints
Referência dos endpoints públicos atuais da Infiny, com payloads, respostas, erros mais comuns e observações de compatibilidade.
Nesta página
Catálogo
A documentação usa caminhos mais didáticos, mas todos os exemplos abaixo continuam compatíveis com o backend atual da Infiny.
POST
Cotação de frete
Consulta o valor e o prazo de frete a partir do CEP de origem, do CEP de destino e dos dados do pacote.
AcessarPOST
Criação de pedido
Cria um pedido operacional na Infiny e retorna o tracking_code gerado ou informado no payload.
AcessarGET
Consulta de tracking
Consulta pedidos vinculados ao mesmo seller do token e retorna tracking_code com status_log para até 10 resultados.
AcessarRotas didáticas com compatibilidade legada
Frete e pedidos
Esses endpoints cobrem a parte principal do ciclo: validar cobertura, abrir o pedido e cancelar quando ainda for possível.
POST
Cotação de frete
Consulta o valor e o prazo de frete a partir do CEP de origem, do CEP de destino e dos dados do pacote.
/api/integration/shipping/quote
Parâmetros
| Campo | Tipo | Obrigatório | Descrição | Exemplo / default |
|---|---|---|---|---|
| origin | string | Sim | CEP de origem com 8 dígitos, sem caracteres especiais. | 01001000 |
| destination | string | Sim | CEP de destino com 8 dígitos, sem caracteres especiais. | 20040030 |
| width | string | Opcional | Largura em centímetros. O backend aceita de 1 a 3 dígitos. | 16 |
| height | string | Opcional | Altura em centímetros. O backend aceita de 1 a 3 dígitos. | 11 |
| length | string | Opcional | Comprimento em centímetros. O backend aceita de 1 a 3 dígitos. | 4 |
| weight | number | Opcional | Peso em quilos. Se omitido, o backend assume 1. | 1 |
| declared_amount | integer | Opcional | Valor declarado em inteiro. O fluxo atual trata montantes monetários como inteiros. | 15990 |
Request de cotação
json{
"origin": "01001000",
"destination": "20040030",
"width": "20",
"height": "12",
"length": "10",
"weight": 1.4,
"declared_amount": 15990
}Response 200
json{
"success": true,
"data": {
"from": "SP",
"to": "RJ",
"amount": 1890,
"deadline": 1
}
}Respostas
| Status | Quando acontece | Formato |
|---|---|---|
| 200 | Frete calculado com sucesso. | { success: true, data: { from, to, amount, deadline } } |
| 400 | Falha de validação ou ausência de cobertura para a região. | { success: false, message: <erro> } |
Compatibilidade com rota legada
Valor inteiro no retorno
POST
Criação de pedido
Cria um pedido operacional na Infiny e retorna o tracking_code gerado ou informado no payload.
/api/integration/orders
Parâmetros
| Campo | Tipo | Obrigatório | Descrição | Exemplo / default |
|---|---|---|---|---|
| company_document | string | Sim | Documento da empresa remetente. Precisa existir no TMS e pertencer ao mesmo seller do token. | — |
| orderId | string | Sim | Identificador único do pedido no sistema de origem. | — |
| orderCost | number | Sim | Valor do pedido. O backend exige valor numérico maior ou igual a zero. | — |
| trackingCode | string | Opcional | Código de rastreio opcional. Se não for enviado, o TMS gera um tracking_code. | — |
| service | enum | Sim | Serviço aceito hoje pelo controller: infiny, next ou turbo. | infiny |
| items[] | array | Sim | Lista de itens. Cada item deve incluir description, dimensions, quantity e price. | — |
| receiver | object | Sim | Destinatário do pedido. receiver.name e receiver.address.{state,city,zipCode,street,streetNumber,neighborhood} são obrigatórios. | — |
| invoice | object | Opcional | Nota fiscal opcional. O validator marca invoice como array, mas o controller atual espera um objeto simples com series, number, issueDate, value e key. | — |
Request de criação
json{
"company_document": "12345678000199",
"orderId": "ORDER-2026-000184",
"orderCost": 159.9,
"trackingCode": "INF-ORDER-2026-000184",
"service": "infiny",
"items": [
{
"description": "Kit same day",
"dimensions": "20x12x10,1.4",
"quantity": 1,
"price": 159.9
}
],
"receiver": {
"name": "Ana Costa",
"phone": "1133334444",
"cellphone": "11999998888",
"email": "ana@example.com",
"document": "12345678900",
"address": {
"state": "SP",
"city": "São Paulo",
"zipCode": "04538132",
"street": "Rua Helena",
"streetNumber": "245",
"neighborhood": "Vila Olímpia",
"complement": "Conj. 11"
}
},
"invoice": {
"series": "1",
"number": "18492",
"issueDate": "2026-03-25 14:30:00",
"value": 159.9,
"key": "35260312345678000199550010000184921000018492"
}
}Response 201
json{
"success": true,
"tracking_code": "INF-ORDER-2026-000184"
}Respostas
| Status | Quando acontece | Formato |
|---|---|---|
| 201 | Pedido criado com sucesso. | { success: true, tracking_code: <tracking_code> } |
| 400 | Pedido duplicado ou tentativa de cancelamento inválida. | { success: false, message: 'Este objeto já foi previamente cadastrado!' } |
| 401 | O token não pertence ao seller da empresa informada. | { success: false, message: 'Request não altorizado' } |
| 404 | Empresa não encontrada para o company_document enviado. | { success: false, message: 'Empresa não encontrada' } |
| 422 | Payload inválido na validação do Laravel. | { success: false, message: 'Dados inválidos', errors: {...} } |
Compatibilidade com rota legada
Formato de dimensions
Idempotência operacional
POST
Cancelamento de pedido
Cancela um pedido existente por orderId, desde que ele ainda não tenha sido entregue ou cancelado.
/api/integration/orders/cancel
Parâmetros
| Campo | Tipo | Obrigatório | Descrição | Exemplo / default |
|---|---|---|---|---|
| orderId | string | Sim | Mesmo identificador enviado na criação do pedido. | — |
Request de cancelamento
json{
"orderId": "ORDER-2026-000184"
}Response 200
json{
"success": true,
"message": "Objeto cancelado com sucesso"
}Respostas
| Status | Quando acontece | Formato |
|---|---|---|
| 200 | Pedido cancelado com sucesso. | — |
| 400 | orderId ausente, pedido já entregue ou pedido já cancelado. | — |
| 404 | Pedido não encontrado ou não pertencente à mesma integração pública. | — |
Compatibilidade com rota legada
Tracking e documentos
O XML atende o cenário atual de Mercado Livre. O tracking serve como leitura complementar para auditoria, atendimento e reconciliação.
POST
Upload de NFe para Mercado Livre
Recebe um XML de nota fiscal via multipart/form-data, extrai xPed e associa os pedidos do Mercado Livre encontrados.
/api/integration/invoices/mercado-livre
Parâmetros
| Campo | Tipo | Obrigatório | Descrição | Exemplo / default |
|---|---|---|---|---|
| nfe | file | Sim | Arquivo XML da nota fiscal enviado em multipart/form-data. | — |
Upload via cURL
bashcurl -X POST "https://use.infiny.com.br/api/integration/invoices/mercado-livre" \
-H "Authorization: Basic pk_xxxxxxxxxxxxxxxxx" \
-F "nfe=@nota-fiscal.xml"Response 200
json{
"success": true,
"message": "Nota fiscal salva com sucesso"
}Respostas
| Status | Quando acontece | Formato |
|---|---|---|
| 200 | NFe salva com sucesso e processada para os pedidos encontrados. | — |
| 422 | Arquivo ausente, inválido ou não enviado no campo nfe. | — |
Compatibilidade com rota legada
xPed é obrigatório
Pedidos do Mercado Livre
GET
Consulta de tracking
Consulta pedidos vinculados ao mesmo seller do token e retorna tracking_code com status_log para até 10 resultados.
/api/integration/orders/tracking
Parâmetros
| Campo | Tipo | Obrigatório | Descrição | Exemplo / default |
|---|---|---|---|---|
| type | enum | Sim | Tipo de busca aceito hoje: document ou order_number. | order_number |
| value | string | Sim | Valor da busca. Para order_number, o backend compara tracking_code, order_code, shipping_id e códigos auxiliares. | — |
| document | string | Opcional | Filtro adicional opcional por documento do cliente. | — |
Tracking por número do pedido
bashcurl -G "https://use.infiny.com.br/api/integration/orders/tracking" \
-H "Authorization: Basic pk_xxxxxxxxxxxxxxxxx" \
--data-urlencode "type=order_number" \
--data-urlencode "value=ORDER-2026-000184"Response 200
json{
"success": true,
"data": [
{
"tracking_code": "INF-ORDER-2026-000184",
"status_log": [
{
"order_id": 184,
"status": "pending",
"company_id": 91,
"via_api": true,
"created_at": "2026-03-25T14:30:00.000000Z",
"updated_at": "2026-03-25T14:30:00.000000Z"
}
]
}
]
}Respostas
| Status | Quando acontece | Formato |
|---|---|---|
| 200 | Objeto encontrado com histórico de status. | — |
| 403 | Parâmetro value ausente no request. | — |
| 200/false | Quando nenhum objeto é encontrado, o controller responde success=false com mensagem de objeto não encontrado. | — |
Compatibilidade com rota legada
Escopo da consulta
Suporte
Precisa validar um fluxo específico?
Se você estiver homologando uma integração ou precisar conferir um comportamento da API pública atual, fale com a equipe da Infiny antes de subir volume real.