API v2 (beta)
Nyahlanggan
Opt-out ialah orang yang nyahlanggan, iaitu tidak mahu menerima mesej ruang kerja anda. Tiada apa-apa yang akan dihantar kepada nombor yang nyahlanggan: mesej baharu kepadanya ditolak, dan mesej yang dimasukkan ke dalam baris gilir lebih awal gagal dengan ralat Opted out dan bukannya dihantar. Ia berfungsi untuk setiap cara anda menghantar: API (v1 dan v2), papan pemuka, kempen, mesej templat, peringatan, Google Sheets dan Shopify.
Senarai ini sama seperti tab Nyahlanggan dalam Kenalan di papan pemuka.
| Operasi | Endpoint | Skop |
|---|---|---|
| Nyahlanggan nombor | POST /api/v2/opt-outs | contacts |
| Senaraikan nyahlanggan | GET /api/v2/opt-outs | contacts |
| Dapatkan nyahlanggan | GET /api/v2/opt-outs/{phone} | contacts |
| Langgan semula nombor | DELETE /api/v2/opt-outs/{phone} | contacts |
Balasan STOP ditambah untuk anda#
Apabila seseorang membalas kepada salah satu nombor peti masuk anda dengan mesej yang hanya mengandungi perkataan nyahlanggan, mereka dinyahlanggan dengan sendirinya, dengan source reply dan mesej mereka sebagai keyword. Mesej yang hanya START (atau Subscribe) melanggan semula mereka.
- Perkataannya, dalam apa-apa huruf besar atau kecil dan dengan atau tanpa tanda baca:
STOP,Stop all,Unsubscribe,Opt out,Baja,Parar,Sair,Stopp,Abmelden,Arrêt,Désabonner,Basta,Disiscrivi,Стоп,Отписаться,Berhenti,Dur,توقف,إلغاء الاشتراك,עצור,הסר. - Hanya mesej yang mengandungi perkataan itu sahaja yang dikira: "tolong berhenti hantar senarai harga kepada saya" tidak menyahlanggan sesiapa.
- Nombor yang dibalas memerlukan peti masuk, kerana hanya nombor peti masuk yang membaca mesej masuk. Balasan yang lebih lama daripada 7 hari, seperti yang dibaca semasa nombor peti masuk ditambah, tidak dikira.
- Tiada apa-apa dihantar balik kepada mereka, dan tiada balasan automatik yang menjawab STOP itu.
Nyahlanggan nombor#
https://wbiztool.com/api/v2/opt-outsBody: JSON (application/json)
Badan
phonestringwajibNombor dalam format antarabangsa dengan
+(+919876543210). Ruang, sengkang dan kurungan diabaikan.@usernameTelegram juga boleh digunakan.notestringpilihanSebabnya, untuk pasukan anda, sehingga 200 aksara. Ditunjukkan pada tab Nyahlanggan.
curl -X POST https://wbiztool.com/api/v2/opt-outs \
-H "Authorization: Bearer $WBIZTOOL_API_KEY" \
-H "Content-Type: application/json" \
-d '{"phone": "+919876543210", "note": "Asked by email"}'import os
import requests
r = requests.post("https://wbiztool.com/api/v2/opt-outs", timeout=30,
headers={"Authorization": f"Bearer {os.environ['WBIZTOOL_API_KEY']}"},
json={"phone": "+919876543210", "note": "Asked by email"})
print(r.status_code, r.json())// Node.js 18+ (built-in fetch). Save as .mjs to use top-level await.
const r = await fetch("https://wbiztool.com/api/v2/opt-outs", {
method: "POST",
headers: { Authorization: `Bearer ${process.env.WBIZTOOL_API_KEY}`, "Content-Type": "application/json" },
body: JSON.stringify({ phone: "+919876543210", note: "Asked by email" }),
});
console.log(r.status, await r.json());<?php
$ch = curl_init('https://wbiztool.com/api/v2/opt-outs');
curl_setopt_array($ch, [
CURLOPT_POST => true,
CURLOPT_HTTPHEADER => ['Authorization: Bearer ' . getenv('WBIZTOOL_API_KEY'), 'Content-Type: application/json'],
CURLOPT_POSTFIELDS => json_encode(['phone' => '+919876543210', 'note' => 'Asked by email']),
CURLOPT_RETURNTRANSFER => true,
]);
echo curl_exec($ch);
curl_close($ch);Respons: 201 dengan opt-out itu. Nombor yang sudah nyahlanggan menjawab 200 dengan entrinya yang sedia ada, tanpa perubahan.
{
"recipient": "+919876543210",
"source": "api",
"keyword": null,
"note": "Asked by email",
"created_at": "2026-10-26T09:12:03.120Z"
}
Ralat#
| HTTP | Kod | Bila |
|---|---|---|
400 | validation_failed | note bukan teks atau lebih panjang daripada 200 aksara |
422 | invalid_phone | phone tiada atau bukan nombor telefon |
Senaraikan nyahlanggan#
https://wbiztool.com/api/v2/opt-outsSemua orang yang nyahlanggan, yang terbaharu dahulu, dalam halaman (limit 1 hingga 100, lalai 25, dan cursor). Tambah phone untuk mencari satu nombor.
curl "https://wbiztool.com/api/v2/opt-outs?limit=100" \
-H "Authorization: Bearer $WBIZTOOL_API_KEY"
{
"data": [
{ "recipient": "+919876543210", "source": "reply", "keyword": "STOP", "note": null, "created_at": "2026-10-26T09:12:03.120Z" }
],
"next_cursor": null
}
Dapatkan nyahlanggan#
https://wbiztool.com/api/v2/opt-outs/{phone}Nombor dalam alamat ditulis dalam format antarabangsa tanpa + (919876543210). Ia menjawab 404 opt_out_not_found apabila nombor itu tidak nyahlanggan, jadi ia semakan pantas sebelum anda menghantar.
curl https://wbiztool.com/api/v2/opt-outs/919876543210 \
-H "Authorization: Bearer $WBIZTOOL_API_KEY"
Langgan semula nombor#
https://wbiztool.com/api/v2/opt-outs/{phone}Mesej kepada nombor itu dihantar semula mulai sekarang. Mesej yang sudah gagal sebagai Opted out kekal gagal. Lakukan ini hanya apabila orang itu meminta mesej anda semula.
curl -X DELETE https://wbiztool.com/api/v2/opt-outs/919876543210 \
-H "Authorization: Bearer $WBIZTOOL_API_KEY"
{ "recipient": "+919876543210", "deleted": true }
Nombor yang tidak nyahlanggan menjawab 404 opt_out_not_found.
Menghantar kepada nombor yang nyahlanggan#
POST /messagesmenjawab422recipient_opted_out, dan tiada apa-apa dimasukkan ke dalam baris gilir. Dalam kelompok, seluruh kelompok ditolak danfieldralat itu menamakan entrinya.- Mesej yang dimasukkan ke dalam baris gilir sebelum orang itu nyahlanggan gagal dengan
errorOpted outapabila tiba gilirannya, dan webhook menerimamessage.failed. - API v1 memasukkan mesej ke dalam baris gilir dan ia gagal dengan
Opted out, seperti yang anda lihat dalam status mesej. - Cuba lagi … yang gagal dalam kempen melangkau mesej ini.
Objek Opt-out#
| Medan | Jenis | Penerangan |
|---|---|---|
recipient | string | + dan nombornya, atau @username Telegram |
source | string | reply: mereka membalas STOP kepada nombor peti masuk. dashboard: ditambah dalam Kenalan. import: daripada CSV dalam Kenalan. api: API ini |
keyword | string or null | Balasan yang menyahlanggan mereka, seperti yang mereka tulis |
note | string or null | Nota pasukan anda |
created_at | string | Bila mereka nyahlanggan (ISO 8601, UTC) |
