Pareamento
Conectar o número: QR Code, código por telefone ou passkey.
https://app.onzap.io/v1/instances/{instanceId}AuthX-Instance-Token: SEU_TOKENQR Code para conectar
/v1/instances/{instanceId}/qr-codeQR Code para ler em WhatsApp → Aparelhos conectados, disponível com a instância em SCAN_QR_CODE. format=image devolve PNG; format=raw, o texto do QR. O código muda a cada ~20 s.
Parâmetros de query
formatstringobrigatóriocurl "https://app.onzap.io/v1/instances/SUA_INSTANCIA/qr-code?format=VALOR" \
-H "X-Instance-Token: $ONZAP_TOKEN"{
"data": "iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVR42mNk+M9QDwADhgGAWjR9awAAAABJRU5ErkJggg==",
"mimetype": "image/jpeg",
"value": "valor"
}Código de pareamento por telefone
/v1/instances/{instanceId}/pairing-codeAlternativa ao QR Code: gera um código de 8 caracteres (ex.: KFXC-T63T) para digitar no celular (WhatsApp → Aparelhos conectados → Conectar aparelho → Conectar com número de telefone). Envie em phoneNumber o número do WhatsApp que vai ser conectado, com DDI e DDD. Só funciona com a instância esperando conexão (SCAN_QR_CODE); o código vale por poucos minutos. No Brasil, se o celular disser que o número está errado, peça de novo sem o nono dígito (contas antigas podem estar registradas assim). Limitado a poucos pedidos a cada 10 minutos.
Corpo (JSON)
phoneNumberstringobrigatóriomethodstringopcionalcurl -X POST "https://app.onzap.io/v1/instances/SUA_INSTANCIA/pairing-code" \
-H "X-Instance-Token: $ONZAP_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"phoneNumber": "5511999999999"
}'Sucesso
curl "https://app.onzap.io/v1/instances/SUA_INSTANCIA/passkey/challenge" \
-H "X-Instance-Token: $ONZAP_TOKEN"{
"allowCredentials": [
{
"id": "3EB0C0A1B2C3D4E5F6",
"transports": [
"internal",
"hybrid"
],
"type": "public-key"
}
],
"challenge": "texto",
"extensions": {},
"rpId": "web.whatsapp.com",
"timeout": 60000,
"userVerification": "required"
}Enviar assinatura da passkey
/v1/instances/{instanceId}/passkeyCorpo (JSON)
idstringobrigatóriorawIdstringobrigatórioresponseobjectobrigatórioresponse.authenticatorDatastringobrigatórioresponse.clientDataJSONstringobrigatórioresponse.signaturestringobrigatórioresponse.userHandlestringopcionaltypestringobrigatóriocurl -X POST "https://app.onzap.io/v1/instances/SUA_INSTANCIA/passkey" \
-H "X-Instance-Token: $ONZAP_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"id": "3EB0C0A1B2C3D4E5F6",
"rawId": "1234567890",
"response": {
"authenticatorData": "texto",
"clientDataJSON": "texto",
"signature": "t=1767225600,v1=5d41402abc4b2a76b9719d911017c592…"
},
"type": "public-key"
}'Sucesso
curl "https://app.onzap.io/v1/instances/SUA_INSTANCIA/passkey/confirmation" \
-H "X-Instance-Token: $ONZAP_TOKEN"{
"code": "1234"
}curl -X POST "https://app.onzap.io/v1/instances/SUA_INSTANCIA/passkey/confirm" \
-H "X-Instance-Token: $ONZAP_TOKEN"Sucesso