# Buscar contato por campo personalizado

> Encontra contatos pelo valor de um campo: o telefone, o e-mail ou um campo personalizado.

Endereço: https://docs.nextags.com.br/referencia/contatos/buscar-contato-por-campo-personalizado/
Tipo: Endpoint

```http
GET https://app.nextagsai.com.br/api/contacts/find_by_custom_field
X-ACCESS-TOKEN: <sua chave de API>
```

Encontra contatos pelo valor de um campo: o telefone, o e-mail ou um campo personalizado. Devolve no máximo 100 contatos, os mais recentes primeiro, pela última mudança do campo. É o jeito de achar o `contact_id` de quem você conhece pelo telefone ou pelo e-mail: veja [Encontrar um contato pelo e-mail ou telefone](https://docs.nextags.com.br/guias/buscar-contato-por-campo/).

Autenticação: Mande a chave de API da conta no cabeçalho `X-ACCESS-TOKEN` de cada chamada. Veja [Autenticação com a chave de API](https://docs.nextags.com.br/comecar/autenticacao/).

## Parâmetros de consulta

| Nome | Tipo | Obrigatório | Descrição |
|---|---|---|---|
| `field_id` | string | sim | Onde procurar: `phone` (telefone), `email` (e-mail) ou o ID de um campo personalizado. |
| `value` | string | sim | O valor procurado. O telefone vai completo e só com números, como `5511988776655`. |

## Exemplo

```bash
curl "https://app.nextagsai.com.br/api/contacts/find_by_custom_field?field_id=phone&value=5511988776655" \
  -H "X-ACCESS-TOKEN: $NEXTAGS_API_KEY"
```

Os exemplos em JavaScript, Python e PHP estão na página e no contrato (`x-codeSamples` em https://docs.nextags.com.br/openapi.json).

## Respostas

### 200 Sucesso

Os contatos encontrados, em `data`.

| Campo | Tipo | Descrição |
|---|---|---|
| `data` | array de objeto Contato | Os contatos, no máximo 100, os mais recentes primeiro. |
| `data[].id` | integer | O ID do contato: o `contact_id` das outras chamadas. |
| `data[].page_id` | integer | O ID da conta. |
| `data[].first_name` | string | O nome. |
| `data[].last_name` | string | O sobrenome. |
| `data[].channel` | integer | O canal atual do contato: 0 Messenger, 5 WhatsApp, 8 Telegram, 9 Webchat, 10 Instagram, 17 TikTok. |
| `data[].profile_pic` | string | O endereço da foto de perfil. |
| `data[].locale` | string | O idioma do contato, como `pt_BR`. |
| `data[].gender` | integer | O gênero: 0 feminino, 1 masculino, 2 desconhecido. |
| `data[].timezone` | integer | O fuso horário do contato, em horas em relação ao UTC (-3 em Brasília). |
| `data[].last_sent` | integer | Quando a última mensagem foi enviada ao contato, em Unix timestamp em milissegundos. |
| `data[].last_delivered` | integer | Quando a última mensagem foi entregue ao contato, em Unix timestamp em milissegundos. |
| `data[].last_seen` | integer | Quando o contato foi visto pela última vez (**Visto pela última vez**, no app), em Unix timestamp em milissegundos. |
| `data[].last_interaction` | integer | Quando o contato interagiu com a conta pela última vez, em Unix timestamp em milissegundos. |
| `data[].subscribed_date` | string | Quando o contato entrou na conta, em UTC, no formato `2026-10-12 14:40:00`. |
| `data[].subscribed` | integer | 1 inscrito; 2 inscrição cancelada (o contato saiu das transmissões e não recebe Broadcasts). Veja [Contatos que pediram para sair das transmissões](https://help.nextags.com.br/tutoriais/contatos/cancelar-inscricao/). |
| `data[].tags` | array de objeto Etiqueta | As etiquetas do contato. |
| `data[].tags[].id` | integer | O ID da etiqueta. |
| `data[].tags[].name` | string | O nome da etiqueta. |
| `data[].custom_fields` | array de objeto Campo personalizado | Os campos personalizados do contato, com o valor de cada um. |
| `data[].custom_fields[].id` | integer | O ID do campo. |
| `data[].custom_fields[].name` | string | O nome do campo. |
| `data[].custom_fields[].type` | integer | O tipo: 0 texto, 1 número, 2 data, 3 data e hora, 4 sim/não, 5 texto longo, 6 seleção única, 7 seleção múltipla. Valores: `0`, `1`, `2`, `3`, `4`, `5`, `6`, `7`. |
| `data[].custom_fields[].value` | string ou number | O valor do contato, no formato do tipo: texto nos campos de texto e de texto longo; número nos de número, de data e de data e hora (Unix timestamp, em segundos) e de sim/não (1 ou 0). |

```json
{
  "data": [
    {
      "id": 123456789,
      "page_id": 123456,
      "first_name": "Ana",
      "last_name": "Souza",
      "channel": 5,
      "profile_pic": "https://exemplo.com.br/fotos/ana.jpg",
      "locale": "pt_BR",
      "gender": 0,
      "timezone": -3,
      "last_sent": 1792936930000,
      "last_delivered": 1792936932000,
      "last_seen": 1792937020000,
      "last_interaction": 1792936680000,
      "subscribed_date": "2026-10-12 14:40:00",
      "subscribed": 1,
      "tags": [
        {
          "id": 2001,
          "name": "cliente-vip"
        }
      ],
      "custom_fields": [
        {
          "id": 3001,
          "name": "cidade",
          "type": 0,
          "value": "São Paulo"
        }
      ]
    }
  ]
}
```

### 400 Requisição inválida

Faltou `field_id` ou `value`, ou um deles não vale.

### 401 Chave inválida

A chave de API não veio no cabeçalho ou não vale (foi excluída ou está incompleta). Veja [Autenticação](https://docs.nextags.com.br/comecar/autenticacao/).

```json
{
  "error": {
    "code": 401,
    "message": "No valid API key provided."
  }
}
```
