Primeiros Passos com Levy Cover
Este guia orienta a ativacao do Levy Cover em uma subconta do zero. Pressupoe que a parceria com a seguradora foi assinada e voce tem credenciais sandbox ou de producao da Cover Genius.
Dependente de parceria
O Levy Cover requer um contrato de distribuicao assinado com a Cover Genius (ou outra seguradora suportada) antes de poder rodar em producao. Ate que as credenciais sejam preenchidas, o cliente da seguradora lanca CarrierNotConfiguredError e a seguradora mock e usada apenas em ambientes nao-producao.
Pre-requisitos
Antes de comecar, confirme:
- A subconta concluiu o onboarding do Stripe Connect.
- A subconta opera em pelo menos uma jurisdicao na Matriz de Jurisdicao.
- Voce tem os valores
API_KEYePARTNER_IDda Cover Genius (sandbox ou producao). - Ciclistas nesta subconta estao usando uma build do aplicativo mobile que inclui o cartao opt-in Levy Cover.
Passo 1 - Definir as credenciais da seguradora
Defina as duas variaveis de ambiente no Vercel para cada ambiente que vai receber trafego de producao:
COVER_GENIUS_API_KEY=<do portal Cover Genius>
COVER_GENIUS_PARTNER_ID=<do portal Cover Genius>
Instrucoes completas em Configuracao de Credenciais da Seguradora. O cliente da seguradora le isso em tempo de execucao - sem deploy necessario apos rotacao, mas e necessario um redeploy na primeira vez que voce os define.
Passo 2 - Verificar a matriz de jurisdicao
Abra a matriz em /dashboard/insurance/settings e confirme que os locais de desbloqueio que voce atende estao marcados como available: true com a seguradora que voce pretende usar. Jurisdicoes inicialmente suportadas:
- EUA: California, Texas, Florida, Carolina do Norte, Massachusetts (Fase 1). Colorado, Arizona, Georgia, Oregon, Tennessee adicionados na Fase 2.
- UE: Alemanha, Franca, Holanda, Portugal.
- Excluidos: Nova York, Washington (friccao DOI). Fora do escopo na v1.
Se sua jurisdicao estiver faltando, contate o suporte - nos a adicionamos a matriz e a tabela insurance_offerings, ou a seguradora ainda nao esta licenciada la.
Passo 3 - Configurar a oferta
Ainda em /dashboard/insurance/settings:
- Ative o Levy Cover on para a subconta.
- Escolha quais niveis oferecer. v1 entrega apenas "Standard"; v2 desbloqueia "Minimal" e "Premium".
- Defina o percentual de comissao do operador. O padrao vem da variavel de ambiente global
INSURANCE_OPERATOR_SHARE_PCT(tipicamente 50% da comissao bruta da Levy); valores por subconta substituem isso. - Salve.
A pagina de configuracoes grava na tabela insurance_offerings, que e a fonte de verdade em tempo de execucao para disponibilidade de opt-in e calculo de comissao.
Passo 4 - Testar em sandbox
Antes de ir ao ar:
- Configure as credenciais sandbox da Cover Genius em um ambiente de preview.
- Desbloqueie um veiculo em uma subconta sandbox. Confirme que o cartao opt-in aparece.
- Aceite a oferta, conclua a viagem e verifique o recibo - "Levy Cover - Standard - 1,00 USD" deve aparecer como item de linha separado.
- Apresente um sinistro de teste do historico de viagens. Carregue pelo menos uma foto. Confirme que o sinistro chega a lista do operador em
/dashboard/insurance/claims. - Inspecione
ride_insurance_policieseinsurance_claimsno banco de dados - ambos devem ter os IDs de seguradora retornados pelo sandbox da Cover Genius.
Passo 5 - Promover para producao
Quando o UAT sandbox estiver limpo e a Cover Genius tiver aprovado:
- Defina
COVER_GENIUS_API_KEYeCOVER_GENIUS_PARTNER_IDde producao na env de producao do Vercel. - Verifique se a URL do receptor de webhook esta registrada com a seguradora:
https://fleets.levyelectric.com/api/webhooks/insurance/cover-genius. - Ative o toggle da subconta em producao.
- Observe as primeiras 10-20 viagens seguradas. Monitore
insurance_webhook_logparasignature_verified = trueem cada evento de entrada.
Passo 6 - Entregar para operacoes
Diga a operacoes Levy:
- Qual subconta esta agora ao vivo.
- Quais jurisdicoes estao cobertas.
- Percentual de comissao do operador.
- Credenciais sandbox vs producao em uso.
Tickets de suporte para "Tive um acidente e quero meu dinheiro de volta" agora sao roteados atraves do fluxo de sinistro da seguradora em vez de reembolsos de cortesia.
Problemas comuns no primeiro dia
| Sintoma | Causa | Correcao |
|---|---|---|
| Cartao opt-in nunca aparece | Toggle de subconta desligado, ou jurisdicao nao na matriz | Reverifique /dashboard/insurance/settings; confirme que o local de desbloqueio resolve para uma regiao suportada |
CarrierNotConfiguredError em logs | Vars de ambiente nao definidas | Defina COVER_GENIUS_API_KEY e COVER_GENIUS_PARTNER_ID, faca redeploy |
| Chamada de vinculo retorna 200 mas sem apolice no DB | URL de webhook nao registrada com a seguradora | Registre /api/webhooks/insurance/cover-genius na Cover Genius; reexecute cron de reconciliacao |
| Premio nao no recibo | Pipeline de conclusao de viagem nao aplicou o helper | Verifique se process-ride-completion.ts inclui applyRideInsuranceToPricing |
| Upload de sinistro falha | Politicas do bucket de armazenamento nao aplicadas | Confirme que o bucket privado insurance-claims existe com politica de upload/leitura do ciclista |
Em seguida
Uma vez que a seguradora esteja habilitada, leia Opt-In Por Viagem - Fluxo do Ciclista para entender o que o ciclista ve, e Apresentando um Sinistro - Fluxo do Ciclista para o caminho do sinistro.
Precisa de ajuda?
Duvidas sobre a configuracao do Levy Cover, contate support@levyelectric.com.