# @lid no WhatsApp – O que é, como funciona e como lidar na SprintHub

O **@lid (Linked ID)** é um identificador único e privado criado pelo WhatsApp para representar usuários **sem expor o número de telefone**.\
Essa mudança faz parte das atualizações de privacidade da Meta e está sendo aplicada de forma **gradual**, o que significa que:

* Nem todos os usuários utilizam @lid ainda.
* O comportamento pode variar entre conversas, grupos e dispositivos.
* Mesmo que o usuário **não tenha escondido o número**, o WhatsApp pode enviar apenas o @lid.

Por isso, é fundamental adaptar integrações — inclusive as da SprintHub — para lidar com essa transição.

***

## **Diferença entre @lid e phone**

O WhatsApp hoje pode retornar o identificador do contato de diferentes maneiras:

#### **📌 `phone`**

Pode conter:

* O número real do contato → `"554499999999"`
* Ou o próprio @lid → `"999999999999999@lid"`

Ou seja: **phone não é mais garantia de número de telefone.**

***

#### **📌 `chatLid`**

É o identificador único mais estável do contato.\
Porém, pode vir como:

* Um @lid válido
* Ou `null`

Quando o `chatLid` vem como `null`, o campo `phone` pode retornar **apenas o @lid**.

➡️ O comportamento é definido exclusivamente pelo WhatsApp — e pode mudar a qualquer momento.

***

## **Exemplos de Webhook**

Dependendo da conta, privacidade e contexto, o WhatsApp pode enviar diferentes identificadores.

#### **Exemplo 1 — Retorno completo com número e @lid**

```json
{
  "chatLid": "999999999999999@lid",
  "phone": "554499999999"
}
```

#### **Exemplo 2 — Retorno apenas com @lid**

```json
{
  "chatLid": null,
  "phone": "65998849469@lid"
}
```

Esse comportamento ocorre quando o WhatsApp **oculta o número** e fornece somente o identificador @lid.

A SprintHub/Z-API apenas **replica exatamente** o que o WhatsApp envia.

***

## **Envio de mensagens usando o @lid**

```json
{
  "phone": "999999999999999@lid",
  "message": "Olá! Essa mensagem foi enviada usando o identificador @lid."
}
```

Mesmo sem o número real, o WhatsApp entrega a mensagem normalmente.

***

## **Boas práticas de implementação**

Para evitar inconsistências, recomendamos:

#### **1. Priorize o uso de `@lid`**

Ele é mais estável e tende a ser o identificador definitivo escolhido pelo WhatsApp.

#### **2. Não dependa apenas de `phone`**

Esse campo pode conter:

* Número real
* @lid
* Formatos mistos

#### **3. Sempre armazene o @lid na sua base**

Trate o @lid como identificador permanente.

#### **4. Mantenha mapeamento interno entre:**

* `chatLid`
* `phone` (quando número real)
* @lid

Assim sua lógica de SAC, automações e CRM permanece consistente.

***

## **Conversão entre número e @lid**

#### **❌ Converter @lid → número**

Não é possível.\
Nenhuma API, nem mesmo interna do WhatsApp, fornece essa informação.

Isso existe **por razões de privacidade**.

***

#### **✔️ Converter número → @lid**

Isso é possível usando o endpoint da Z-API **“Número com WhatsApp?”**, que verifica:

* Se o número existe no WhatsApp
* E retorna o @lid correspondente, quando disponível

Esse é o caminho oficial para obter o identificador.

***

## **Pontos importantes**

* O @lid é um recurso **nativo do WhatsApp**, não da SprintHub ou da Z-API.
* O comportamento pode mudar a qualquer momento, sem aviso prévio.
* O atributo `chatLid` já está implementado nos webhooks e pode ser usado para envio.
* A mudança está sendo aplicada **gradualmente**, então resultados podem ser inconsistentes entre usuários, grupos e ambientes.
