Broadcasts API
Een broadcast is één uitgaande verzending: een doelgroep, een openingsbericht, één kanaal en een planning. Optioneel benoemt het ook de AI-agent die de ontvangen antwoorden afhandelt. Met de Broadcasts API kun je die verzendingen vanuit je eigen code opbouwen, prijzen, lanceren en monitoren in plaats van via het dashboard. Zie voor het product zelf de Broadcasts-handleiding.
- Basis-URL —
https://api.youraiconnector.com/v1 - Authenticatie — uw API-sleutel (zie Authenticatie)
- Fouten & paginering — zie Fouten & Paginering
Alle onderstaande voorbeelden tonen de ?apiKey= query-vorm in cURL en de X-API-Key header in JavaScript en Python — beide werken op elk eindpunt.
In de API-explorer. Elk eindpunt op deze pagina staat in de gepubliceerde OpenAPI-specificatie, dus je kunt de exacte velden bekijken en live verzoeken uitvoeren in de API-explorer.
Hoe een verzending is opgebouwd
Het versturen van een broadcast bestaat uit vier aanroepen, niet één:
- Maak de broadcast aan met de doelgroep, het kanaal en de planning — deze begint als een
Draft. - Stel het openingsbericht in. Bij WhatsApp Business betekent dit het indienen van een sjabloon ter goedkeuring (of het kiezen van een sjabloon dat al is goedgekeurd). Op elk ander kanaal is het platte tekst.
- Schat de kosten als je de prijs wilt controleren voordat je iets uitgeeft (optioneel).
- Lanceer het. Bij het lanceren wordt een volledige controle uitgevoerd — doelgroep, bericht, sjabloongoedkeuring, verbonden afzender — en wordt de verzending gestart of krijg je precies te horen wat er ontbreekt.
Er wordt niets verzonden totdat je de lancering aanroept.
Het broadcast-object
{
"id": "bcd123abc456",
"name": "June promo",
"status": "Draft",
"channel": "whatsapp",
"agent_id": "agt_789",
"list_id": "lst_456",
"list_name": "Newsletter subscribers",
"total_contacts": 240,
"send_to_new_list_members": false,
"whats_app_template": {
"body": "Hi {{first_name}}, our June offer is live.",
"status": "approved",
"sid": "HX0123...",
"language": "en",
"category": "marketing",
"variables": ["first_name"]
},
"execution_date": 1781000000000,
"drip_mode": true,
"time_critical": false,
"total_contacts_sent": 0,
"credits_used": 0,
"created_at": 1780900000000,
"last_modified_at": 1780900000000
}
Tijdstempels worden geretourneerd als epoch-milliseconden (execution_date, created_at, last_modified_at, …), en elke contactverwijzing wordt geretourneerd als een pad-string zoals contacts/uid_whatsapp_15551234567.
Velden die je zelf instelt
| Veld | Beschrijving |
|---|---|
name |
Hoe de broadcast wordt genoemd in het dashboard. |
channel |
Het enige kanaal waarop deze broadcast verzendt: whatsapp, whatsapp_web, sms, instagram, messenger, facebook, telegram, instagram_private, line, viber, imessage, email, chat_widget, custom_channel. Een broadcast heeft precies één kanaal — om hetzelfde ergens anders te verzenden, dupliceer je het naar een ander kanaal. tiktok en skool zijn alleen voor antwoorden en kunnen nooit worden gebruikt voor broadcasts. |
agent_id |
De AI-agent die antwoorden beantwoordt. Laat dit null en antwoorden komen in plaats daarvan in je team-inbox terecht. |
list_id |
De contactenlijst waarnaar verzonden moet worden. Dit is hoe je de doelgroep instelt vanuit de API — zie Contacten voor het maken en vullen van lijsten. |
list_name |
Weergavenaam die naast de broadcast wordt getoond. Cosmetisch. |
send_to_new_list_members |
true houdt de broadcast actief zodat iedereen die later aan de lijst wordt toegevoegd ook de opener ontvangt. |
whats_app_template |
Het openingsbericht. Op WhatsApp Business is dit een echt goedgekeurd sjabloon; op elk ander kanaal wordt de body gebruikt als de platte openingstekst. Stel dit in via de sjabloon-eindpunten, niet handmatig. |
opener_media |
Eén afbeelding of video die met de opener wordt meegestuurd. Verstuur altijd het volledige object (of null om het te verwijderen) — het schrijven van individuele velden daarbinnen wordt geweigerd. Niet ondersteund op SMS. |
execution_date |
Wanneer te verzenden. Stuur een ISO 8601-tijdstempel of epoch-milliseconden. Een toekomstige datum plant de verzending; laat dit weg (of gebruik een datum in het verleden) om direct bij lancering te verzenden. |
drip_mode |
true doseert de verzending in batches over de tijd in plaats van alles tegelijk. |
time_critical |
true kiest zich af voor de automatische dosering die boven de 50 contacten in werking treedt — voor een warm publiek dat het bericht nu nodig heeft. Dit heft de dagelijkse verzendlimiet van het kanaal zelf niet op. |
batch_size |
Hoeveel contacten per batch bij het druppelsgewijs verzenden. |
follow_up_config |
De vervolgketen voor contacten die nooit antwoorden. |
Alles wat je verstuurt als user_id, id, status of source_campaign_id wordt genegeerd bij het aanmaken en verwijderd bij het bijwerken — de status verandert alleen via de onderstaande eindpunten voor lanceren, pauzeren en hervatten.
Velden die het platform beheert
status, total_contacts_sent, unique_contacts_replied, overall_reply_rate, credits_used, paused_reason, completion_summary, de batchtellers en contacts (de individuele contacten die vanuit het dashboard zijn toegevoegd, teruggelezen als pad-strings). Lees deze, schrijf ze niet.
Statussen
| Status | Betekenis |
|---|---|
Draft |
Wordt gebouwd. Er is niets gepland. |
Pending Approval |
Gelanceerd, maar het WhatsApp-sjabloon wacht nog op een beslissing. Het begint automatisch met verzenden zodra het sjabloon is goedgekeurd — u hoeft niet opnieuw te lanceren. |
Scheduled |
Gelanceerd met een toekomstige execution_date. |
Sending |
Actief aan het verzenden (een broadcast die klaarstaat voor nieuwe lijstleden blijft hier staan terwijl deze op hen wacht). |
Paused |
In de wacht — door u, of automatisch door een veiligheidscontrole. |
Sent |
Voltooid. |
Failed |
Voltooid, waarbij meer dan de helft van de verzendingen is mislukt. |
Een broadcast aanmaken
POST /broadcasts — maakt een Draft aan.
cURL
curl -X POST "https://api.youraiconnector.com/v1/broadcasts?apiKey=YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"name": "June promo",
"channel": "whatsapp",
"list_id": "lst_456",
"agent_id": "agt_789",
"drip_mode": true,
"execution_date": "2026-06-15T09:00:00.000Z"
}'
JavaScript
const res = await fetch("https://api.youraiconnector.com/v1/broadcasts", {
method: "POST",
headers: { "X-API-Key": "YOUR_API_KEY", "Content-Type": "application/json" },
body: JSON.stringify({
name: "June promo",
channel: "whatsapp",
list_id: "lst_456",
agent_id: "agt_789",
drip_mode: true,
execution_date: "2026-06-15T09:00:00.000Z",
}),
});
const { broadcast_id } = await res.json();
Python
import requests
res = requests.post(
"https://api.youraiconnector.com/v1/broadcasts",
headers={"X-API-Key": "YOUR_API_KEY"},
json={
"name": "June promo",
"channel": "whatsapp",
"list_id": "lst_456",
"agent_id": "agt_789",
"drip_mode": True,
"execution_date": "2026-06-15T09:00:00.000Z",
},
)
print(res.json()["broadcast_id"])
Antwoord (201)
{ "success": true, "broadcast_id": "bcd123abc456" }
Broadcasts weergeven
GET /broadcasts — elke broadcast in het account, nieuwste eerst.
Queryparameters
| Parameter | Vereist | Beschrijving |
|---|---|---|
status |
Nee | Retourneer alleen broadcasts met één status, bijv. Sending. Kom exact overeen met de spelling in de statustabel. |
curl "https://api.youraiconnector.com/v1/broadcasts?apiKey=YOUR_API_KEY&status=Sending"
const res = await fetch("https://api.youraiconnector.com/v1/broadcasts?status=Sending", {
headers: { "X-API-Key": "YOUR_API_KEY" },
});
const { broadcasts } = await res.json();
res = requests.get(
"https://api.youraiconnector.com/v1/broadcasts",
headers={"X-API-Key": "YOUR_API_KEY"},
params={"status": "Sending"},
)
broadcasts = res.json()["broadcasts"]
Antwoord (200)
{ "success": true, "broadcasts": [{ "id": "bcd123abc456", "name": "June promo", "status": "Sending", "...": "..." }] }
Een broadcast ophalen
GET /broadcasts/{broadcastId} — retourneert { "success": true, "broadcast": { ... } }. Gebruik dit om een lopende verzending te pollen: total_contacts_sent, unique_contacts_replied, overall_reply_rate en credits_used worden bijgewerkt naarmate het proces vordert.
curl "https://api.youraiconnector.com/v1/broadcasts/bcd123abc456?apiKey=YOUR_API_KEY"
Een broadcast die niet bestaat in uw account retourneert 404.
Een broadcast bijwerken
PUT /broadcasts/{broadcastId} — stuur alleen de velden die u wilt wijzigen. U kunt ook een enkele sleutel binnen een genest object adresseren met een puntnotatie, bijv. "whats_app_template.body".
curl -X PUT "https://api.youraiconnector.com/v1/broadcasts/bcd123abc456?apiKey=YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{ "name": "June promo (v2)", "execution_date": "2026-06-16T09:00:00.000Z" }'
await fetch("https://api.youraiconnector.com/v1/broadcasts/bcd123abc456", {
method: "PUT",
headers: { "X-API-Key": "YOUR_API_KEY", "Content-Type": "application/json" },
body: JSON.stringify({ name: "June promo (v2)", execution_date: "2026-06-16T09:00:00.000Z" }),
});
Een lege body retourneert 400. Twee regels die het weten waard zijn:
opener_mediais alles-of-niets. Stuur het volledige object, ofnullom de bijlage te verwijderen. Een puntnotatie hierin (opener_media.name) wordt geweigerd met400, omdat een gedeeltelijk bijgewerkte bijlage een bestand zou beschrijven dat er niet is.- Status is niet bewerkbaar. Gebruik lanceren, pauzeren en hervatten.
Het openingsbericht
Elke uitzending bevat zijn opener in whats_app_template. Wat dat betekent, hangt af van het kanaal:
- WhatsApp Business — dit moet een sjabloon zijn dat door WhatsApp is goedgekeurd. Gebruik een van de twee onderstaande eindpunten.
- Elk ander kanaal (WhatsApp Web, SMS, Instagram, Messenger, Telegram, …) — de
bodyvan hetzelfde veld is simpelweg de tekst die wordt verzonden. Het indienen via het onderstaande eindpunt slaat het op en markeert het als gereed, zonder dat WhatsApp hierbij betrokken is.
Een sjabloon ter goedkeuring indienen
POST /broadcasts/{broadcastId}/template
| Veld | Verplicht | Beschrijving |
|---|---|---|
body |
Ja | De berichttekst, tot 1024 tekens. Gebruik {{variable}} tijdelijke aanduidingen voor personalisatie. |
name |
Nee | Sjabloonnaam. Standaard is dit de naam van de uitzending. |
language |
Nee | Taalcode. Standaard is dit en. |
category |
Nee | marketing (standaard), utility, authentication of authentication-international. Dit bepaalt de prijs van de verzending, dus wees hier eerlijk in. |
variables |
Nee | De namen van de tijdelijke aanduidingen, in de volgorde waarin ze verschijnen. Laat dit weg en ze worden uit de hoofdtekst gelezen — wat meestal is wat je wilt, omdat de verzending ze per contactpersoon invult. |
curl -X POST "https://api.youraiconnector.com/v1/broadcasts/bcd123abc456/template?apiKey=YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"body": "Hi {{first_name}}, our June offer is live until Friday.",
"language": "en",
"category": "marketing"
}'
Antwoord (200)
{ "success": true, "broadcast_id": "bcd123abc456", "template_status": "pending", "template_sid": "HX0123..." }
template_status is wat WhatsApp zegt: pending terwijl het wordt beoordeeld, approved wanneer het bruikbaar is, rejected als het is geweigerd. Op een niet-WhatsApp-kanaal komt het direct terug als approved met template_sid: null — er is niets om te beoordelen.
Zaken die je zullen tegenhouden:
- Indienen terwijl een vorig sjabloon nog in behandeling is, geeft
400terug. Wacht eerst op de beslissing. - Het bewerken van een sjabloon dat momenteel is goedgekeurd, houdt het goedgekeurde sjabloon actief totdat het nieuwe terugkomt, zodat een lopende uitzending nooit zijn opener verliest.
- Op een WhatsApp-nummer dat rechtstreeks via Meta is verbonden, kan een uitzending met een bijgevoegde afbeelding of video niet worden ingediend (
400) — bijlagen worden ondersteund op het beheerde WhatsApp Business-kanaal en op WhatsApp Web.
Een sjabloon gebruiken dat je al hebt laten goedkeuren
POST /broadcasts/{broadcastId}/template/select — kopieert een reeds goedgekeurd sjabloon uit je sjabloonbibliotheek naar de uitzending, dus er is niets om op te wachten.
| Veld | Verplicht | Beschrijving |
|---|---|---|
template_id |
Ja | De id van een goedgekeurd sjabloon in je account. |
curl -X POST "https://api.youraiconnector.com/v1/broadcasts/bcd123abc456/template/select?apiKey=YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{ "template_id": "tpl_abc123" }'
Antwoord (200)
{
"success": true,
"broadcast_id": "bcd123abc456",
"template_status": "approved",
"template_sid": "HX0123...",
"body": "Hi {{first_name}}, our June offer is live until Friday.",
"name": "june_promo",
"language": "en",
"variables": ["first_name"],
"category": "marketing"
}
De goedkeuring wordt aan onze kant geverifieerd op basis van het bibliotheekrecord — je verstuurt alleen de id. Je krijgt een 400 als de uitzending geen WhatsApp-concept is, als het sjabloon niet is goedgekeurd, als het een vervolgsjabloon is in plaats van een opener, of als de uitzending een bijlage heeft (bibliotheeksjablonen zijn alleen tekst). Een sjabloon-id die niet in je account staat, geeft 404 terug.
De kosten schatten
POST /broadcasts/{broadcastId}/estimate-cost — berekent de prijs van de verzending voordat je deze bevestigt. Beschikbaar voor whatsapp en sms uitzendingen; elk ander kanaal geeft 400 terug. De uitzending heeft een list_id nodig, aangezien de schatting het aantal ontvangers telt.
curl -X POST "https://api.youraiconnector.com/v1/broadcasts/bcd123abc456/estimate-cost?apiKey=YOUR_API_KEY"
WhatsApp-reactie (200) — tegoeden, uitgesplitst per land van bestemming:
{
"success": true,
"channel": "whatsapp",
"billing_mode": "credits",
"data": {
"countries": [
{ "countryCode": "31", "name": "Netherlands", "iso": "NL", "flag": "🇳🇱", "contactCount": 180, "costPerContact": 1.2, "subtotal": 216 },
{ "countryCode": "1", "name": "United States", "iso": "US", "flag": "🇺🇸", "contactCount": 60, "costPerContact": 0.9, "subtotal": 54 }
],
"totalContacts": 240,
"totalTemplateCost": 270,
"templateCategory": "marketing",
"billing_mode": "credits",
"service_messages_billable_soon": false
}
}
SMS-antwoord (200) — Amerikaanse dollars, gebaseerd op actuele Twilio-prijzen voor uw eigen Twilio-account:
{
"success": true,
"channel": "sms",
"billing_mode": "twilio_direct",
"data": {
"totalContacts": 240,
"messageLength": 118,
"segmentsPerMessage": 1,
"totalSegments": 240,
"estimatedCostUsd": 1.788,
"priceUnit": "USD",
"billedByTwilio": true,
"billing_mode": "twilio_direct",
"service_messages_billable_soon": false
}
}
Lees billing_mode voordat u een nummer toont. Hierin staat wie er wordt gefactureerd:
billing_mode |
Wie betaalt | Wat de cijfers betekenen |
|---|---|---|
credits |
Uw Your AI Connector-account | totalTemplateCost en de cijfers per land zijn credits. |
twilio_direct |
Uw eigen Twilio-account | estimatedCostUsd is wat Twilio u in rekening brengt. |
meta_waba_direct |
Uw eigen WhatsApp Business-account, gefactureerd door Meta | Elk creditcijfer wordt null weergegeven — bewust, zodat het nooit wordt aangezien voor “gratis”. De aantallen per land en contactpersoon zijn nog steeds accuraat. |
Bij sms-berichten zonder gekoppelde Twilio-inloggegevens worden nog steeds de segmentaantallen geretourneerd, met estimatedCostUsd: 0 — er is geen prijs om op te zoeken.
Een broadcast starten
POST /broadcasts/{broadcastId}/launch
Bij het starten wordt eerst alles gecontroleerd en pas daarna wordt de broadcast voortgezet. Er is geen gedeeltelijke start: of het start, of er verandert niets en u krijgt een foutmelding met de reden.
cURL
curl -X POST "https://api.youraiconnector.com/v1/broadcasts/bcd123abc456/launch?apiKey=YOUR_API_KEY"
JavaScript
const res = await fetch("https://api.youraiconnector.com/v1/broadcasts/bcd123abc456/launch", {
method: "POST",
headers: { "X-API-Key": "YOUR_API_KEY" },
});
const data = await res.json();
if (!data.success) console.error(data.error);
Python
res = requests.post(
"https://api.youraiconnector.com/v1/broadcasts/bcd123abc456/launch",
headers={"X-API-Key": "YOUR_API_KEY"},
)
print(res.json())
Antwoord (200)
{ "success": true, "broadcast_id": "bcd123abc456", "status": "Scheduled" }
status is waar de broadcast is terechtgekomen:
Scheduled—execution_dateligt in de toekomst.Sending— het is nu gestart.Pending Approval— de WhatsApp-template is nog in afwachting van goedkeuring. Het wordt automatisch verzonden zodra de template is goedgekeurd; roep de startfunctie niet opnieuw aan.
Alleen een Draft (of een Pending Approval-broadcast waarvan de template in de tussentijd is goedgekeurd) kan worden gestart — al het andere retourneert 400.
Waarom een start wordt geweigerd
Elk van deze wordt geretourneerd als 400 met een error-bericht in begrijpelijke taal:
| Probleem | Wat te herstellen |
|---|---|
| Geen doelgroep | Stel list_id in (of voeg contacten toe) voordat u start. |
| Geen openingsbericht | Stel de opener in — zie Het openingsbericht. |
| Bijlage bij sms | Sms kan geen afbeelding of video bevatten. Verwijder de bijlage of verplaats de broadcast naar WhatsApp. |
| Bijlage komt niet overeen met de goedgekeurde template | Op WhatsApp bevindt de media zich in de goedgekeurde template, dus het achteraf verwisselen van de bijlage betekent dat de template opnieuw moet worden ingediend. |
| Template afgewezen | Herschrijf het bericht en dien het opnieuw in. |
| Template nooit ingediend | Dien deze eerst in (of selecteer een goedgekeurde). |
| Template goedgekeurd maar ontbreekt in uw WhatsApp-account | Meestal een template die is goedgekeurd voordat de koppeling van het nummer was voltooid. Dien deze opnieuw in. |
| Geen gekoppelde afzender voor het kanaal | Koppel eerst het kanaal — zie Kanalen. |
| Alleen-antwoorden-kanaal | TikTok en Skool staan niet toe dat een bedrijf een gesprek start, dus ze kunnen niet worden gebruikt voor broadcasts. |
| Al reeds ingepland | De broadcast heeft al een verzending gepland staan. Pauzeer deze voordat u opnieuw start. |
| Nog in afwachting van goedkeuring | Het wordt vanzelf verzonden wanneer de template is goedgekeurd. |
| WhatsApp Business-account geblokkeerd door Meta | Meta heeft door bedrijven geïnitieerde gesprekken op uw eigen WhatsApp Business-account stopgezet — meestal een probleem met de betaalmethode. Los dit op in Meta’s Business Manager. |
| Gestart vanuit een klassieke campagne | Start deze in plaats daarvan vanuit de campagne-editor. Zie klassieke campagnes in Broadcasts. |
Pauzeren en hervatten
POST /broadcasts/{broadcastId}/pause stopt een Sending- of Scheduled-broadcast en verwijdert alles wat in de wachtrij staat.
curl -X POST "https://api.youraiconnector.com/v1/broadcasts/bcd123abc456/pause?apiKey=YOUR_API_KEY"
Het pauzeren van een Pending Approval-uitzending zet deze terug naar Draft — er was nog niets gepland, dus er is niets om naar te hervatten. Elke andere status keert terug naar 400.
POST /broadcasts/{broadcastId}/resume herstart een Paused-uitzending:
curl -X POST "https://api.youraiconnector.com/v1/broadcasts/bcd123abc456/resume?apiKey=YOUR_API_KEY"
Antwoord (200)
{ "success": true, "broadcast_id": "bcd123abc456" }
Het hervat naar Sending, of terug naar Scheduled als de execution_date nog in de toekomst ligt. Alleen een Paused-uitzending kan worden hervat.
Blijven verzenden na een pauze vanwege lage betrokkenheid
POST /broadcasts/{broadcastId}/override-engagement-guard
Terwijl een uitzending in batches wordt verzonden, meten we hoeveel mensen op elke batch hebben gereageerd voordat de volgende wordt gestart. Als bijna niemand reageert, pauzeert de uitzending zichzelf — een verzending die blijft pushen in stilte is de snelste manier om een nummer gefilterd of geblokkeerd te krijgen. Dit is de knop Toch doorgaan in het dashboard.
Omdat het antwoordpercentage dat de pauze veroorzaakte niet kan veranderen terwijl de uitzending is gestopt, zou een gewone hervatting bij de volgende controle gewoon weer worden gepauzeerd. Dit eindpunt is de beslissing om toch door te gaan: het registreert de overschrijving op die ene uitzending en heft de pauze op in dezelfde aanroep als de uitzending was gepauzeerd vanwege lage betrokkenheid.
curl -X POST "https://api.youraiconnector.com/v1/broadcasts/bcd123abc456/override-engagement-guard?apiKey=YOUR_API_KEY"
Antwoord (200)
{ "success": true, "broadcast_id": "bcd123abc456", "status": "Sending", "resumed": true }
resumed: true— de uitzending was gepauzeerd vanwege lage betrokkenheid en draait nu weer;statusis waar deze naar is hervat.resumed: false— er is niets opgeheven, de overschrijving wordt simpelweg geregistreerd voor toekomstige controles. Dat is wat je krijgt als de uitzending nooit was gepauzeerd, of was gepauzeerd om een andere reden (je hebt het handmatig gepauzeerd, een verzendlimiet is bereikt, of er zijn te veel verzendfouten opgetreden). Die pauzes worden hier niet opgeheven — hervat het zelf zodra je de oorzaak hebt aangepakt.
De overschrijving is alleen van toepassing op deze uitzending. Het is geen accountinstelling en het is veilig om deze twee keer aan te roepen.
Een uitzending dupliceren
POST /broadcasts/{broadcastId}/duplicate — kopieert het publiek, het bericht en de instellingen naar een nieuwe Draft. Alles van de vorige run (tellers, batches, planning, antwoordstatistieken) begint opnieuw.
| Veld | Verplicht | Beschrijving |
|---|---|---|
to_channel |
Nee | Maak de kopie op een ander kanaal. Dit is hoe je hetzelfde verstuurt op twee kanalen — een uitzending heeft er altijd maar één. |
curl -X POST "https://api.youraiconnector.com/v1/broadcasts/bcd123abc456/duplicate?apiKey=YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{ "to_channel": "sms" }'
Antwoord (201)
{ "success": true, "broadcast_id": "bcd999new111", "source_broadcast_id": "bcd123abc456" }
Een kopie neemt nooit een live WhatsApp-goedkeuring over: bij een WhatsApp-kopie moet de sjabloon door jou worden bevestigd, en bij een kopie naar een ander kanaal wordt deze verwijderd en wordt de tekst de gewone opener. Kopiëren naar sms verwijdert ook eventuele bijlagen, aangezien sms deze niet kan verzenden.
Een uitzending verwijderen
DELETE /broadcasts/{broadcastId}
curl -X DELETE "https://api.youraiconnector.com/v1/broadcasts/bcd123abc456?apiKey=YOUR_API_KEY"
Een Sending of Scheduled uitzending wordt geweigerd met 400 — pauzeer deze eerst.
Uitzendingen die een klassieke campagne spiegelen
Klassieke campagnes die berichten versturen verschijnen ook in Uitzendingen, en de API retourneert ze naast native uitzendingen (ze bevatten een source_campaign_id). Ze gedragen zich iets anders, omdat de campagne de leiding behoudt:
- Het bewerken van het publiek, bericht of schema werkt en wordt doorgevoerd naar de campagne.
- Kanaal, antwoord-Agent, bijlage en alle run-tellers zijn hier alleen-lezen —
400als u probeert deze te wijzigen. Wijzig deze in de campagne. - Starten retourneert
400die u naar de campagne-editor verwijst. - Pauzeren en hervatten werken en zijn van invloed op de campagne.
- Verwijderen retourneert
400— verwijder in plaats daarvan de campagne, dan verdwijnt het bijbehorende item in Uitzendingen ook. - Dupliceren geeft u een onafhankelijke native uitzending, wat de ondersteunde manier is om een bewezen campagne over te zetten.
Fouten
Mislukte verzoeken retourneren {"success": false, "error": "<message>"} met deze statussen:
| Status | Betekenis |
|---|---|
400 |
Er is iets mis met het verzoek of de status van de uitzending — een ontbrekend veld, een ongeldige bijlage, of een actie (starten/pauzeren/hervatten/verwijderen) die niet is toegestaan in de huidige status van de uitzending. Het error bericht benoemt de reden. |
401 |
Ontbrekende of ongeldige API-sleutel. |
403 |
Uw abonnement bevat geen API-toegang. |
404 |
Geen dergelijke uitzending op uw account (of, bij sjabloonselectie, geen dergelijk sjabloon). |
429 |
Snelheidslimiet bereikt. Wacht even en probeer het opnieuw. |
500 |
Er is iets misgegaan aan onze kant. Probeer het na een korte wachttijd opnieuw. |
Volgende stappen
- Uitzendingen-gids — het product achter deze endpoints, inclusief tempo en veiligheidsgedrag
- Contacten-API — bouw de lijst waarnaar een uitzending verzendt
- Sjablonen-API — beheer de goedgekeurde WhatsApp-sjablonen waaruit u kunt kiezen
- Webhooks-API — abonneer u op
Broadcast StartedenBroadcast Completedin plaats van te pollen