waiaconnect

Documentação / Completo

Conexões e o seu estado de saúde

GET /v1/connections

Markdown

GET /v1/connections lista os números da conta (somente leitura). Cada um traz o seu id (conn_…), o seu phoneNumberId (o id do número na Meta — o valor que o campo from aceita ao enviar), label/externalId (a sua identidade de revendedor), displayPhone, e saúde: metaStatus (connected/pending/flagged/restricted/disconnected), qualityRating, messagingTier. A única coisa mutável pela API é a identidade de revendedor: PATCH /v1/connections/:id (label, externalId, monthlyMessageLimit, notes).

curl https://api.waiaconnect.com/v1/connections \
  -H "Authorization: Bearer wc_live_YOUR_API_KEY"
# → { "connections": [ { "id": "conn_…", "label": "…", "externalId": "…",
#       "displayPhone": "…", "metaStatus": "connected", "qualityRating": "…" } ] }
const res = await fetch("https://api.waiaconnect.com/v1/connections", {
  headers: { "Authorization": "Bearer wc_live_YOUR_API_KEY" }
});
const { connections } = await res.json();
for (const c of connections) console.log(c.id, c.metaStatus, c.qualityRating);
<?php
$ch = curl_init("https://api.waiaconnect.com/v1/connections");
curl_setopt_array($ch, [
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_HTTPHEADER => ["Authorization: Bearer wc_live_YOUR_API_KEY"],
]);
$data = json_decode(curl_exec($ch), true);
foreach ($data["connections"] as $c) { echo $c["id"] . " " . $c["metaStatus"] . "\n"; }
import requests
res = requests.get("https://api.waiaconnect.com/v1/connections",
  headers={"Authorization": "Bearer wc_live_YOUR_API_KEY"})
for c in res.json()["connections"]:
    print(c["id"], c["metaStatus"], c["qualityRating"])

externalId é único por conta e viaja em cada webhook (envelope.connection.externalId) → você não precisa de uma tabela de mapeamento.