Skip to contentPular para o conteúdo
Ecomilhas EcomilesEcomilhas Docs
GuidesGuias SupportSuporte Playground ↗
DocumentationDocumentação / Partners API v1

IntroductionIntrodução

Learn how to embed verified sustainable-mobility rewards in your product through the Ecomilhas Partners API — user sessions, GPS-verified trips, cash-prize redemption and auditable company metrics. Aprenda a embarcar recompensas de mobilidade sustentável verificada no seu produto com a Partners API da Ecomilhas — sessões de usuário, trajetos verificados por GPS, resgate de prêmios e métricas auditáveis da empresa.

Partners API v1 is live. All endpoints below are running and testable in the interactive playground. Request production keys at developers@ecomiles.app. A Partners API v1 está no ar. Todos os endpoints abaixo estão rodando e são testáveis no playground interativo. Solicite suas chaves em developers@ecomiles.app.

What is the Partners API?O que é a Partners API?

Ecomilhas turns low-carbon trips — walking, cycling, public transport, ethanol and electric vehicles — into rewards, backed by GPS validation and a GHG Protocol methodology with limited assurance by KPMG. The Partners API lets your product plug into that engine: create and authenticate end users under your company, read their verified trips and balances, offer prize redemption and pull consolidated impact metrics for ESG reporting. A Ecomilhas transforma deslocamentos de baixo carbono — a pé, bicicleta, transporte público, etanol e veículos elétricos — em recompensas, com validação por GPS e metodologia GHG Protocol com asseguração limitada da KPMG. A Partners API conecta o seu produto a esse motor: crie e autentique usuários finais sob a sua empresa, leia trajetos e saldos verificados, ofereça resgate de prêmios e extraia métricas consolidadas de impacto para o reporte ESG.

AuthenticationAutenticação#

The API uses two credentials, combined per route: A API usa duas credenciais, combinadas conforme a rota:

  • x-api-keyidentifies your company. Issued in the admin panel; required on every partner route.identifica a sua empresa. Gerada no painel administrativo; obrigatória em toda rota de parceiro.
  • Authorization: Bearer <accessToken>identifies the end user. Returned by POST /auth/login or POST /auth/create-account; required on user routes (profile, trips, cash prizes). Renew with POST /auth/refresh before expiresAt.identifica o usuário final. Retornado por POST /auth/login ou POST /auth/create-account; obrigatório nas rotas de usuário (perfil, viagens, cash prizes). Renove com POST /auth/refresh antes de expiresAt.
# Base URL
https://ecomilhas-api-h-homologation.up.railway.app

# Conventions
Versioning:  path (/partners/v1)
Dates:       ISO 8601
Lists:       paginated (?page=1&limit=20)

Quickstart#

Three calls take you from zero to real data. Every request below runs against the live environment — you can also fire them from the playground without writing code. Três chamadas levam você do zero ao dado real. Toda requisição abaixo roda no ambiente ao vivo — você também pode dispará-las pelo playground sem escrever código.

# Creates the end user and links them to your company (the x-api-key owner)
curl -X POST https://ecomilhas-api-h-homologation.up.railway.app/partners/v1/auth/create-account \
  -H "x-api-key: $ECOMILHAS_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "email": "novo.usuario@exemplo.com",
    "password": "senha-forte-123",
    "username": "Nome do Usuário"
  }'

# 201 → {"userId": 12345, "accessToken": "eyJ…", "refreshToken": "…", "expiresAt": "2026-08-18T18:00:00Z"}
# Verified trips of the authenticated user (GPS-validated, paginated)
curl "https://ecomilhas-api-h-homologation.up.railway.app/partners/v1/user/trips?page=1&limit=20" \
  -H "x-api-key: $ECOMILHAS_KEY" \
  -H "Authorization: Bearer $ACCESS_TOKEN"

