# Obter foto de perfil do contato

`POST /contact/picture`

Pasta: **Contatos**

## Autenticação

```http
token: {{token}}
```

## Descrição

# Obter foto de perfil do contato

Baixa a imagem de perfil de um contato, LID ou grupo no WhatsApp e publica em URL temporária (`/media/...`) com o mesmo TTL da mídia de mensagens. Use para exibir avatar em CRM, Chatwoot ou painéis.

## Endpoint

`POST {{baseUrl}}/contact/picture`

## Autenticação

Envie o token da instância no header `token: {{token}}`.

## Query

| Campo | Tipo | Obrigatório | Descrição |
|---|---|---|---|
| `download` | string | Não | Se `1`, retorna os bytes crus da imagem (`Content-Type` do arquivo). Padrão: JSON com `media_url` pública. |

## Corpo da requisição

| Campo | Tipo | Obrigatório | Descrição |
|---|---|---|---|
| `jid` | string | Condicional | JID do contato/grupo (`5511...@s.whatsapp.net`, `...@lid` ou `...@g.us`). Informe `jid` **ou** `number`. |
| `number` | string | Condicional | Telefone com DDI (ex.: `5511999999999`). |

## Exemplo de Requisição

```bash
curl --request POST '{{baseUrl}}/contact/picture' \
  --header 'token: {{token}}' \
  --header 'Content-Type: application/json' \
  --data-raw '{
  "number": "5511999999999"
}'
```

## Resposta de Sucesso

```json
{
  "success": true,
  "jid": "5511999999999@s.whatsapp.net",
  "mimetype": "image/jpeg",
  "media_url": "https://develop.gozap.dev/media/inst-xxx/profile-5511999999999-s.whatsapp.net.jpg",
  "media_url_expires_at": "2026-08-01T03:00:00Z"
}
```

Com `?download=1`, a resposta é o binário da imagem (não JSON).

## Erros comuns

- `400 Bad Request`: `jid`/`number` ausente ou inválido.
- `404 Not Found`: contato sem foto de perfil (`profile picture not set`).
- `401 Unauthorized`: token inválido.
- `500 Internal Server Error`: instância desconectada ou falha ao baixar a foto.

## Observações

- Funciona em modo web e mobile.
- Aceita JID de DM, LID e grupo.
- `media_url` usa o mesmo cache temporário de `POST /message/download` (TTL configurável via `MEDIA_CACHE_TTL`).
- Dentro do TTL, chamadas repetidas reutilizam o cache sem novo download no WhatsApp.

## Corpo (exemplo)

```json
{
  "number": "5511999999999"
}
```

## cURL

```bash
curl -X POST "{{baseUrl}}/contact/picture" \
  -H "token: {{token}}" \
  -H "Content-Type: application/json" \
  -d '{
  "number": "5511999999999"
}'
```

---

[Índice da pasta](./index.md) · [Índice geral](../index.md) · [UI](https://gozap.dev/docs?op=contatos/obter-foto-de-perfil-do-contato)
