EVO · API Externa

Documentação da API

Consulta de vendas (com cobranças e notas fiscais), clientes, ARPs e credenciamento. Cada credencial acessa apenas as rotas liberadas para ela.

GET https://api.metodoevo.com.br/api/v1

Autenticação

A API é somente leitura (apenas GET). Envie a chave da credencial no header Authorization, no formato Bearer:

Authorization: Bearer evo_key

Acessos. Cada credencial tem as rotas liberadas individualmente (coluna Acesso abaixo). Rota não liberada responde 403. GET /api/v1/me lista os acessos da sua credencial.

Endpoints

MétodoCaminhoAcessoDescrição
GET/api/v1/me—Identifica a credencial autenticada e os acessos liberados (teste de conexão).
GET/api/v1/vendasvendas:readLista vendas, agregadas por venda (inclui número/série/chave/status/DANFE das notas).
GET/api/v1/vendas/:id_vendavendas:readDetalhe de uma venda pelo código.
GET/api/v1/vendas/:id_venda/notas-fiscaisnotas_fiscais:readNotas fiscais da venda com o XML completo.
GET/api/v1/clientesclientes:read · só EVOLista clientes.
GET/api/v1/clientes/:id_clienteclientes:read · só EVODetalhe de um cliente.
GET/api/v1/arpsarps:read · só EVOLista ARPs.
GET/api/v1/arps/:id_clientearps:read · só EVODetalhe de um ARP.
GET/api/v1/credenciamentocredenciamento:readLista ingressos credenciáveis e status de check-in.
GET/api/v1/credenciamento/:id_ingresso_itemcredenciamento:readDetalhe de um ingresso.

Vendas

Query string de GET /api/v1/vendas. Todos opcionais.

ParâmetroTipoDescrição
data_inicio, data_fimstringYYYY-MM-DD, sobre a data da venda. Default: últimos 30 dias. Janela máxima: 366 dias.
statusstringContém no status da venda (ex.: pago, aguardando, estornado).
eventostringContém no nome do evento.
recorrenciabooleantrue ou false.
id_vendaintegerLookup exato pelo código da venda.
cpfstringLookup pelo CPF do cliente (só dígitos).
emailstringLookup pelo e-mail do cliente.
telefonestringLookup pelo telefone / WhatsApp do cliente (só dígitos).
page, page_sizeintegerPaginação (page_size máx. 100, default 50).

Lookups & período. Ao usar um lookup (id_venda, cpf, email, telefone) sem data explícita, a janela de data é ignorada e a busca cobre todo o histórico. Passar data_inicio/data_fim volta a restringir o período.

Envelope da resposta

AtributoTipoDescrição
successbooleanIndica se a requisição foi bem-sucedida.
dataarrayLista de objetos venda.
pageintegerPágina atual.
page_sizeintegerTamanho da página (máx. 100).
has_morebooleanIndica se há mais páginas. Pagine até false.
periodoobject · nullJanela de datas aplicada (data_inicio/data_fim). null quando um lookup ignora a janela.

Campos da resposta

Objeto venda

Cada item de data é um objeto venda.

AtributoTipoDescrição
id_vendaintegerCódigo da venda.
statusstringStatus da venda (ex.: PAGO, AGUARDANDO PAGAMENTO, ESTORNADO).
recorrenciabooleanIndica se a venda é uma assinatura (recorrência).
eventoobjectDados do evento.
produtoobjectDados do produto.
clienteobjectDados do cliente.
valoresobjectValores financeiros (soma das cobranças pagas).
cobrancasarrayCobranças individuais da venda, em ordem cronológica.
notas_fiscaisarrayNotas fiscais (NF-e) da venda, sem o XML — use /vendas/:id_venda/notas-fiscais para o XML.
vendaobjectMetadados da venda.
recebedoresarrayRecebedores do split. Produtora recebe só a própria fatia.

evento

Objeto evento.

AtributoTipoDescrição
nomestringNome do evento.

produto

Objeto produto.

AtributoTipoDescrição
descricaostringDescrição do(s) produto(s) da venda; vários unidos por " | ".

cliente

Objeto cliente.

AtributoTipoDescrição
nomestringNome do cliente.
emailstringE-mail do cliente.
whatsappstringTelefone / WhatsApp do cliente (só dígitos).
cpfstringCPF do cliente (só dígitos).

valores

Todos os valores somam apenas as cobranças pagas da venda.

AtributoTipoDescrição
moedastringMoeda dos valores (ex.: BRL).
valor_vendanumberValor total da venda (preço do produto).
valor_pagonumberTotal pago (soma das cobranças pagas), com juros.
valor_sem_jurosnumberValor base sem juros (soma das cobranças pagas).

cobrancas[]

Cada item é uma cobrança da venda (ordem cronológica). Assinatura inclui os ciclos futuros (Pendente); tentativas de checkout não pagas ficam fora. parcelas_cartao e ciclo/ciclos são mutuamente exclusivos (depende de recorrencia).