# 200 →
{
  "elements": [{
    "id": 101,
    "ecomilesValue": 12.5,
    "primaryVehicleType": "bicycle",
    "totalDistanceMeters": 4200,
    "wasAllApproved": true
  }],
  "totalElements": 1
}
# Company dashboard: users, monthly trips and avoided CO2 (approved trips)
curl "https://ecomilhas-api-h-homologation.up.railway.app/partners/v1/metrics?year=2026&month=9" \
  -H "x-api-key: $ECOMILHAS_KEY"

# 200 →
{
  "usersCount": 142,
  "tripsSubmittedCount": 318,
  "avoidedCo2Tons": 1.234
}

Integration pathsCaminhos de integração#

You don't need an engineering team to start. Pick the path that fits your organization today and upgrade later — everything runs on the same platform. Você não precisa de time de engenharia para começar. Escolha o caminho que cabe na sua organização hoje e evolua depois — tudo roda na mesma plataforma.

  1. Program without ITPrograma sem TI

    For HR, benefits and sustainability teams: your people use the Ecomilhas app, you follow results in the business dashboard. No integration, live in weeks. Talk to our team →Para times de RH, benefícios e sustentabilidade: seus colaboradores usam o app Ecomilhas e você acompanha os resultados no painel business. Sem integração, no ar em semanas. Falar com nosso time →

  2. Deep link into the Ecomilhas appDeep link para o app Ecomilhas

    Your product creates the session and hands the user off to the Ecomilhas app already signed in, via single-use magic link (POST /auth/app-link-token). Minimal code, full experience.Seu produto cria a sessão e entrega o usuário no app Ecomilhas já autenticado, via link mágico de uso único (POST /auth/app-link-token). Pouco código, experiência completa.

  3. Full APIAPI completa

    For engineering teams: build your own experience with the endpoints below — sessions, trips, prizes and metrics inside your product. Request keys →Para times de engenharia: construa sua própria experiência com os endpoints abaixo — sessões, viagens, prêmios e métricas dentro do seu produto. Solicitar chaves →

Typical journey: conversation → sandbox keys with synthetic data → pilot with a real group → production rollout with support and auditable reporting. Jornada típica: conversa → chaves de sandbox com dados sintéticos → piloto com um grupo real → rollout de produção com suporte e reporte auditável.

API referenceReferência da API#

REST, path-versioned (/partners/v1), ISO 8601 dates, paginated lists. Generated from the implementation — always in sync with the code. Try every call in the playground. REST, versionamento por path (/partners/v1), datas ISO 8601, listas paginadas. Gerada a partir da implementação — sempre em sincronia com o código. Teste cada chamada no playground.

Auth

End-user sessions under your company. Requires x-api-key.Sessões do usuário final sob a sua empresa. Exige x-api-key.
POST/partners/v1/auth/loginE-mail + password → accessToken/refreshTokenE-mail + senha → accessToken/refreshToken
POST/partners/v1/auth/create-accountCreate the end user and auto-link to your companyCria o usuário final e vincula automaticamente à sua empresa
POST/partners/v1/auth/refreshSwap a refreshToken for a new sessionTroca o refreshToken por uma nova sessão
POST/partners/v1/auth/logoutInvalidate the current sessionInvalida a sessão atual
POST/partners/v1/auth/forgot-passwordStart password recovery by e-mailInicia a recuperação de senha por e-mail
POST/partners/v1/auth/reset-passwordSet a new password with the received codeDefine nova senha com o código recebido

User & tripsUsuário & viagens

Requires x-api-key + Bearer.Exige x-api-key + Bearer.
GET/partners/v1/user/meProfile, linked company, ecomiles and wallet balancePerfil, empresa vinculada, ecomilhas e saldo da carteira
PATCH/partners/v1/user/meUpdate name, e-mail and/or phoneAtualiza nome, e-mail e/ou telefone
GET/partners/v1/user/tripsGPS-verified trips, paginatedViagens verificadas por GPS, com paginação
GET/partners/v1/user/trips/{id}Detail of one trip of the authenticated userDetalhe de uma viagem do usuário autenticado

