Configuracao de Credenciais da Seguradora
O Levy Cover le credenciais da seguradora em tempo de execucao a partir de variaveis de ambiente. Esta pagina descreve as credenciais que cada seguradora espera, onde defini-las, como rotaciona-las e como verificar se estao corretamente conectadas.
Credenciais de producao sao dinheiro real
As credenciais de producao da Cover Genius vinculam apolices reais e acionam cobrancas reais de premio em cartoes de ciclistas. Sempre faca UAT sandbox primeiro, e nunca cole chaves de producao em ambientes de preview.
Cover Genius (primaria)
Duas variaveis, ambas obrigatorias:
COVER_GENIUS_API_KEY=<do portal Cover Genius>
COVER_GENIUS_PARTNER_ID=<do portal Cover Genius>
COVER_GENIUS_API_KEYautentica cada chamada de API. Estilo Bearer.COVER_GENIUS_PARTNER_IDidentifica a Levy Fleets para a Cover Genius e e usado para rotear cotacoes para o contrato de distribuidor correto.
Ambos os valores vem do portal de parceiros da Cover Genius. Sandbox e producao tem chaves separadas; nunca compartilhe chaves entre ambientes.
Se qualquer variavel estiver faltando, CoverGeniusClient lanca CarrierNotConfiguredError. Em dev e test, o registro recorre a seguradora mock. Em producao, cotacoes retornam available: false e o cartao opt-in fica oculto.
Slice (fallback Fase 2)
Slice e entregue na Fase 2 como uma seguradora de fallback para jurisdicoes que a Cover Genius nao pode cobrir. Quando ativado, defina:
SLICE_API_KEY=<do portal de parceiros Slice>
SLICE_PARTNER_ID=<do portal de parceiros Slice>
O formato das variaveis corresponde a Cover Genius. A matriz de jurisdicao roteia a seguradora correta por regiao (veja Matriz de Jurisdicao).
Seguradora mock (desenvolvimento e testes)
A seguradora mock nao requer credenciais. E selecionada automaticamente quando NODE_ENV !== 'production' e as credenciais reais da seguradora estao ausentes. Gera IDs de apolice e IDs de sinistro sinteticos para que o caminho de codigo completo possa ser exercido sem atingir uma seguradora real.
Testes podem fixar o registro no cliente mock usando setCarrierRegistryForTests, que esta documentado nos helpers de teste em src/lib/insurance/__tests__/.
Escopo de ambiente Vercel
Defina credenciais em Configuracoes do Projeto Vercel > Variaveis de Ambiente:
| Ambiente | Valor Cover Genius | Usado por |
|---|---|---|
| Producao | Chave de API e ID de parceiro de producao | fleets.levyelectric.com |
| Preview | Chave de API e ID de parceiro sandbox | Previews de PR, staging |
| Desenvolvimento | Deixe nao definido; seguradora mock e usada | next dev local |
Um redeploy e necessario na primeira vez que voce define as variaveis. Depois disso, rotacionar valores entra em vigor na proxima invocacao (Vercel le vars de ambiente por requisicao).
Segredo de webhook
O segredo de assinatura de webhook da Cover Genius e uma variavel separada:
COVER_GENIUS_WEBHOOK_SECRET=<do portal Cover Genius>
O roteador de webhook usa isso para verificar a assinatura HMAC em cada evento de entrada. Se o segredo estiver faltando, a verificacao de assinatura falha, e eventos caem em insurance_webhook_log com signature_verified = false. Defina isso por ambiente junto com a chave de API.
Rotacao
A Cover Genius suporta rotacao de chave atraves do portal de parceiros. O procedimento de rotacao:
- Gere uma nova chave no portal Cover Genius.
- Defina o novo valor no Vercel para o ambiente apropriado.
- Acione um redeploy (ou espere pelo proximo deploy - as mudancas entram em vigor no proximo cold start).
- Confirme que uma nova cotacao e bem-sucedida.
- Revogue a chave antiga no portal Cover Genius.
Nao revogue a chave antiga antes que a nova chave seja verificada. A Cover Genius nao pre-prepara credenciais futuras; a unica ordem segura e definir-novo -> verificar -> revogar-antigo.
Verificacao
Apos definir credenciais, verifique a conexao:
- De uma sessao autenticada no dashboard, acesse
/api/admin/insurance/carriers. Deve listarcover_geniuscomconfigured: true. - Acione um desbloqueio sandbox e inspecione a resposta de
/api/mobile/insurance/cover/quote. Uma seguradora corretamente configurada retorna pelo menos um nivel com um premio diferente de zero. - Inspecione logs do Vercel para
CarrierNotConfiguredError. Qualquer ocorrencia indica um ambiente mal configurado.
O que nunca vai em variaveis de ambiente
- Percentuais de comissao por subconta. Estes vivem em
insurance_offeringse sao editaveis pelo operador. - Precos de nivel. Os precos sao determinados pela seguradora e retornados pelo endpoint de cotacao por viagem.
- PII do ciclista. PII e compartilhada com a seguradora por vinculacao via API, nao armazenada em env.
Os ajustes globais de comissao INSURANCE_LEVY_GROSS_PCT (padrao 25) e INSURANCE_OPERATOR_SHARE_PCT (padrao 50) sao variaveis de ambiente, mas sao valores de politica de comissao, nao segredos - regras de rotacao nao se aplicam.
Em seguida
Uma vez que as credenciais estejam no lugar, veja Ativando Cover Genius para o passo a passo completo de ativacao.
Precisa de ajuda?
Duvidas sobre credenciais da seguradora, contate support@levyelectric.com.