Seu site, seu ERP e suas planilhas conversando com o CRM. REST em JSON, chave por empresa e avisos assinados quando uma venda anda.
Authorization: Bearer gcp_... em toda chamada.https://suaempresa.crm.gocodesystems.com.br/api?r= + o recurso.A chave age como a pessoa que a criou: vê só o que ela vê e só faz o que ela pode. Para uma integração da empresa toda, crie a chave com um usuário que veja tudo.
429; o mensal volta no dia 1º.402: compre um pacote extra em Assinatura.GET | /funis | Funis com as etapas (id, nome, chance, tipo) |
GET | /negocios | Negócios que a pessoa da chave vê status=aberto|ganho|perdido · funil_id · desde=AAAA-MM-DD |
POST | /negocios | Cria um negócio chave de escrita titulo, valor, funil_id, etapa_id, cnpj, origem, previsao, responsavel_email, cliente {nome, email, telefone} |
GET | /negocios/{id} | Um negócio |
PATCH | /negocios/{id} | Muda etapa, ganha ou perde chave de escrita etapa_id · status=ganho|perdido · motivo · valor · previsao · titulo |
GET | /clientes | Empresas da carteira q=nome |
POST | /clientes | Cadastra uma empresa (com CNPJ, os dados da Receita entram sozinhos) chave de escrita nome, fantasia, cnpj, email, telefone, cidade, uf |
GET | /clientes/{id} | Uma empresa da carteira |
GET | /tarefas | Tarefas abertas=1 |
POST | /tarefas | Cria uma tarefa chave de escrita titulo, tipo, quando (AAAA-MM-DD HH:MM), cliente_id, negocio_id, responsavel_email |
GET | /busca | Lista de empresas ativas (sem telefone e e-mail; não conta no limite) municipios=1389,7107 · uf · ramo · bairros · ceps · novas=30|60|90 · portes=mei,01,03,05 · naturezas · simples=1|0 · ab_de · ab_ate · idade_min · idade_max · cap_min · cap_max · matriz=1|2 · palavra · tel=1 · email=1 · sem_clientes=1 · pagina · por_pagina (até 100) |
GET | /busca/contar | Só a quantidade (não conta no limite) os mesmos filtros de /busca |
GET | /empresas/{cnpj} | Ficha completa: telefones, e-mail, sócios (CPF mascarado) e atividades. Conta 1 contato no mês (a mesma empresa no mesmo mês conta uma vez) |
GET | /cnpj/{cnpj} | Consulta de CNPJ (mesma ficha; se a empresa não estiver ativa, consulta a Receita na hora). Conta 1 contato |
POST | /busca/funil | Manda empresas da base para o funil (cria a empresa e o negócio). Conta 1 contato por empresa chave de escrita cnpjs [lista, até 200] · funil_id · etapa_id · responsavel_email |
GET | /uso | Chamadas da API e contatos usados no mês, com os limites do plano |
Códigos das cidades: os do IBGE usados pela Receita (o CRM mostra o código ao escolher a cidade na busca). Ramo: parte do nome (ex.: padaria) ou o código do CNAE (ex.: 4721), separados por vírgula.
curl 'https://suaempresa.crm.gocodesystems.com.br/api?r=/busca/contar&municipios=1389&ramo=padaria&novas=90' \ -H 'Authorization: Bearer gcp_...' curl 'https://suaempresa.crm.gocodesystems.com.br/api?r=/busca&municipios=1389&ramo=padaria&novas=90&por_pagina=50' \ -H 'Authorization: Bearer gcp_...'
curl 'https://suaempresa.crm.gocodesystems.com.br/api?r=/empresas/12345678000195' \ -H 'Authorization: Bearer gcp_...'
curl -X POST 'https://suaempresa.crm.gocodesystems.com.br/api?r=/busca/funil' \
-H 'Authorization: Bearer gcp_...' -H 'Content-Type: application/json' \
-d '{"cnpjs": ["12345678000195", "98765432000110"], "responsavel_email": "ana@suaempresa.com.br"}'
curl -X POST 'https://suaempresa.crm.gocodesystems.com.br/api?r=/negocios' \
-H 'Authorization: Bearer gcp_...' -H 'Content-Type: application/json' \
-d '{"titulo": "Orçamento pelo site", "valor": 2500, "origem": "site", "cliente": {"nome": "Mercado Bom Preço", "email": "compras@bompreco.com.br", "telefone": "85999990000"}}'
curl -X PATCH 'https://suaempresa.crm.gocodesystems.com.br/api?r=/negocios/42' \
-H 'Authorization: Bearer gcp_...' -H 'Content-Type: application/json' \
-d '{"status": "ganho"}'
Sucesso: 200 ou 201 (criado), com o JSON do recurso. Erro: o código HTTP e {"erro": "o motivo, em português"}.
401 chave ausente, inválida ou revogada · 402 acabaram os contatos do mês · 403 sem permissão, chave só de leitura ou plano sem API404 não encontrado · 422 dado inválido (o motivo vem no erro) · 429 limite por minuto ou do mês · 503 base em atualizaçãoCadastre um endereço https e escolha os avisos. A cada evento mandamos um POST em JSON com evento, criado_em, empresa e dados. Se o seu endereço não responder 2xx, tentamos de novo em 1, 5 e 30 minutos, 2 e 10 horas; depois de 30 falhas seguidas o webhook é desligado e quem o criou é avisado no sino.
negocio.criado | Negócio criado |
negocio.etapa | Negócio mudou de etapa |
negocio.ganho | Negócio ganho (venda fechada) |
negocio.perdido | Negócio perdido |
cliente.criado | Empresa ou contato cadastrado |
tarefa.criada | Tarefa criada |
tarefa.concluida | Tarefa concluída |
proposta.aceita | Proposta aceita pelo cliente |
empresa.funil | Empresa da base enviada ao funil |
Cabeçalhos: X-GoCode-Evento, X-GoCode-Entrega (número da entrega, para não processar duas vezes) e X-GoCode-Assinatura = sha256= HMAC-SHA256 do corpo com o segredo do webhook.
// PHP: confira a assinatura antes de usar o aviso
$corpo = file_get_contents('php://input');
$esperado = 'sha256=' . hash_hmac('sha256', $corpo, 'SEU_SEGREDO');
if (!hash_equals($esperado, $_SERVER['HTTP_X_GOCODE_ASSINATURA'] ?? '')) {
http_response_code(401);
exit;
}
$aviso = json_decode($corpo, true); // ['evento' => 'negocio.ganho', 'criado_em' => ..., 'empresa' => ..., 'dados' => [...]]
A base vem do cadastro aberto da Receita Federal. O CPF dos sócios vem sempre mascarado, e as empresas que pediram para sair não aparecem. Você é responsável pelo uso dos contatos (sem spam), conforme os termos de uso e a política de privacidade.
Teste o CRM grátis e mude de plano quando for integrar.
Começar grátis Ver planosCrie a conta em minutos, escolha a cidade e o ramo dos seus clientes e mande os primeiros para o funil hoje mesmo.