Cash prizes

Prize storefront and redemption. Requires x-api-key + Bearer. Redemption respects a minimum window between redemptions (default 1 day, configurable per company; early retries return 422 with nextRedeemAt).Vitrine de prêmios e resgate. Exige x-api-key + Bearer. O resgate respeita janela mínima entre resgates (padrão 1 dia, configurável por empresa; tentativas antecipadas retornam 422 com nextRedeemAt).
GET/partners/v1/cash-prizesPrizes available for redemptionPrêmios disponíveis para resgate
POST/partners/v1/cash-prizes/{id}/redeemRedeem a prizeResgata um prêmio
GET/partners/v1/cash-prizes/redemption-historyRedemption history, paginatedHistórico de resgates, com paginação

Company & opsEmpresa & operação

Aggregates for dashboards and monitoring.Agregados para dashboards e monitoramento.
GET/partners/v1/metricsUsers, monthly trips and avoided CO2 (tons) — x-api-key onlyUsuários, trajetos do mês e CO2 evitado (t) — só x-api-key
GET/partners/v1/statusHealth check — no auth requiredHealth check — sem autenticação

Webhooks#

Planned — next module on the roadmap. Events will be HMAC-SHA256 signed (X-Ecomilhas-Signature) with exponential-backoff retries for up to 24h. Planejado — próximo módulo do roadmap. Eventos serão assinados com HMAC-SHA256 (X-Ecomilhas-Signature), com retry em backoff exponencial por até 24h.
trip.processedbalance.updatedreward.redeemedinventory.completedcampaign.endedgoal.achieved

Security & complianceSegurança & conformidade#

  • LGPD / GDPRdata minimization, deletion propagation; companies only ever see aggregates — never raw location.minimização de dados, propagação de exclusão; empresas só veem agregados — nunca localização bruta.
  • GHG Protocol + MRVversioned emission factors per modal/region; every tCO2e traceable to its trips. Methodology with limited assurance by KPMG.fatores de emissão versionados por modal/região; cada tCO2e rastreável até seus trajetos. Metodologia com asseguração limitada da KPMG.
  • Anti-fraudspeed-vs-modal checks, spatio-temporal dedup, idempotency by external id, two-factor identity on the app.validação velocidade × modal, deduplicação espaço-temporal, idempotência por id externo, identidade com dois fatores no app.
  • Mastercard MDEScard provisioning through network standards; the PAN is never exposed to partners.provisioning do cartão pelos padrões da bandeira; o PAN nunca é exposto a parceiros.
  • Rate limiting & sandboxtiered quotas and a full test environment before production keys.cotas por tier e ambiente de testes completo antes das chaves de produção.
  • Hardened by defaultTLS everywhere and strict security headers (CSP, X-Frame-Options, nosniff) on this portal.TLS em tudo e security headers estritos (CSP, X-Frame-Options, nosniff) neste portal.
  • Responsible disclosurefound a vulnerability? See security.txt or write to contato@ecomiles.app.encontrou uma vulnerabilidade? Veja o security.txt ou escreva para contato@ecomiles.app.

Methodology & assuranceMetodologia & asseguração#

Every tonne of CO2e that Ecomilhas reports can be traced back to individual, GPS-verified trips. This section documents how the number is produced, who assures it, and how we protect the people behind the data. It is also available as a standalone page at /seguranca (/security in English). Cada tonelada de CO2e que a Ecomilhas reporta pode ser rastreada até trajetos individuais verificados por GPS. Esta seção documenta como o número é produzido, quem o assegura e como protegemos as pessoas por trás do dado. Também está disponível como página própria em /seguranca (/security em inglês).

CO2e methodology (GHG Protocol)Metodologia de CO2e (GHG Protocol)

