API para ações em contatos



Este módulo é responsável pela gestão dos contatos dentro da plataforma, permitindo criar, validar, consultar, atualizar e deletar registros de forma prática e integrada via API. Ele é essencial para manter a base de contatos sempre organizada e atualizada, garantindo eficiência nos atendimentos e estratégias de marketing.






📌 API Criar Contato


API: Baileys

Criar um contato em sua empresa.

Verifique aqui os Pré-Requisitos para utilizar APIs


A funcionalidade é essencial em CRMs, plataformas de atendimento e sistemas de automação, onde há necessidade de registrar leads, clientes ou qualquer tipo de contato com dados personalizados (como código, valor estimado, localização, etc.).

A requisição é feita via método POST, com envio de dados em formato JSON e autenticação por token Bearer.


📂 Estrutura do Código


<?php


$curl = curl_init();


curl_setopt_array($curl, array(

  CURLOPT_URL => 'https://api.gpconnect.com.br/api/contacts',

  CURLOPT_RETURNTRANSFER => true,

  CURLOPT_ENCODING => '',

  CURLOPT_MAXREDIRS => 10,

  CURLOPT_TIMEOUT => 0,

  CURLOPT_FOLLOWLOCATION => true,

  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,

  CURLOPT_CUSTOMREQUEST => 'POST',

  CURLOPT_POSTFIELDS =>'{

    "name": "José Silva",

    "number": "5511999999999",

    "email": "[email protected]",

    "carteiraId": "",

    "extraInfo": [

        {

            "name": "Código",

            "value": "0"

        },

        {

            "name": "Valor do Lead",

            "value": "0"

        },

        {

            "name": "CEP",

            "value": "0"

        }

    ]

}',

  CURLOPT_HTTPHEADER => array(

    'Content-Type: application/json',

    'Authorization: Bearer {seutokenaqui}'

  ),

));


$response = curl_exec($curl);


curl_close($curl);

echo $response;





📘 Detalhamento Técnico

1. Endpoint

  • https://api.gpconnect.com.br/api/contacts

    • Endpoint responsável por criar um novo contato ou lead na base de dados.




2. Método HTTP

  • POST

    • Usado para enviar os dados do novo contato a ser criado.




3. Headers

  • Content-Type: application/json

    • Informa que os dados estão no formato JSON.

  • Authorization: Bearer {seutokenaqui}

    • Token de autenticação. Substitua {seutokenaqui} pelo seu token pessoal ou de integração.




4. Corpo da Requisição (JSON)


{

  "name": "José Silva",

  "number": "5511999999999",

  "email": "[email protected]",

  "carteiraId": "",

  "extraInfo": [

    {

      "name": "Código",

      "value": "0"

    },

    {

      "name": "Valor do Lead",

      "value": "0"

    },

    {

      "name": "CEP",

      "value": "0"

    }

  ]

}


Campos:

Campo

Tipo

Obrigatório

Descrição

name

string

Sim

Nome do contato.

number

string

Sim

Número do WhatsApp no formato internacional (ex: 5511999999999).

email

string

Não

E-mail do contato.

carteiraId

string

Não

ID da carteira associada. Pode ser "" ou null para ignorar.

extraInfo

array

Não

Lista de informações adicionais personalizadas. Cada item possui name e value.




5. Resposta Esperada (Exemplo)

json

CopiarEditar

{

  "success": true,

  "message": "Contato criado com sucesso",

  "contactId": 12345

}





⚠️ Possíveis Erros

Código

Mensagem

Causa Provável

401

Unauthorized

Token ausente ou inválido.

400

Bad Request

Campos obrigatórios ausentes ou com valor inválido.

409

Conflict

Contato com o mesmo número já existe.

500

Internal Server Error

Erro interno no servidor.




📝 Observações

  • O campo number deve sempre seguir o padrão internacional (com DDI e DDD).

  • carteiraId pode ser deixado em branco para não associar o contato a nenhuma carteira.

  • Os dados em extraInfo são úteis para enriquecer o lead com informações comerciais ou de marketing.

  • É possível personalizar os campos extras de acordo com a necessidade da operação.







