> For the complete documentation index, see [llms.txt](https://digitalsac.gitbook.io/digicalls/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://digitalsac.gitbook.io/digicalls/dispositivo/pareamento-por-passkey-extensao-chrome.md).

# Pareamento por Passkey — extensão Chrome

Alternativa ao **QR Code** para vincular um número WhatsApp ao DigiCalls usando o pareamento nativo **passkey** do WhatsApp Web.

### Baixar a extensão

**Chrome / Edge (Chromium):**\
\
**Ao clicar em conectar por PassKey o sistema abre a Google Chrome Store e temos a extensão já aprovada, caso for usar em um dominio que não seja da Digicalls o mesmo deverá ser baixado e instalado manualmente.**

<https://digicalls.dev/digicalls-linker.zip>

### Instalar

1. Baixe e **descompacte** o `.zip` em uma pasta (ex.: `digicalls-linker`).
2. Abra `chrome://extensions` (ou `edge://extensions`).
3. Ative **Modo do desenvolvedor**.
4. Clique em **Carregar sem compactação** e selecione a pasta descompactada.
5. Confirme que a extensão **DigiCalls Linker** aparece ativa.

> A extensão não está na Chrome Web Store — instalação manual pelo zip acima.

### Como parear

1. No painel DigiCalls, crie ou abra um device **WhatsApp (QR)**.
2. Clique em **Conectar via extensão (passkey)**.
3. O navegador abre `web.whatsapp.com` com os parâmetros do device.
4. Na página, a extensão exibe **Autenticar com passkey**.
5. Conclua a autenticação (Face ID, Windows Hello, chave de segurança, etc.).
6. Quando `loggedIn=true`, volte ao DigiCalls — o device fica **conectado**.

### Requisitos

* Google Chrome ou Microsoft Edge (Manifest V3).
* Extensão instalada **antes** de iniciar o fluxo passkey.
* Número WhatsApp com passkey habilitado no aparelho (mesmo requisito do WhatsApp Web).
* Servidor DigiCalls com passkey habilitado.

### Como funciona (resumo)

A extensão **DigiCalls Linker**:

1. Lê o link `#digicalls=…` na URL do WhatsApp Web.
2. Consulta a API do DigiCalls (`GET /api/devices/{token}/passkey`).
3. Executa `navigator.credentials.get()` no contexto do WhatsApp Web.
4. Envia a resposta (`POST …/passkey/response` e, se necessário, `…/confirm`).

Autenticação na API: header `X-Api-Key` do tenant + device token `dev_…` no path — mesmo modelo do provisionamento.

### API (integradores)

Endpoints usados pela extensão:

```
GET  /api/devices/{token}/passkey
POST /api/devices/{token}/passkey/response
POST /api/devices/{token}/passkey/confirm
```

Header em todas as chamadas: `X-Api-Key: dgu_…`

### Problemas comuns

| Problema                         | O que fazer                                                       |
| -------------------------------- | ----------------------------------------------------------------- |
| Botão passkey não aparece        | Verifique se a extensão está ativa; recarregue `web.whatsapp.com` |
| Extensão não detectada no painel | Reinstale a partir do zip; confira Modo desenvolvedor             |
| Falha na autenticação            | Passkey do WhatsApp no celular deve estar configurada             |
| 401 / 403 na API                 | API key ou token do device incorretos                             |

### QR vs. Passkey

|                  | QR Code             | Passkey (extensão)                 |
| ---------------- | ------------------- | ---------------------------------- |
| Instalação extra | Não                 | Sim (extensão Chrome)              |
| Celular          | Escanear QR         | Aprovar passkey                    |
| CRM / API        | Só exibir QR string | Abrir fluxo com link passkey       |
| Indicado para    | Maioria dos casos   | Operadores desktop sem escanear QR |

Veja também Vincule um WhatsApp (QR).
