Pular para o conteúdo

REST API

O PrimoCRM registra suas rotas REST sob o namespace primocrm/v1 em rest_api_init. O aplicativo administrativo usa esses mesmos endpoints, portanto, tudo o que a interface faz está disponível programaticamente.

https://yoursite.com/wp-json/primocrm/v1/

Cada endpoint possui um callback de permissão que verifica uma capacidade do WordPress, portanto, quem faz a chamada deve estar autenticado e autorizado.

  • A partir do aplicativo administrativo (mesma origem): as solicitações são autenticadas pela sessão ativa e um nonce REST. O WordPress envia o nonce no cabeçalho X-WP-Nonce. Isso é automático para códigos executados dentro do wp-admin.
  • A partir de código externo: use um método de autenticação que o WordPress aceita para a API REST, como senhas de aplicativo, juntamente com um usuário que possua a capacidade necessária. O PrimoCRM Pro adiciona chaves de API dedicadas para acesso programático.

Endpoints que gerenciam configurações, envios ou operações destrutivas exigem uma capacidade de nível de administrador. Operações de leitura e rotineiras de contatos exigem a capacidade de acesso ao CRM.

A lista abaixo é uma amostra representativa, não exaustiva. Explore o conjunto completo na aba de rede do navegador ao usar o aplicativo administrativo, pois a interface chama as mesmas rotas.

Method Path Purpose
GET /contacts Listar contatos (suporta paginação e filtros)
POST /contacts Criar um contato
GET /contacts/{id} Obter um contato
PUT /contacts/{id} Atualizar um contato
DELETE /contacts/{id} Excluir um contato
POST /contacts/bulk-action Aplicar uma ação em lote a vários contatos
POST /contacts/bulk-delete Excluir vários contatos
GET /contacts/statuses Listar status disponíveis
GET /contacts/{id}/activities Log de atividades de um contato
GET /contacts/{id}/emails E-mails enviados para um contato
Method Path Purpose
GET /automations/triggers Todos os gatilhos registrados
GET /automations/actions Todas as ações registradas
GET /automations/condition-options Campos e operadores para o construtor de condições
Method Path Purpose
GET /forms/field-types Todos os tipos de campos de formulário registrados
GET /smart-codes O catálogo de tags de personalização

Campanhas, sequências, listas, tags, modelos, migração e configurações expõem suas próprias rotas sob o mesmo namespace, seguindo o mesmo padrão de controller.

Criando um contato com autenticação por senha de aplicativo:

Terminal window
curl -X POST https://yoursite.com/wp-json/primocrm/v1/contacts \
-u "admin:APPLICATION_PASSWORD" \
-H "Content-Type: application/json" \
-d '{"email":"ada@example.com","first_name":"Ada","status":"subscribed"}'

Respostas bem-sucedidas retornam JSON. Quando um recurso Pro ou um limite de plano bloqueia uma solicitação, o PrimoCRM retorna um 403 cujo corpo inclui pro_lock: true, que o aplicativo administrativo usa para exibir o aviso de atualização. Trate esse formato se você chamar endpoints restritos pelo Pro a partir do seu próprio código.