📌 API Criar Contato (com validação)


API: Baileys

Criar um contato (com validação) em sua empresa.

📂 Estrutura do Código PHP


<?php


$curl = curl_init();


curl_setopt_array($curl, array(

  CURLOPT_URL => 'https://api.gpconnect.com.br/api/contactswv',

  CURLOPT_RETURNTRANSFER => true,

  CURLOPT_ENCODING => '',

  CURLOPT_MAXREDIRS => 10,

  CURLOPT_TIMEOUT => 0,

  CURLOPT_FOLLOWLOCATION => true,

  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,

  CURLOPT_CUSTOMREQUEST => 'POST',

  CURLOPT_POSTFIELDS =>'{

    "name": "José Silva",

    "number": "5511999999999",

    "email": "[email protected]",

    "carteiraId": "",

    "extraInfo": [

        {

            "name": "Código",

            "value": "0"

        },

        {

            "name": "Valor do Lead",

            "value": "0"

        },

        {

            "name": "CEP",

            "value": "0"

        }

    ]

}',

  CURLOPT_HTTPHEADER => array(

    'Content-Type: application/json',

    'Authorization: Bearer {seutokenaqui}'

  ),

));


$response = curl_exec($curl);


curl_close($curl);

echo $response;





📘 Detalhamento Técnico

1. Endpoint

  • https://api.gpconnect.com.br/api/contactswv

    • Responsável por cadastrar um novo contato via canal WebView ou integração personalizada.




2. Método HTTP

  • POST




3. Cabeçalhos (Headers)

  • Content-Type: application/json

  • Authorization: Bearer {seutokenaqui}

    • Substitua {seutokenaqui} por um token válido.




4. Corpo da Requisição (JSON)

json

CopiarEditar

{

  "name": "José Silva",

  "number": "5511999999999",

  "email": "[email protected]",

  "carteiraId": "",

  "extraInfo": [

    {

      "name": "Código",

      "value": "0"

    },

    {

      "name": "Valor do Lead",

      "value": "0"

    },

    {

      "name": "CEP",

      "value": "0"

    }

  ]

}


Campos:

Campo

Tipo

Obrigatório

Descrição

name

string

Sim

Nome do contato.

number

string

Sim

Número do WhatsApp com DDI e DDD.

email

string

Não

E-mail do contato.

carteiraId

string

Não

ID da carteira (grupo de leads/contatos). Pode estar vazio ou null.

extraInfo

array

Não

Lista de dados adicionais do contato. Campos customizados.




5. Exemplo de Resposta Esperada

{

  "success": true,

  "message": "Contato criado com sucesso",

  "contactId": 98765

}





⚠️ Possíveis Erros

Código HTTP

Mensagem

Causa

401

Unauthorized

Token inválido ou ausente.

400

Bad Request

JSON malformado ou campos obrigatórios faltando.

422

Unprocessable Entity

Dados com formato incorreto (ex: número mal formatado).

409

Conflict

Contato já existente com mesmo número.

500

Internal Server Error

Erro inesperado no servidor.




📝 Observações

  • Esse endpoint pode estar ligado a canais WebView/chatbot. Verifique com o suporte da plataforma quando usar /contactswv vs /contacts.

  • É possível customizar os campos de extraInfo para capturar dados como origem do lead, campanha, entre outros.

  • O campo number deve ser único. Enviar um número já cadastrado pode gerar erro de duplicidade (409).

  • Se for integrar com landing pages ou sistemas externos, essa API é ideal para captação rápida de leads.









📌 API Validar Contato


API: Baileys

Valide se um contato é válido no whatsapp.

Visão Geral

Esta API permite validar se um determinado número de telefone está ativo no WhatsApp. É útil para garantir que os números inseridos em um formulário, CRM, sistema de disparo ou captação sejam válidos antes de uma tentativa de contato.




📂 Estrutura do Código PHP


<?php


$curl = curl_init();


