Manipulando Contatos
Aviso
Por hora o SDK não disponibiliza a possibilidade de edições de um contato, mas a API sim. Iremos atualizá-lo em breve para disponibilizar tal recurso em um novo método.
Instancie o objeto da classe do pacote SDK PHP:
<?php
require 'vendor/autoload.php';
use ZapMeSdk\Base as ZapMeSdk;
$zapMeSdk = (new ZapMeSdk())
->withApi('SUA_API_AQUI')
->withSecret('SUA_CHAVE_SECRETA_AQUI');
No exemplo acima altere:
SUA_API_AQUI
- para sua credencial de APISUA_CHAVE_SECRETA_AQUI
- para sua credencial de Chave Secreta
Criando Contatos
Crie um contato da seguinte forma:
$zapMeSdk->createContact('John', '11985850505');
A resposta será um objeto jSON como este:
{
"status": true,
"result": "created",
"date": "2022-07-10 19:17:05",
"data": {
"id": 5031,
"name": "Jhon",
"phone": "(11) 98585-0505",
"group": null,
"status": "active",
"created_at": "2022-07-10 19:17:05",
"updated_at": "2022-07-10 19:17:05"
}
}
Obtendo Contatos
Recupere os contatos da seguinte forma:
$zapMeSdk->getContacts();
A resposta será um objeto jSON como este:
{
"status": true,
"result": "success",
"date": "2022-07-10 19:13:14",
"data": [
{
"id": 32,
"user_id": 1,
"group_id": null,
"name": "John",
"phone": "(11) 98585-0505",
"status": "active",
"created_at": "2022-07-09 15:40:58",
"updated_at": "2022-07-09 15:40:58"
},
{
"id": 33,
"user_id": 1,
"group_id": null,
"name": "Doe",
"phone": "(11) 98686-0505",
"status": "disable",
"created_at": "2022-07-09 15:40:58",
"updated_at": "2022-07-09 15:40:58"
}
]
}
Aviso
Sem a paginação definida, a quantidade máxima retornada será de 50 contatos.
Obtendo Contatos (Paginação)
Recupere os contatos com paginação da seguinte forma:
$zapMeSdk->getContacts(true, 1, 1);
A resposta será um objeto jSON como este:
{
"status": true,
"result": "success",
"date": "2022-08-01 03:00:04",
"data": [
{
"id": 1,
"hash": "e763e2cc00485335b619",
"message": "Inventore consequuntur incidunt occaecati dolorem. Nobis numquam voluptas necessitatibus ut deleniti. In aliquid quod iusto ipsam molestiae possimus maxime. Excepturi eveniet qui distinctio nihil quibusdam voluptate.",
"phone": "9621891589608",
"type": "api",
"status": "missing_number",
"created_at": "2022-08-01 02:12:16",
"updated_at": "2022-08-01 02:12:16"
},
]
}
Aviso
O primeiro parâmetro do método getContacts
será true
para indicar que a paginação está ativa.
O segundo parâmetro será a página atual e o terceiro parâmetro será a quantidade de contatos por página.
Caso não haja mais resultados a serem exibidos o retorno do parâmetro data
será vazio.
Obtendo Contato
Recupere um contato da seguinte forma:
$zapMeSdk->getContact(113);
A resposta será um objeto jSON como este:
{
"status": true,
"result": "success",
"date": "2022-07-10 19:34:39",
"data": {
"id": 113,
"name": "Jhon",
"phone": "(11) 98585-0505",
"group": {
"id": 3,
"name": "Clientes Inativos",
"color": "#5f76e8",
"created_at": "2022-07-10 19:18:45",
"updated_at": "2022-07-10 19:18:45"
},
"status": "active",
"created_at": "2022-07-10 19:21:19",
"updated_at": "2022-07-10 19:21:19"
}
}
Aviso
O primeiro parâmetro do método getContact
deve ser o ID do contato a ser obtido.
Exclusão de Contato
Exclua um contato da seguinte forma:
$zapMeSdk->destroyContact(113);
A resposta será um objeto jSON como este:
{
"status": true,
"result": "success",
"date": "2022-07-10 20:04:50"
}
Tratamento de Casos de Erros
Ao emitir uma requisição para a API da ZapMe, independente do método utilizado, uma série de validações será aplicada
afim de verificar se todos os requisitos necessários atendem as expectativas. Se você perceber que a requisição retornou com o
status
como false
, o result
irá conter um identificador do tipo do erro e haverá uma chave chamada: error
correspondendo a um array com as descrições sobre o erro:
{
"status": false,
"result": "invalid_credential",
"date": "2022-08-01 01:54:33",
"error": [
"credenciais invalidas"
]
}
Consulte a guia Tratamento de Erros para mais informações.