● DOCUMENTAÇÃO DE REFERÊNCIA

Crie integrações conectadas à sua operação comercial.

A RiseAPI permite consultar, criar, atualizar e arquivar contatos da sua subconta, com autenticação por chave, isolamento de dados e um contrato estável para n8n, Make, Zapier ou aplicações próprias.

✦Crie sua API key na RiseSales. Na sua subconta, acesse Configurações → Integrações → RiseAPI, clique em Gerar chave da RiseAPI, defina o nome e a permissão de acesso. Copie o segredo imediatamente, pois ele é exibido uma única vez.
Uma API por subconta

Sua chave acessa somente os dados do tenant associado a ela. Nenhum identificador de tenant é enviado na URL ou no corpo.

Compatível com sua migração

O contrato nativo é simples e há uma camada opcional para payloads inspirados no GoHighLevel.

BASE URLhttps://apis.risesales.ai/v1

Início rápido

Em poucos minutos você pode criar seu primeiro contato a partir de uma automação externa.

1Acesse a RiseAPINa subconta, abra Configurações → Integrações → RiseAPI.
2Gere e copie a chaveClique em Gerar chave da RiseAPI, escolha o nome e a permissão, depois copie o segredo exibido.
3Faça sua chamadaSalve a chave nas credenciais do integrador e envie o Bearer token com o JSON abaixo.
# Nunca use uma chave real na documentação ou no código-fonte.
curl -X POST "https://apis.risesales.ai/v1/contacts" -H "Authorization: Bearer rs_live_SUBSTITUA_PELA_SUA_CHAVE" -H "Content-Type: application/json" -d '{"name":"Ana Silva","email":"ana@example.com","tags":["n8n"]}'

Autenticação e permissões

Envie a chave da RiseAPI no header Authorization em todas as requisições. Cada chave pode ser configurada como somente leitura ou leitura e escrita.

HTTP headers
Authorization: Bearer rs_live_SUBSTITUA_PELA_SUA_CHAVE
Content-Type: application/json
PermissãoPode fazer
readConsultar contatos, campos, tags, pipelines e oportunidades.
read_writeTodas as leituras, além de criar, atualizar e arquivar contatos.

Uma chave inválida, expirada ou revogada sempre retorna 401 unauthorized, sem revelar seu estado. O segredo é exibido somente no momento de criação ou regeneração.

Limites e paginação

Para manter a API previsível, cada chave tem até 100 requisições por janela de 10 segundos. As respostas retornam os headers de limite e, quando necessário, Retry-After.

ParâmetroRegra
limitOpcional. Padrão 25, mínimo 1 e máximo 100.
cursorUse o valor retornado quando has_more for true. O cursor é opaco, não o monte nem o altere.

Formato de erros

Todos os erros usam o mesmo envelope. Para automações, prefira avaliar error.code, que é estável, em vez do texto da mensagem.

JSON
{
  "error": { "code": "invalid_request", "message": "Os filtros informados são inválidos.", "details": null }
}
400 invalid_requestDados ou filtros inválidos.
401 unauthorizedChave ausente, inválida, expirada ou revogada.
403 missing_permissionA chave não tem permissão de escrita.
404 not_foundRecurso ou contato não encontrado.
429 rate_limitedLimite temporário excedido.
500 internal_errorFalha inesperada, tente novamente.

Referência da API

Todos os endpoints abaixo usam a URL base https://apis.risesales.ai/v1 e exigem o header de autenticação.

Listar contatos

GET/contacts

Retorna os contatos ativos da subconta autenticada. Use filtros para encontrar o registro certo sem baixar a base inteira.

FiltroDescrição
emailE-mail exato.
phoneTelefone normalizado pela API.
tagTag do contato.
created_from / created_toIntervalo em ISO 8601.
include=trackingInclui a projeção limitada de tracking para CAPI.
cURL
curl "https://apis.risesales.ai/v1/contacts?email=ana%40example.com&limit=1" -H "Authorization: Bearer rs_live_SUBSTITUA_PELA_SUA_CHAVE"

Resposta 200

JSON
{
  "contacts": [{ "id": "f47ac10b-58cc-4372-a567-0e02b2c3d479", "name": "Ana Silva", "email": "ana@example.com", "tags": ["n8n"], "custom_fields": {} }],
  "cursor": "v1.cursor-opaco", "has_more": false
}

Criar ou reconciliar um contato

POST/contacts

Informe ao menos name, email ou phone. A API reconcilia por e-mail ou telefone normalizado para reduzir duplicidades.

CampoDescrição
nameNome do contato.
emailE-mail.
phoneTelefone em formato comum.
company_nameEmpresa.
tagsLista de tags.
custom_fieldsObjeto de valores personalizados.
JSON body
{
  "name": "Ana Silva", "email": "ana@example.com", "phone": "+55 11 98888-7777",
  "company_name": "Empresa Exemplo", "tags": ["n8n", "lead-api"],
  "custom_fields": { "cargo": "Diretora" }, "utm_source": "google"
}

Por padrão, criação e atualização disparam automações. Para uma importação controlada, use ?trigger_automations=false nessa requisição.

Obter um contato

GET/contacts/:id

Retorna um contato pelo UUID. O contato precisa pertencer à subconta da chave usada.

Atualizar um contato

PUT/contacts/:id

Envie somente os campos que devem mudar. custom_fields é mesclado aos valores atuais. Quando tags é enviado, a lista substitui as tags atuais.

Arquivar um contato

DELETE/contacts/:id

O contato não é apagado fisicamente. A API preenche a data de arquivamento e responde com { "archived": true }.

Campos personalizados

GET/custom-fields

Lista os campos ativos do contato com key, rótulo, tipo e opções. Aceita limit e cursor.

Tags

GET/tags

Lista o catálogo de tags disponível para a subconta, com nome e cor.

Pipelines

GET/pipelines

Lista pipelines e respectivas etapas ordenadas. Cada pipeline inclui id, name, position e stages.

Oportunidades

GET/opportunities

Lista negócios em modo leitura. Filtre por contact_id ou stage_id, além de limit e cursor.

Tracking para CAPI

Quando uma integração de conversões precisar dos dados de tracking, solicite a projeção explicitamente. Sem o parâmetro, a API não retorna tracking nem metadados internos.

cURL
GET /v1/contacts?email=ana%40example.com&limit=1&include=tracking
# tracking pode conter somente fbp, fbc, fbclid, ip e user_agent

Use somente dados canônicos gravados pela RiseAPI. IDs de campos legados do GHL variam entre tenants e não fazem parte deste contrato.

Compatibilidade com GoHighLevel

O contrato nativo da RiseAPI é a opção recomendada. Para facilitar uma migração gradual, criação e atualização também aceitam firstName, lastName, companyName, locationId, header Version e customFields no formato GHL.

iCamada de compatibilidade: locationId nunca escolhe o tenant. O tenant é definido exclusivamente pela chave autenticada. IDs desconhecidos de campos personalizados aparecem em warnings e não impedem a criação.

Exemplo no n8n

Crie uma credencial HTTP Header Auth no n8n com o nome Authorization e o valor Bearer rs_live_SUBSTITUA_PELA_SUA_CHAVE. Depois, use um nó HTTP Request configurado assim:

Campo do nodeValor
MethodPOST
URLhttps://apis.risesales.ai/v1/contacts
Send BodyJSON
Body{ "name": "{{ $json.name }}", "email": "{{ $json.email }}" }
✓Guarde a chave na credencial do n8n, nunca no próprio workflow, em uma anotação ou em um print compartilhado.