curl_setopt_array($curl, array(

  CURLOPT_URL => 'https://api.gpconnect.com.br/api/isValid',

  CURLOPT_RETURNTRANSFER => true,

  CURLOPT_ENCODING => '',

  CURLOPT_MAXREDIRS => 10,

  CURLOPT_TIMEOUT => 0,

  CURLOPT_FOLLOWLOCATION => true,

  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,

  CURLOPT_CUSTOMREQUEST => 'POST',

  CURLOPT_POSTFIELDS =>'{

    "number": "5511999999999"

  }',

  CURLOPT_HTTPHEADER => array(

    'Content-Type: application/json',

    'Authorization: Bearer {seutokenaqui}'

  ),

));


$response = curl_exec($curl);


curl_close($curl);

echo $response;


✅ Observação: Corrigido o JSON (o seu estava com uma vírgula extra após o último campo "number").




📘 Detalhamento Técnico

1. Endpoint

  • https://api.gpconnect.com.br/api/isValid

    • Responsável por verificar se um número está ativo no WhatsApp.




2. Método HTTP

  • POST




3. Cabeçalhos (Headers)

Header

Valor

Content-Type

application/json

Authorization

Bearer {seutokenaqui}

🔑 Substitua {seutokenaqui} por um token válido da sua integração GP Connect.




4. Corpo da Requisição (JSON)


{

  "number": "5511999999999"

}


Campo:

Campo

Tipo

Obrigatório

Descrição

number

string

Sim

Número completo com DDI + DDD + número. Ex: 5511999999999



Exemplo de retorno ao validar um contato:

{ 
"exists": true, 
"jid": "[email protected]" 
}


Payload de contato inválido

{ 
"invalido": true 
}









📌 API Obter Contatos


API: Baileys

Obter todos os contatos de sua conta em nossa plataforma.


Visão Geral

Esta API permite recuperar todos os contatos cadastrados na plataforma GP Connect. Ideal para uso em CRMs, dashboards administrativos, sincronizações com ERPs, ou exportações para ferramentas externas.




📂 Estrutura do Código PHP


<?php


$curl = curl_init();


curl_setopt_array($curl, array(

  CURLOPT_URL => 'https://api.gpconnect.com.br/api/contacts/all',

  CURLOPT_RETURNTRANSFER => true,

  CURLOPT_ENCODING => '',

  CURLOPT_MAXREDIRS => 10,

  CURLOPT_TIMEOUT => 0,

  CURLOPT_FOLLOWLOCATION => true,

  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,

  CURLOPT_CUSTOMREQUEST => 'GET',

  CURLOPT_HTTPHEADER => array(

    'Content-Type: application/json',

    'Authorization: Bearer {seutokenaqui}'

  ),

));


$response = curl_exec($curl);


curl_close($curl);

echo $response;





📘 Detalhamento Técnico

1. Endpoint

  • https://api.gpconnect.com.br/api/contacts/all

    • Retorna uma lista com todos os contatos cadastrados.




2. Método HTTP

  • GET




3. Cabeçalhos (Headers)

Header

Valor

Content-Type

application/json

Authorization

Bearer {seutokenaqui}

🔐 Substitua {seutokenaqui} pelo token válido da sua integração.




4. Parâmetros da Requisição

  • Nenhum parâmetro é necessário no corpo da requisição (por ser GET).




5. Exemplo de Resposta (JSON)


[

  {

    "id": 1,

    "name": "José Silva",

    "number": "5511999999999",

    "email": "[email protected]",

    "created_at": "2024-11-10T10:15:00Z"

  },

  {

    "id": 2,

    "name": "Maria Oliveira",

    "number": "5511988888888",

    "email": "[email protected]",

    "created_at": "2024-11-11T14:20:00Z"

  }

]





⚠️ Possíveis Erros

Código HTTP

Mensagem

Causa

401

Unauthorized

Token ausente ou inválido

403

Forbidden

Permissão insuficiente

500

Internal Server Error

Erro interno na API




📝 Observações

  • Este endpoint retorna todos os contatos, podendo gerar uma resposta grande. Recomenda-se o uso de paginação, se disponível na plataforma (verifique com o suporte técnico da GP Connect).

  • Ideal para sincronização de dados, exportações ou exibição em sistemas internos.

  • Mantenha o token seguro e evite compartilhá-lo com usuários finais.









