advanced
plugins
portal-do-desenvolvedor
manifesto

Portal do Desenvolvedor

Construa e publique plugins para o marketplace Levy Fleets. Schema de manifesto, sandbox, processo de envio e SLA de revisao de 5 dias.

Equipe Levy FleetsMay 18, 20268 min read

Portal do Desenvolvedor

O portal do desenvolvedor Levy Fleets e onde desenvolvedores terceirizados se registram como fornecedores, constroem plugins, testam em sandbox e os enviam para revisao no marketplace. Ele vive em /developers e e aberto a todos - nenhum requerimento ou chamada de vendas necessario.

Construir um plugin e aberto a todos

Desenvolvedores solo, agencias, grandes fornecedores - qualquer um pode se registrar e enviar. Levy Plugins e um marketplace publico, nao um programa de parceiros curado.

Quem constroi plugins

  • Fornecedores com um produto existente - Veriff, Cover Genius, Captur.ai construiram plugins porque ja tinham um SaaS que se encaixava. Plugin = distribuicao para operadores Levy.
  • Desenvolvedores indie - pontuacao de deteccao de fraude, analytics personalizado, integracoes IoT de nicho. A Levy e um lugar para monetizar uma pequena ferramenta focada.
  • Agencias construindo para clientes - plugins construidos por agencias para um cliente de frota especifico podem ser listados como privados ou publicos.
  • Operadores Levy existentes - as vezes uma frota constroi uma ferramenta interna util para outros clientes Levy e a lista.

O que voce precisa

Para enviar um plugin, voce precisara de:

  1. Um perfil de fornecedor - nome, e-mail de suporte, homepage, logo opcional da empresa
  2. Um Acordo de Parceiro de Plugin assinado - termos juridicos padrao (notificacao de violacao em 24h, propriedade de IP, rescisao)
  3. Um endpoint de webhook funcionando - URL HTTPS que aceita POSTs assinados da Levy
  4. Um manifesto plugin.json - veja schema abaixo
  5. Capturas de tela - pelo menos uma, recomendado tres (1280x800 PNG/JPG)
  6. Uma descricao longa - conteudo Markdown para a pagina de detalhes do marketplace
  7. (Para plugins pagos) Conta Stripe Connect Express - a Levy o guiara pelo onboarding

O manifesto

Cada plugin entrega um manifesto plugin.json (ou .yaml). Forma TypeScript completa:

type PluginManifest = {
  slug: string;                    // 'my-fraud-tool' — minusculas, separado por hifens, unico
  version: string;                 // semver, ex. '1.0.0'
  name: string;                    // nome de exibicao
  vendor: {
    name: string;
    email: string;
    url: string;
  };
  category: 'kyc' | 'insurance' | 'parking' | 'analytics'
          | 'notifications' | 'iot' | 'payments' | 'workflow' | 'other';
  description: string;             // 1-2 frases para cartoes
  long_description_mdx?: string;   // corpo da pagina de detalhes (Markdown)
  screenshots: string[];           // URLs CDN
  homepage: string;
  support_url: string;
  permissions: PluginPermission[];
  webhook_subscriptions: LevyEvent[];
  webhook_endpoint: string;        // sua URL que a Levy fara POST
  config_schema: JSONSchema7;      // renderizado como formulario durante a instalacao
  oauth?: {
    authorize_url: string;
    token_url: string;
    scopes: string[];
  };
  pricing: PluginPricing;
  ui_mounts?: UIMount[];           // apenas v4
};

Veja Enviando um plugin para referencia completa do schema e exemplos campo a campo.

Permissoes que voce pode solicitar

A Levy usa permissoes finas e com escopo. Solicite apenas o que voce precisa - escopos extras prejudicam sua taxa de aprovacao e sua taxa de instalacao de operador.