AtributoTipoDescrição
id_cobrancaintegerCódigo da cobrança.
statusstringStatus da cobrança (ex.: Pago, Pendente, Estornado).
forma_pagamentostringForma de pagamento da cobrança (Pix, Cartão de Crédito, Boleto...).
valornumberValor da cobrança, COM juros quando parcelada.
valor_sem_jurosnumberValor base da cobrança, sem juros.
valor_pagonumberValor efetivamente pago (0 quando não paga).
parcelas_cartaointegerSó quando recorrencia = false. Parcelamento no cartão (1 cobrança em N× na fatura). null quando a forma não é cartão (Pix, Boleto...).
ciclo, ciclosintegerSó quando recorrencia = true. Ciclo desta cobrança e total de ciclos (ex.: 3 de 18).
data_pagamentodatetimeData real do pagamento. null quando não paga.
data_vencimentodateVencimento da cobrança (ciclos de assinatura). null quando não se aplica.

notas_fiscais[]

Cada item é uma NF-e da venda. Uma venda pode ter várias: uma por cobrança/ciclo, por recebedor e por tipo (Venda ou Devolução). Produtora vê só as notas emitidas por ela.

AtributoTipoDescrição
id_notauuidIdentificador da nota.
numerointegerNúmero da NF-e. null quando não autorizada.
seriestringSérie da NF-e.
chavestringChave de acesso (44 dígitos).
statusstringEMITIDA, CANCELADA, REJEITADA, ERRO, PENDENTE, SUBSTITUIDA, NAO_EMITIR…
tipo_nfstringVenda ou Devolução.
ids_cobrancainteger[]Cobranças (id_cobranca) cobertas pela nota.
ciclointegerCiclo da assinatura, quando recorrência.
danfe_urlstringLink do PDF do DANFE (temporário, gerado pelo emissor).
data_emissaodatetimeData de emissão.
criada_emdatetimeData de registro da nota.
xmlstringSomente em /vendas/:id_venda/notas-fiscais. XML autorizado (nfeProc). null quando não autorizada.

venda

Objeto venda (metadados).

AtributoTipoDescrição
criada_emdatetimeData de criação da venda.
concluidabooleanIndica se a venda foi concluída (quitada).

recebedores[]

Cada item é um recebedor do split. Produtora vê só a própria fatia.

AtributoTipoDescrição
nomestringNome do recebedor (nome fantasia da produtora).
valornumberValor recebido (soma das cobranças pagas).
percentualnumberPercentual do recebedor no split (%, 2 casas) — calculado sobre o valor sem juros.

Exemplo de resposta

{
  "success": true,
  "page": 1,
  "page_size": 50,
  "has_more": false,
  "periodo": { "data_inicio": "2026-06-01", "data_fim": "2026-06-30" },
  "data": [
    {
      "id_venda": 17705,
      "status": "PAGO",
      "recorrencia": false,
      "evento": { "nome": "CURSO MENTALIDADE DE CURA | 2026" },
      "produto": { "descricao": "CURSO MENTALIDADE DE CURA • INGRESSO DUPLO" },
      "cliente": {
        "nome": "NOME DO CLIENTE",
        "email": "cliente@dominio.com",
        "whatsapp": "34991946492",
        "cpf": "35157313691"
      },
      "valores": {
        "moeda": "BRL",
        "valor_venda": 97,
        "valor_pago": 104.9,
        "valor_sem_juros": 97
      },
      "cobrancas": [
        {
          "id_cobranca": 27651,
          "status": "Pago",
          "forma_pagamento": "Cartão de Crédito",
          "valor": 104.9,
          "valor_sem_juros": 97,
          "valor_pago": 104.9,
          "parcelas_cartao": 3,
          "data_pagamento": "2026-06-06T00:03:12",
          "data_vencimento": null
        }
      ],
      "notas_fiscais": [
        {
          "id_nota": "731fb46f-b46d-41e5-8d31-2fe2797cf78d",
          "numero": 26227,
          "serie": "3",
          "chave": "53260957823240000103550030000262271204298636",
          "status": "EMITIDA",
          "tipo_nf": "Venda",
          "ids_cobranca": [27651],
          "ciclo": null,
          "danfe_url": "https://…/NFe5326…-nfe.pdf",
          "data_emissao": "2026-06-06T00:05:40",
          "criada_em": "2026-06-06T00:05:31"
        }
      ],
      "venda": { "criada_em": "2026-06-06T00:03:12", "concluida": true },
      "recebedores": [
        { "nome": "PRODUTORA EXEMPLO LTDA", "valor": 91.18, "percentual": 94 }
      ]
    }
  ]
}

Clientes

GET /api/v1/clientes — Cadastro de clientes. Exclusivo de credencial EVO, escopo clientes:read. Para as compras do cliente, use /vendas?cpf=.