📌 API Obter Contatos por Tag

API: Baileys

Obter todos os contatos por tags marcadas em seus tickets.


Visão Geral

Esta API permite buscar contatos que possuem uma tag específica associada. Ideal para segmentações, campanhas direcionadas ou filtros avançados em sistemas integrados com o  Connect.


📂 Estrutura do Código PHP


<?php


$curl = curl_init();


curl_setopt_array($curl, array(

  CURLOPT_URL => 'https://api.gpconnect.com.br/api/contacts/findbytag',

  CURLOPT_RETURNTRANSFER => true,

  CURLOPT_ENCODING => '',

  CURLOPT_MAXREDIRS => 10,

  CURLOPT_TIMEOUT => 0,

  CURLOPT_FOLLOWLOCATION => true,

  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,

  CURLOPT_CUSTOMREQUEST => 'GET',

  CURLOPT_POSTFIELDS =>'{

    "tagid":"56"

  }',

  CURLOPT_HTTPHEADER => array(

    'Content-Type: application/json',

    'Authorization: Bearer {seutokenaqui}'

  ),

));


$response = curl_exec($curl);


curl_close($curl);

echo $response;






📘 Detalhamento Técnico

1. Endpoint

  • https://api.gpconnect.com.br/api/contacts/findbytag




2. Método HTTP

  • GET

🚨 Atenção: O uso de CURLOPT_POSTFIELDS com GET é incomum. Certifique-se com a equipe técnica da GP Connect se isso é aceito ou se o método correto seria POST.




3. Cabeçalhos (Headers)

Header

Valor

Content-Type

application/json

Authorization

Bearer {seutokenaqui}




4. Corpo da Requisição (JSON)

json

CopiarEditar

{

  "tagid": "56"

}


Campo:

Campo

Tipo

Obrigatório

Descrição

tagid

string

Sim

ID da tag que será usada como filtro




5. Exemplo de Resposta (JSON)


[

  {

    "id": 101,

    "name": "João Pedro",

    "number": "5511988888888",

    "tags": ["56", "clientes"]

  },

  {

    "id": 102,

    "name": "Ana Souza",

    "number": "5511977777777",

    "tags": ["56"]

  }

]





⚠️ Possíveis Erros

Código HTTP

Mensagem

Causa Provável

400

JSON malformado

Erro no corpo da requisição

401

Unauthorized

Token inválido ou expirado

404

Tag não encontrada

tagid inexistente ou incorreto

500

Internal Server Error

Erro na plataforma da API













📌API Atualizar Contato

API: Baileys

Atualizar um contato de sua conta.


Visão Geral

Esta API permite atualizar os dados de um contato existente na base da plataforma GP Connect. É ideal para manter os dados dos leads atualizados em CRMs ou sistemas integrados, garantindo consistência e integridade das informações.




📂 Estrutura do Código PHP


<?php


$curl = curl_init();


curl_setopt_array($curl, array(

  CURLOPT_URL => 'https://api.gpconnect.com.br/api/contact/update',

  CURLOPT_RETURNTRANSFER => true,

  CURLOPT_ENCODING => '',

  CURLOPT_MAXREDIRS => 10,

  CURLOPT_TIMEOUT => 0,

  CURLOPT_FOLLOWLOCATION => true,

  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,

  CURLOPT_CUSTOMREQUEST => 'POST',

  CURLOPT_POSTFIELDS =>'{

    "id": "24294",

    "name": "Teste Atualizando Nome",

    "number": "5511999999999",

    "email": "[email protected]",

    "carteiraId": "",

    "extraInfo": [

        {

            "name": "Código",

            "value": "43242er32"

        },

        {

            "name": "Valor do Lead",

            "value": "100,00"

        },

        {

            "name": "CEP",

            "value": "91130720"

        }

    ]

}',

  CURLOPT_HTTPHEADER => array(

    'Content-Type: application/json',

    'Authorization: Bearer {seutokenaqui}'

  ),

));


$response = curl_exec($curl);


curl_close($curl);

