Este endpoint retorna uma lista paginada de todos os contatos que foram bloqueados e não receberão mensagens em campanhas futuras.
Token de acesso da empresa
Path Parameters
ID da empresa (deve corresponder ao token)
Query Parameters
Número da página (começa em 0)
Quantidade de itens por página (máximo recomendado: 100)
Filtro para buscar por número de telefone (busca parcial)
curl -X GET "https://api.disparador.com/api/companies/1/blocked-contacts?page=0&size=20&search=5511" \
-H "X-Access-Token: seu-access-token"
Response
Lista de contatos bloqueadosShow Campos do Contato Bloqueado
ID único do registro de bloqueio
Número de telefone normalizado (apenas dígitos)
Número de telefone formatado para exibição
Data e hora do bloqueio (ISO 8601)
Email do usuário que realizou o bloqueio
Total de contatos bloqueados
Total de páginas disponíveis
Página atual (começa em 0)
{
"content": [
{
"id": 123,
"phoneNumber": "5511999887766",
"formattedPhoneNumber": "+55 11 99988-7766",
"blockedAt": "2024-01-15T10:30:00",
"reason": "Solicitou não receber mensagens",
"blockedBy": "[email protected]",
"isActive": true
},
{
"id": 124,
"phoneNumber": "5511888776655",
"formattedPhoneNumber": "+55 11 88877-6655",
"blockedAt": "2024-01-14T15:45:00",
"reason": "Número inválido",
"blockedBy": "[email protected]",
"isActive": true
}
],
"totalElements": 47,
"totalPages": 3,
"currentPage": 0,
"pageSize": 20
}
Exemplo de Paginação
// Função para buscar todos os contatos bloqueados
async function getAllBlockedContacts(companyId, accessToken) {
const blockedContacts = [];
let currentPage = 0;
let hasMore = true;
while (hasMore) {
const response = await fetch(
`https://api.disparador.com/api/companies/${companyId}/blocked-contacts?page=${currentPage}&size=100`,
{
headers: { 'X-Access-Token': accessToken }
}
);
const data = await response.json();
blockedContacts.push(...data.content);
currentPage++;
hasMore = currentPage < data.totalPages;
}
return blockedContacts;
}
Observações
- A busca por número é parcial, permitindo filtrar por prefixo (ex: “5511” para São Paulo)
- Apenas contatos com
isActive: true
são considerados bloqueados
- O campo
blockedBy
mostra quem realizou o bloqueio para auditoria
- Recomenda-se paginar com no máximo 100 itens por página