01Visão geral
A integração tem três objetos, criados nesta ordem. Os dois primeiros acontecem uma vez por segurado; o terceiro se repete a cada entrega ou corrida.
Ciclo de vida do período
POST /intermittent/persons/periods → abre a cobertura, devolve period_id
│
├── POST /intermittent/persons/geolocation → 1 ponto por minuto enquanto aberto
│
├── PUT .../periods/{period_id} → encerra (entrega concluída)
└── PUT .../periods/{period_id}/cancel → cancela (até 2 min após a criação)
Um pedido, um período. Saída com quatro pedidos gera quatro períodos em sequência: abre o do pedido 1, encerra ao concluir, abre o do pedido 2, e assim por diante. Ordens de Serviço que agrupam vários pedidos devem ser desmembradas. A cobrança da IZA é por pedido concluído — a exceção é quando todos os pedidos são coletados e entregues no mesmo endereço.
02Ambientes e URLs base
Na documentação de endpoints as requisições aparecem com a variável {{ baseVar }}. Ela é o host do ambiente somado ao prefixo /api/integrations:
Montando um endpoint completo a partir da doc — {{ baseVar }}/intermittent/persons/periods em homologação fica:
https://intermittent-web-api.hml.iza.com.vc/api/integrations/intermittent/persons/periods
Todos os endpoints da integração — cadastro e períodos — respondem nesse mesmo host. Basta apontar para uma única URL base por ambiente.
As credenciais são por ambiente: o token de homologação não funciona em produção e vice-versa. Deixe o host e o token em variável de ambiente, nunca fixos no código — assim a virada para produção é só uma troca de configuração.
Todo tráfego é obrigatoriamente HTTPS.
Primeiro teste de conectividade
Vale começar por aqui: confirme que a credencial responde no ambiente certo antes de escrever qualquer código. 200 valida o token e devolve o cadastro do parceiro; 401 indica problema no token.
$ curl -i https://intermittent-web-api.hml.iza.com.vc/api/integrations/partner-info \
-H "Authorization: Basic $(printf '%s:%s' "$USER_API_ID" "$SECRET_KEY" | base64)"
03Autenticação
Os endpoints deste guia são caminhos relativos. As URLs base de homologação e produção estão em Ambientes.
Todos os endpoints exigem autenticação Basic. A IZA entrega, na contratação, um User API ID e uma Secret Key. O token é o Base64 da concatenação dos dois separados por dois-pontos.
# credenciais recebidas da IZA
USER_API_ID=df888dae-6a05-400b-94c2-6962c09f7842
SECRET_KEY=la903yX1Hw+r27RZL5DfOCIvFq0qKvhq...
# token = base64("USER_API_ID:SECRET_KEY")
$ printf '%s:%s' "$USER_API_ID" "$SECRET_KEY" | base64
# enviado em toda requisição
Authorization: Basic ZGY4ODhkYWUtNmEwNS00MDBiLTk0YzItNjk2MmMwOWY3ODQyOmxhOTAz...
Content-Type: application/json
A credencial resolve sozinha a organização do parceiro — não existe parâmetro de organização nos payloads. Guarde a Secret Key em cofre de senhas ou storage criptografado.
Validando a credencial
Use GET /partner-info como teste de fumaça antes de qualquer outra coisa: 200 confirma a credencial e devolve o cadastro do parceiro; 401 indica problema no token.
04Endpoints
Caminhos relativos à URL base do ambiente. Todos exigem o header Authorization.
05Regras por tipo de contratação
Retroatividade e duração padrão mudam conforme o produto contratado. Confirme qual se aplica ao seu contrato antes de codificar os limites.
O finished_at automático é uma rede de segurança, não o comportamento esperado: o encerramento explícito via PUT é o que reflete a operação real e é o que a conciliação avalia.
Regras que valem para todos
- Realocação de OS: ao transferir uma Ordem de Serviço para outro prestador, os períodos seguintes devem ser criados com o CPF do novo motorista.
- Pedido já iniciado não se cancela nem se transfere: o acidente pode ocorrer no deslocamento até a coleta.
- Entrega cancelada: os períodos seguintes simplesmente não são criados.
- Mobilidade com cobertura de passageiro: o fluxo de API é idêntico ao de cobertura só do motorista — a diferença aparece apenas no sinistro.
Guarde por no mínimo 30 dias os logs de toda requisição que resultar em erro inesperado, com URL, payload enviado e corpo da resposta. Sem esses três campos, divergências apontadas na conciliação não têm como ser investigadas.
06Homologação
As fases são sequenciais e a homologação é concluída na conciliação — é a partir dela que a credencial de produção é liberada.
Credencial e conectividade
A IZA envia o User API ID e a Secret Key de homologação. Com eles você monta o token Basic e confirma o acesso.
GET /partner-infoem homologação retorna 200.- CNPJ, endereço e data de ativação conferem com o cadastro do parceiro.
- Host e token estão em variável de ambiente, não no código.
Implementação da integração
Desenvolvimento no ambiente de homologação, cobrindo o fluxo completo. A lista abaixo é o que a conciliação vai olhar depois.
- Criação de person, com 409 tratado como sucesso.
- Criação de contract, com
already_has_contracttratado como sucesso. - Abertura de period em tempo real, persistindo o
period_idjunto ao pedido/corrida no seu sistema. - Encerramento do período na conclusão da entrega — uma única chamada.
- Cancelamento quando a entrega não se concretiza, respeitando a janela de 2 minutos.
- Desmembramento de OS em um período por pedido.
- Envio de geolocalização a cada minuto enquanto o período estiver aberto.
- Retentativa com backoff para 5xx e timeouts, sem duplicar períodos já criados.
- Log de erros com URL, payload e resposta, retido por 30 dias.
Guarde o period_id como chave de negócio no seu lado: é ele que permite encerrar, cancelar e explicar qualquer divergência depois.
Janela de operação contínua — 8 horas
Com a integração pronta, deixe o serviço rodando ininterruptamente por 8 horas, refletindo a operação real: o mesmo volume, o mesmo padrão de abertura e encerramento, os mesmos horários de pico. A ideia não é passar em um teste pontual, e sim ver como a integração se comporta em regime.
- Janela contínua de 8h, sem reinícios manuais para "consertar" o fluxo.
- Horário de início e fim da janela anotados e informados à IZA (com o fuso).
- Volume representativo do dia a dia — não apenas alguns casos felizes.
- Seus próprios contadores ligados: persons criadas, contracts criados, periods abertos, encerrados e cancelados.
- Erros ocorridos no período preservados em log.
Se precisar corrigir algo no meio do caminho, é melhor reiniciar a janela depois do ajuste — uma janela emendada fica difícil de comparar.
Conciliação de volumes
Encerrada a janela, comparamos os números: você extrai os totais do seu sistema e a IZA levanta os mesmos totais do lado dela, pela credencial usada no teste.
Você pode adiantar boa parte dessa conferência sem esperar a IZA:
GET /intermittent/persons/periods
?started_at=2026-08-13T08:00:00
&finished_at=2026-08-13T16:00:00
Sem o doc, a resposta vem agrupada por CPF — dá para conferir CPF a CPF, não só o total.
Se os números não fecharem, não é reprovação: com os logs dos erros em mãos identificamos a causa juntos, você faz o ajuste e roda uma nova janela de 8 horas.
Fechada a conciliação, a IZA emite a credencial de produção. O checklist da virada está em Go-live.
07Go-live
Aprovada a conciliação, a IZA emite a credencial de produção.
- Nova
User API ID/Secret Keyde produção recebidas e guardadas em cofre. - URL base trocada para o host de produção — ver Ambientes.
GET /partner-infoem produção retorna 200 com o cadastro correto.- Primeiro período real criado e encerrado, conferido via
GET /intermittent/persons/periods. - Monitoramento e alerta de erro ligados sobre as chamadas à IZA.
- Retenção de logs de 30 dias ativa em produção.
Vale acompanhar diariamente, na primeira semana, a razão entre períodos abertos e encerrados. É o indicador que denuncia mais cedo qualquer regressão na integração.