echo $response;






📘 Detalhamento Técnico

1. Endpoint

  • https://api.gpconnect.com.br/api/contact/update




2. Método HTTP

  • POST




3. Cabeçalhos (Headers)

Header

Valor

Content-Type

application/json

Authorization

Bearer {seutokenaqui}





{

  "id": "24294",

  "name": "Teste Atualizando Nome",

  "number": "5511999999999",

  "email": "[email protected]",

  "carteiraId": "",

  "extraInfo": [

    {

      "name": "Código",

      "value": "43242er32"

    },

    {

      "name": "Valor do Lead",

      "value": "100,00"

    },

    {

      "name": "CEP",

      "value": "91130720"

    }

  ]

}


Campos principais

Campo

Tipo

Obrigatório

Descrição

id

string

Sim

ID do contato a ser atualizado

name

string

Sim

Nome do contato

number

string

Sim

Número completo com DDI/DDI (ex: 55 + DDD + número)

email

string

Não

E-mail do contato

carteiraId

string

Não

ID da carteira, se aplicável

extraInfo

array

Não

Campos adicionais personalizados




5. Exemplo de Resposta (JSON)

json

CopiarEditar

{

  "success": true,

  "message": "Contato atualizado com sucesso.",

  "data": {

    "id": 24294,

    "name": "Teste Atualizando Nome"

  }

}





⚠️ Possíveis Erros

Código HTTP

Mensagem

Causa Provável

400

Campo obrigatório ausente

JSON inválido ou campos ausentes

401

Unauthorized

Token inválido ou não enviado

404

Contato não encontrado

ID não corresponde a nenhum registro

500

Internal Server Error

Erro na plataforma




📝 Observações

  • O campo "carteiraId" pode ser enviado como "" (string vazia) ou null se não for utilizado.

  • É possível atualizar apenas um ou vários campos do contato.

  • Certifique-se de que o campo "id" seja de um contato existente para evitar erro 404.

  • Os campos personalizados em extraInfo devem estar previamente cadastrados no sistema.








📌 API Deletar TODOS os Contatos

API: Baileys

Delete TODOS os contatos de sua conta.

Atenção!

Repita quantas vezes forem necessárias para que todos sejam excluídos. Isto pode levar horas dependendo da quantidade de mensagens e tickets.


Faça por conta e risco e de preferência fora do horário comercial



Visão Geral

Esta API permite remover contatos da base de dados da plataforma Connect. É uma operação irreversível e deve ser utilizada com cautela, especialmente em ambientes de produção.




📂 Estrutura do Código PHP


<?php


$curl = curl_init();


curl_setopt_array($curl, array(

  CURLOPT_URL => 'https://api.gpconnect.com.br/contacts-delete',

  CURLOPT_RETURNTRANSFER => true,

  CURLOPT_ENCODING => '',

  CURLOPT_MAXREDIRS => 10,

  CURLOPT_TIMEOUT => 0,

  CURLOPT_FOLLOWLOCATION => true,

  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,

  CURLOPT_CUSTOMREQUEST => 'DELETE',

  CURLOPT_HTTPHEADER => array(

    'Authorization: {seutokenaqui}' //Token cadastrado na conexão

  ),

));


$response = curl_exec($curl);


curl_close($curl);

echo $response;





📘 Detalhamento Técnico

1. Endpoint

  • https://api.gpconnect.com.br/contacts-delete




2. Método HTTP

  • DELETE




3. Cabeçalhos (Headers)

Header

Valor

Authorization

Bearer {seutokenaqui}




4. Corpo da Requisição

  • Nenhum corpo (payload) foi enviado neste exemplo.

  • Em alguns casos, o ID do contato pode ser passado na URL (ex: contacts-delete/{id}) ou via body no método DELETE, dependendo da implementação da API.

Certifique-se com a equipe técnica da GP Connect como essa exclusão é identificada (por ID, número ou e-mail).


5. Exemplo de Resposta (JSON)

{

    "message": "All Contacts has been deleted!"

}















Atualizado em 23/04/2025
Este artigo foi útil?  
Agradecemos sua avaliação.