EscopoCaso de uso
read:ridesDados de corrida sem preco
read:rides.geoTrilhas GPS e coordenadas
read:rides.financialPrecos, taxas, repasses
write:rides.flagsFlags de fraude, pontuacoes de estacionamento
write:rides.tagsTags de categorizacao
read:customersIDs anonimizados de passageiros
read:customers.piiNomes, e-mails, telefones - classe administrativa
write:customers.tagsMarcar passageiros (status KYC, etc.)
write:customers.notesAdicionar notas de operador
read:vehiclesInventario de frota
write:vehicles.statusBloquear / desbloquear - classe administrativa
write:vehicles.notesNotas de manutencao
read:payoutsRegistros de repasse a parceiros
read:zonesDefinicoes de zona
write:zonesCriar/editar zonas - classe administrativa
read:webhooksReplay de log de eventos

A permissao write:rides.cost nao existe. Plugins nao podem alterar tarifas de corrida - isto e reservado para o nucleo Levy para proteger a contabilidade de reembolsos. Se voce precisa emitir um reembolso, solicite a equipe de parcerias para adicionar um fluxo de reembolso-contra-a-corrida.

Eventos que voce pode assinar

ride.created, ride.started, ride.ended, ride.cancelled, ride.adjusted
vehicle.status_changed, vehicle.battery_low, vehicle.offline
customer.created, customer.kyc_completed, customer.suspended
payment.captured, payment.refunded, payout.completed
zone.entered, zone.exited, zone.violation
support.ticket_created

Assine o conjunto minimo que voce precisa. Cada entrega de evento e um POST para seu webhook_endpoint com assinatura HMAC-SHA256 no cabecalho X-Levy-Signature.

Sandbox

Antes de enviar, voce obtera acesso a uma subconta sandbox com dados sinteticos de corrida, veiculo e cliente. Dispare eventos de teste do portal do desenvolvedor para verificar seu endpoint de webhook, a renderizacao do seu formulario de configuracao e seu fluxo de autenticacao.

Eventos sandbox sao claramente marcados com "environment": "sandbox" para que voce possa ramificar seu codigo.

Fila de revisao e SLA de 5 dias

Quando voce envia um plugin, ele entra na fila de revisao Levy. Nossa equipe de operacoes revisa:

VerificacaoO que olhamos
Validade do manifestoConformidade com schema, JSON valido
Necessidade de permissaoTodos os escopos solicitados sao realmente usados?
Postura de privacidadeComo os dados do passageiro sao tratados, armazenados, excluidos?
Confiabilidade do webhookSeu endpoint responde corretamente a eventos de teste?
Justica de precosO preco esta na faixa razoavel (US$ 0-999/mes ou por evento)?
Acordo de fornecedorAssinado e atual?
Capturas de tela e descricaoPrecisas, sem alegacoes enganosas?

SLA de revisao de 5 dias: visamos lhe dar uma decisao (aprovar, solicitar mudancas, rejeitar) dentro de 5 dias uteis. A maioria das revisoes completa em 2-3 dias. Voce recebe atualizacoes por e-mail conforme a revisao avanca.

Se solicitarmos mudancas, voce pode reenviar a qualquer momento e o relogio SLA reinicia. Reenvios normalmente completam em 1-2 dias.

Divisao de receita

Fornecedores de plugin recebem 80% da receita bruta do plugin; a Levy cobra uma taxa de plataforma de 20%. Parceiros estrategicos podem negociar ate 10% (a Levy fica com menos) por valor estrategico, ou ate 30% para plugins de nicho onde a Levy fornece aquisicao de cliente significativa.

O Stripe Connect lida com repasses. Voce faz onboarding uma vez durante o registro de fornecedor. Faturas mensais sao geradas automaticamente; repasses chegam 7 dias apos o pagamento do operador.

Obrigacoes pos-lancamento

Uma vez que seu plugin esteja ativo:

  • SLA de notificacao de violacao de 24 horas - se voce tiver um incidente de seguranca afetando dados de operadores Levy, notifique-nos em 24 horas.
  • Atestacao SOC 2 anual - se voce processa PII, pedimos seu relatorio SOC 2 anualmente.
  • Manutencao - mantenha seu endpoint de webhook saudavel. Plugins com >7 dias de falhas continuas de webhook sao desativados automaticamente em todas as instalacoes.
  • Tempo de resposta de suporte - operadores esperam respostas em 1 dia util para sua support_url.
  • Atualizacoes de versao - versoes patch e minor sao atualizadas automaticamente para operadores instalados; versoes major exigem reconsentimento do operador.

Comecar