Parâmetros

ParâmetroTipoDescrição
cpfstringLookup pelo CPF (só dígitos).
emailstringLookup pelo e-mail.
telefonestringContém no WhatsApp (só dígitos).
nomestringContém no nome ou sobrenome.
data_inicio, data_fimstringYYYY-MM-DD, sobre a data do cadastro.
page, page_sizeintegerPaginação (page_size máx. 100, default 50).

Objeto cliente

AtributoTipoDescrição
id_clienteuuidIdentificador do cliente (use em /clientes/:id_cliente).
codigointegerCódigo numérico do cadastro.
nome, sobrenomestringNome e sobrenome.
emailstringE-mail.
cpfstringCPF (só dígitos).
whatsappstringTelefone / WhatsApp.
country_codestringDDI do telefone.
data_nascimentodateData de nascimento.
estrangeirobooleanCadastro de estrangeiro.
ativobooleanCadastro ativo.
enderecoobjectlogradouro, numero, complemento, bairro, cidade, uf, cep, pais.
criado_emdatetimeData do cadastro.
atualizado_emdateÚltima atualização do cadastro.
arpbooleanIndica se o cliente é ARP.

ARPs

GET /api/v1/arps — Cadastro de ARPs. Exclusivo de credencial EVO, escopo arps:read.

Parâmetros

ParâmetroTipoDescrição
cpfstringLookup pelo CPF (só dígitos).
emailstringLookup pelo e-mail.
telefonestringContém no WhatsApp (só dígitos).
nomestringContém no nome ou sobrenome.
data_inicio, data_fimstringYYYY-MM-DD, sobre a data do cadastro.
localstringContém no local do ARP.
adimplentebooleantrue ou false.
evo_avantebooleanParticipa do EVO Avante (true ou false).
page, page_sizeintegerPaginação (page_size máx. 100, default 50).

Objeto arp

AtributoTipoDescrição
id_clienteuuidIdentificador do cliente (use em /clientes/:id_cliente).
codigointegerCódigo numérico do cadastro.
nome, sobrenomestringNome e sobrenome.
emailstringE-mail.
cpfstringCPF (só dígitos).
whatsappstringTelefone / WhatsApp.
country_codestringDDI do telefone.
data_nascimentodateData de nascimento.
estrangeirobooleanCadastro de estrangeiro.
ativobooleanCadastro ativo.
enderecoobjectlogradouro, numero, complemento, bairro, cidade, uf, cep, pais.
criado_emdatetimeData do cadastro.
atualizado_emdateÚltima atualização do cadastro.
localstringLocal do ARP.
produtostringProduto do ARP.
origemstringOrigem do cadastro de ARP.
anostringAno do ARP.
adimplentebooleanSituação de adimplência.
evo_avantebooleanParticipa do EVO Avante.

Credenciamento

GET /api/v1/credenciamento — Ingressos credenciáveis (vendas pagas e origens gratuitas; exclui cancelados/estornados) e status de check-in. Escopo credenciamento:read. Produtora vê só ingressos dos próprios eventos. Obrigatório informar id_evento, cpf ou email.

Parâmetros

ParâmetroTipoDescrição
id_eventointegerCódigo do evento.
cpfstringLookup pelo CPF do participante (só dígitos).
emailstringLookup pelo e-mail do participante.
statusstringContém no status do ingresso (ex.: USADO, ATIVO).
origemstringContém na origem (Venda, Cortesia, Generosidade, Indicação, Entrada Antecipada, Inscrição).
checkinbooleantrue = já fez check-in; false = ainda não.
checkin_inicio, checkin_fimstringYYYY-MM-DD, sobre a data do check-in.
page, page_sizeintegerPaginação (page_size máx. 100, default 50).

Objeto credenciamento

AtributoTipoDescrição
id_ingresso_itemintegerCódigo do ingresso emitido (use em /credenciamento/:id_ingresso_item).
participanteobjectid_cliente, nome, email, cpf, whatsapp.
eventoobjectid, nome, cidade, endereco, data, ativo.
ingressoobjectid_ingresso, nome, status, origem, cortesia_gerada_por, criado_em.
checkinobjectrealizado (boolean) e data do check-in.
transferenciaobjecttransferido_para, transferido_de, data, tem_historico, tem_troca_evento.

Erros

CódigoDescrição
401Credencial ausente, inválida, revogada, desativada ou expirada.
400Parâmetro inválido (mensagem em statusMessage).
403Credencial sem acesso à rota (escopo não liberado) ou rota exclusiva de credencial EVO.
404Registro inexistente ou fora do escopo da credencial.
429Limite de 120 requisições por minuto excedido (aguarde o header Retry-After).

Limites

120 requisições por minuto por credencial. Ao exceder, a API responde 429 com o header Retry-After — aguarde o tempo indicado antes de repetir a requisição.