Avoided-emission calculations follow the GHG Protocol Corporate Accounting and Reporting Standard (WRI/WBCSD), applied to Scope 3 category 6 (business travel) and category 7 (employee commuting). The baseline assumes the trip would otherwise have been made in a conventional gasoline car; the actual modal's emission factor is subtracted from that baseline. O cálculo de emissões evitadas segue o GHG Protocol Corporate Accounting and Reporting Standard (WRI/WBCSD), aplicado ao Escopo 3 categoria 6 (viagens corporativas) e categoria 7 (deslocamento casa-trabalho). A linha de base assume que o trajeto seria feito em um carro convencional a gasolina; o fator de emissão do modal realmente usado é subtraído dessa linha de base.

# Per verified tripPor trajeto verificado
CO2e avoidedevitado (kg) = (Baseline factorFator da linha de baseModal factorFator do modal) × DistanceDistância (km) × GWP
  • Distance comes from the app's GPS tracking — measured, not self-reported.Distância vem do rastreamento GPS do app — medida, não autodeclarada.
  • Emission factors are versioned per modal and region, using official sources (Brazilian government inventories, IPCC AR4 GWP-100) — walking and cycling count as zero-emission; public transport, ethanol and electric vehicles use modal- and grid-specific factors.Fatores de emissão são versionados por modal e região, com fontes oficiais (inventários do governo brasileiro, GWP-100 do IPCC AR4) — caminhada e bicicleta contam como emissão zero; transporte público, etanol e veículos elétricos usam fatores específicos de modal e da matriz elétrica.
  • Traceability: every reported tCO2e decomposes into its individual trips, with timestamps and modal — an MRV-style audit trail.Rastreabilidade: cada tCO2e reportada se decompõe em seus trajetos individuais, com horários e modal — trilha de auditoria no padrão MRV.

Independent assurance (KPMG)Asseguração independente (KPMG)

KPMG has issued an Independent Practitioners' Limited Assurance Report over selected Ecomilhas ESG indicators, concluding that nothing came to their attention to suggest the information was not properly prepared and presented under the applicable criteria. A KPMG emitiu um relatório de asseguração limitada independente sobre indicadores ESG selecionados da Ecomilhas, concluindo que nada chegou ao seu conhecimento que sugerisse que as informações não foram preparadas e apresentadas adequadamente segundo os critérios aplicáveis.
GHG — operational controlGEE — controle operacionalScope 3 avoided emissions: business travel and work-home commuting (tCO2e)Emissões evitadas de Escopo 3: viagens corporativas e deslocamento casa-trabalho (tCO2e)
GHG intensityIntensidade de GEEAvoided-emission intensity per km, by fuel (ethanol, electric)Intensidade de emissões evitadas por km, por combustível (etanol, elétrico)
Carbon creditsCréditos de carbonoVerified carbon mobility credits (VCUs) from validated personal tripsCréditos verificados de mobilidade (VCUs) de trajetos pessoais validados

Clients receive the assurance letter for their reporting period together with the quarterly impact report. To request a copy: contato@ecomiles.app. Clientes recebem a carta de asseguração do seu período junto com o relatório trimestral de impacto. Para solicitar uma cópia: contato@ecomiles.app.

Anti-fraud & trip validationAntifraude & validação de trajetos

Speed vs. modalVelocidade × modal

Each trip's speed profile must be consistent with the declared modal — a "bike ride" at 70 km/h is rejected.O perfil de velocidade de cada trajeto precisa ser consistente com o modal declarado — uma "pedalada" a 70 km/h é rejeitada.

Spatio-temporal dedupDeduplicação espaço-temporal

Overlapping or duplicated trips from the same user are collapsed; the same kilometre is never counted twice.Trajetos sobrepostos ou duplicados do mesmo usuário são consolidados; o mesmo quilômetro nunca é contado duas vezes.

Human + automated reviewRevisão automática + humana

Trips pass automated checks and can be flagged for review; only approved trips enter reported CO2e.Trajetos passam por checagens automáticas e podem ser marcados para revisão; só trajetos aprovados entram no CO2e reportado.

Verified identityIdentidade verificada

Corporate programs require the company e-mail and two-factor authentication in the app.Programas corporativos exigem o e-mail da empresa e autenticação de dois fatores no app.

Privacy (LGPD / GDPR)Privacidade (LGPD / GDPR)

  • Companies only see aggregates.Empresas só veem agregados. Employers access emissions and engagement totals — never an individual's real-time location or route history.Empregadores acessam totais de emissões e engajamento — nunca a localização em tempo real ou o histórico de rotas de um indivíduo.
  • Passive, purpose-bound tracking.Rastreamento passivo e com finalidade. GPS data is used to validate trips and compute CO2e; data minimization applies throughout.O GPS é usado para validar trajetos e calcular CO2e; minimização de dados vale em todo o fluxo.
  • Deletion propagation.Propagação de exclusão. When a user deletes their account, the deletion propagates through processing systems.Quando o usuário exclui a conta, a exclusão se propaga pelos sistemas de processamento.

Documents: Privacy policy · Data Processing Agreement (DPA) · Terms of use Documentos: Política de privacidade · Acordo de Tratamento de Dados (DPA) · Termos de uso

PricingPreços#

Pricing scales with the volume of trips processed per month. Each tier includes a monthly fee; trips above the contracted tier are billed per trip at the overage rate. Values in euros. O preço escala com o volume de trajetos processados por mês. Cada faixa tem uma mensalidade; trajetos acima da faixa contratada são cobrados por trajeto, na tarifa de excedente. Valores em euro.

Monthly volumeVolume mensalMonthly feeMensalidadeOverage pricePreço por excedente
Up to 10,000 tripsAté 10.000 trajetos€ 500€ 0,0100
Up to 100,000 tripsAté 100.000 trajetos€ 1.000€ 0,0075
Up to 500,000 tripsAté 500.000 trajetos€ 1.500€ 0,0050
Up to 2,000,000 tripsAté 2.000.000 de trajetos€ 2.000€ 0,0035
Over 2,000,000 trips+2.000.000 de trajetos€ 2.500€ 0,0025
Setup & SandboxSetup e Sandbox€ 1.000
Customer success & supportsuporte20h/month included20h/mês incluso€ 50/h

Setup & Sandbox is a one-time fee and includes test keys, synthetic data and onboarding. For pricing in BRL, annual agreements or enterprise volumes, contact contato@ecomiles.app. Setup e Sandbox é cobrança única e inclui chaves de teste, dados sintéticos e onboarding. Para valores em reais, contratos anuais ou volumes enterprise, fale com contato@ecomiles.app.

Roadmap#

Partners API v1 is live: auth, deep links, users & trips, cash prizes and company metrics. The next modules, in order: A Partners API v1 está no ar: auth, deep links, usuário & viagens, cash prizes e métricas da empresa. Os próximos módulos, em ordem:

LiveNo ar

Partners API v1

Auth, deep link, user & trips, cash prizes, metrics.Auth, deep link, usuário & viagens, cash prizes, métricas.

In developmentEm desenvolvimento

InventoryInventário

CO2e Inventory API (4 MVP endpoints) + export for ESG platforms.API de Inventário CO2e (4 endpoints MVP) + export para plataformas ESG.

Technical planningPlanejamento técnico

Trips & Balance + Webhooks

Write APIs for trips and balance, plus the webhook layer.APIs de escrita de trajetos e saldo, mais a camada de webhooks.

Product visionVisão de produto

Widget & Wallet

White-label widget/SDK and Mastercard push provisioning.Widget/SDK white-label e push provisioning Mastercard.

SupportSuporte#

© 2026 Ecomilhas · Partners API v1 live — request your keys at developers@ecomiles.app.Partners API v1 no ar — solicite suas chaves em developers@ecomiles.app. Main siteSite principal · OpenAPI · security.txt