WhatsApp Templates API
WhatsApp-viestimallit ovat valmiiksi kirjoitettuja viestejä, jotka on hyväksytty lähetettäväksi normaalin 24 tunnin keskusteluikkunan ulkopuolella — esimerkiksi tervetuloviesti, ajanvarausmuistutus tai uudelleenaktivointiviesti. Tämän API:n avulla voit listata, luoda, muokata, lähettää, tarkistaa ja poistaa malleja ohjelmallisesti.
Kaikki alla olevat polut ovat suhteessa rajapinnan perus-URL-osoitteeseen:
https://api.youraiconnector.com/v1
Jokainen pyyntö on todennettava. Katso Authentication neljästä hyväksytystä menetelmästä. Tämän sivun esimerkeissä käytetään X-API-Key-otsikkoa (ja yhtä kyselyparametrimuotoa cURL:lle).
Huomautus: Mallit toimivat WhatsApp Business API -kanavassa, joten tämä API-osa vaatii sekä API-käyttöoikeuden että suunnitelman, joka sisältää WhatsApp-kanavat. Ilman niitä pyynnöt hylätään virheellä 403.
Työskentely alitilien (toimistot) kanssa
Hyväksymistilat
Koska avoimen keskustelun ulkopuolella lähetettävät viestit on ensin tarkistettava WhatsAppin toimesta, jokaisella mallilla on hyväksymistila status:
| Tila | Merkitys |
|---|---|
draft |
Luotu tai tallennettu, mutta ei vielä lähetetty tarkistettavaksi. Voit yhä muokata sitä. |
received |
Lähetetty ja hyväksytty tarkistusjonoon. |
pending |
Tarkistettavana. |
approved |
Hyväksytty lähetettäväksi. |
rejected |
Hylätty. rejection_reason-kenttä selittää syyn; korjaa se ja lähetä uudelleen. |
Vain draft- ja rejected-tiloissa olevia malleja voi muokata tai (uudelleen)lähettää. Kun malli on approved, se on lukittu — luo uusi malli, jos tarvitset muutoksia.
Automaattinen hyväksyntä: Jotkin kanavat eivät vaadi ulkoista tarkistusvaihetta. Tällaiselle kanavalle kampanjaa varten luodut tai lähetetyt mallit tallennetaan välittömästi tilassa
approved, ilman sisältötunnistetta (sid).
Mallipohjat Meta-yhteyksillä varustetuilla tileillä
Nämä päätepisteet toimivat samalla tavalla riippumatta siitä, millä WhatsApp-yhteydellä tilisi toimii, mutta niiden taustalla tapahtuvat asiat eroavat toisistaan:
- Hallinnoidussa WhatsApp-yhteydessä mallipohjat rekisteröidään viestintäpalveluntarjoajan kautta ja
sidon palveluntarjoajan sisältötunniste (HXXXXXXXX…). - Tilillä, jonka numero toimii omassa WhatsApp Business -tilissä (kumpi tahansa Meta-yhteysvaihtoehto), mallipohjat luodaan ja tarkistetaan kyseisessä WhatsApp Business -tilissä ja
sidon Metan oma mallipohjatunniste – numeerinen merkkijono, kuten"3394843740694756".statuskäyttää edelleen yllä olevan taulukon arvoja, jarejection_reasonsisältää edelleen Metan selityksen.
Tätä varten on olemassa kaksi ylimääräistä päätepistettä: yksi, jolla voit kysyä, mitä yhteyttä käytät, ja toinen, jolla voit täsmäyttää mallipohjaluettelosi WhatsApp Business -tilisi kanssa. Synkronointi tuo WhatsApp Business -tilillä jo olevat mallipohjat kirjastoosi, joten sen jälkeinen GET /whatsapp-templates listaa ne kuten minkä tahansa muun mallipohjan.
Tarkista, millä yhteydellä mallipohjat toimivat
GET /whatsapp-templates/provider
| Kenttä | Kuvaus |
|---|---|
provider |
twilio, kun mallipohjat on rekisteröity hallinnoidun viestintäpalveluntarjoajan kautta, meta, kun ne sijaitsevat omalla WhatsApp Business -tililläsi. |
lane |
Mikä Meta-yhteys on käytössä – meta_cloud_api (oma Meta-sovelluksesi) tai meta_embedded (yhdistetty Meta-sovelluksemme kautta). null hallinnoidussa yhteydessä. |
waba_id |
WhatsApp Business -tili, johon mallipohjat on luotu, tai null. |
templates_enabled |
false, kun Meta-yhteys ei ole vielä valmis (WhatsApp Business -tiliä tai pääsyavainta ei ole tallennettu). Mallipohjien luominen tai lähettäminen epäonnistuu virheellä 400, kunnes yhteys on valmis. |
cURL
curl "https://api.youraiconnector.com/v1/whatsapp-templates/provider?apiKey=YOUR_API_KEY"
JavaScript
const res = await fetch("https://api.youraiconnector.com/v1/whatsapp-templates/provider", {
headers: { "X-API-Key": "YOUR_API_KEY" },
});
const data = await res.json();
Python
import requests
res = requests.get(
"https://api.youraiconnector.com/v1/whatsapp-templates/provider",
headers={"X-API-Key": "YOUR_API_KEY"},
)
data = res.json()
Vastaus
{
"success": true,
"provider": "meta",
"lane": "meta_cloud_api",
"waba_id": "2357661648036355",
"templates_enabled": true
}
Synkronoi mallipohjat Metasta
Päivittää jokaisen WhatsApp Business -tililläsi olevan mallipohjan hyväksyntätilan ja tuo kaikki mallipohjat, jotka löytyvät sieltä, mutta eivät vielä kirjastostasi. Voit kutsua tätä niin usein kuin haluat. Hallinnoidussa yhteydessä ei ole mitään synkronoitavaa, joten kutsu ei tee mitään ja raportoi vain, kuinka monta mallipohjaa sinulla on.
POST /whatsapp-templates/meta-sync
| Kenttä | Kuvaus |
|---|---|
imported |
WhatsApp Business -tililtä löytyneet mallipohjat, jotka lisättiin kirjastoosi tällä kutsulla. |
updated |
Olemassa olevat mallipohjat, joiden tila tai tiedot muuttuivat. |
total |
Kirjastossasi synkronoinnin jälkeen olevat mallipohjat. |
cURL
curl -X POST "https://api.youraiconnector.com/v1/whatsapp-templates/meta-sync?apiKey=YOUR_API_KEY"
JavaScript
const res = await fetch("https://api.youraiconnector.com/v1/whatsapp-templates/meta-sync", {
method: "POST",
headers: { "X-API-Key": "YOUR_API_KEY" },
});
const data = await res.json();
Python
import requests
res = requests.post(
"https://api.youraiconnector.com/v1/whatsapp-templates/meta-sync",
headers={"X-API-Key": "YOUR_API_KEY"},
)
data = res.json()
Vastaus
{
"success": true,
"provider": "meta",
"imported": 2,
"updated": 5,
"total": 12
}
Suora keskustelu Metan kanssa (edistynyt)
Jos tarvitset jotain, mitä yllä olevat päätepisteet eivät tarjoa – mallipohjan ylätunnisteita, alatunnisteita, painikkeita tai täysin käsin rakennettua mallipohjaa – /v1/meta-templates välittää pyyntösi suoraan Metan omaan mallipohjarajapintaan tallentamatta mitään mallipohjakirjastoosi. Tämä toimii vain tileillä, joiden numero toimii niiden omalla WhatsApp Business -tilillä; hallinnoidussa yhteydessä jokainen kutsu palauttaa virheen 400, jossa pyydetään yhdistämään Meta-sovellus ensin.
| Päätepiste | Mitä se tekee |
|---|---|
GET /meta-templates |
Listaa WhatsApp Business -tililläsi olevat mallipohjat ja niiden uusimman tilan. Lisää ?name= suodattaaksesi tulokset yhteen tiettyyn mallipohjan nimeen. Palauttaa { "success": true, "templates": [...] }. |
POST /meta-templates |
Luo mallipohjan ja lähettää sen Metan tarkistettavaksi yhdellä vaiheella. Vaatii name, language ja body (tai täydellisen components-taulukon body sijaan). Valinnainen: variables (merkkijonotaulukko), category (MARKETING, UTILITY tai AUTHENTICATION), header, footer, buttons. Palauttaa 201 ja { "success": true, "template": {...} }. |
DELETE /meta-templates/{name} |
Poistaa mallipohjan sen Meta-nimen perusteella – kaikki sen kieliversiot. Lisää ?hsm_id= Metan mallipohjatunnisteella poistaaksesi vain yhden kieliversion. Palauttaa { "success": true, "name": "..." }. |
Metan hylkäämä mallipohja palauttaa 400, ja Metan oma selitys löytyy kohdasta error.
Listaa mallit
Palauttaa kaikki tilisi mallit sekä kevyen yhteenvedon jokaisesta.
GET /whatsapp-templates
cURL
curl "https://api.youraiconnector.com/v1/whatsapp-templates?apiKey=YOUR_API_KEY"
JavaScript
const res = await fetch("https://api.youraiconnector.com/v1/whatsapp-templates", {
headers: { "X-API-Key": "YOUR_API_KEY" },
});
const data = await res.json();
Python
import requests
res = requests.get(
"https://api.youraiconnector.com/v1/whatsapp-templates",
headers={"X-API-Key": "YOUR_API_KEY"},
)
data = res.json()
Vastaus
{
"success": true,
"data": [
{
"id": "template_abc123",
"name": "welcome_message",
"status": "approved",
"language": "en",
"body": "Hi {{first_name}}, thanks for reaching out!"
},
{
"id": "template_def456",
"name": "appointment_reminder",
"status": "pending",
"language": "en",
"body": "Hi {{first_name}}, this is a reminder about your appointment."
}
]
}
Hae malli
Palauttaa yksittäisen mallin täydelliset tiedot, mukaan lukien sen muuttujat, tilan ja aikaleimat.
GET /whatsapp-templates/{templateId}
cURL
curl "https://api.youraiconnector.com/v1/whatsapp-templates/template_abc123" \
-H "X-API-Key: YOUR_API_KEY"
JavaScript
const res = await fetch(
"https://api.youraiconnector.com/v1/whatsapp-templates/template_abc123",
{ headers: { "X-API-Key": "YOUR_API_KEY" } }
);
const data = await res.json();
Python
import requests
res = requests.get(
"https://api.youraiconnector.com/v1/whatsapp-templates/template_abc123",
headers={"X-API-Key": "YOUR_API_KEY"},
)
data = res.json()
Vastaus
{
"success": true,
"template": {
"id": "template_abc123",
"name": "welcome_message",
"body": "Hi {{first_name}}, thanks for reaching out!",
"language": "en",
"variables": ["first_name"],
"status": "approved",
"sid": "HXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
"type": "general",
"category": "marketing",
"rejection_reason": null,
"campaign_id": "campaign123",
"date_created": "2026-06-01T10:00:00.000Z",
"date_updated": "2026-06-02T08:30:00.000Z",
"submitted_at": "2026-06-01T10:05:00.000Z",
"approved_at": "2026-06-02T08:30:00.000Z"
}
}
Malli, jota ei ole tililläsi, palauttaa 404 ja { "success": false, "error": "Template not found" }.
Luo malli
Luo mallin kampanjan aloitusviestiä varten ja lähettää sen hyväksyttäväksi yhdellä kertaa.
POST /whatsapp-templates
| Kenttä | Pakollinen | Kuvaus |
|---|---|---|
campaign_id |
Kyllä | Kampanja, johon malli kuuluu. |
name |
Kyllä | Mallin nimi. |
language |
Kyllä | Kielikoodi, esimerkiksi en, es, de, pt_BR, zh_CN. |
body |
Kyllä | Viestin teksti, enintään 1024 merkkiä. |
variables |
Ei | Rungossa käytettyjen muuttujanimien järjestetty luettelo. |
Muuttujien paikkamerkit voidaan kirjoittaa muodossa {{first_name}}, {first_name} tai [first_name] — ne kaikki normalisoidaan kaksoissulkeiden muotoon.
Tulos riippuu kampanjan kanavista:
- WhatsApp Business API -kampanja: sisältö lähetetään WhatsAppin tarkistettavaksi. Vastaus sisältää
campaign_status(receivedtaipending) jatemplate_sid. - Kanava ilman ulkoista tarkistusvaihetta: malli tallennetaan ja hyväksytään automaattisesti (
campaign_status: "approved",template_sid: null). - Kampanjassa ei ole WhatsApp-kanavaa: mitään ei luoda ja
campaign_statusonnot_applicable.
cURL
curl -X POST "https://api.youraiconnector.com/v1/whatsapp-templates?apiKey=YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"campaign_id": "campaign123",
"name": "welcome_message",
"language": "en",
"body": "Hi {{first_name}}, thanks for reaching out!",
"variables": ["first_name"]
}'
JavaScript
const res = await fetch("https://api.youraiconnector.com/v1/whatsapp-templates", {
method: "POST",
headers: {
"X-API-Key": "YOUR_API_KEY",
"Content-Type": "application/json",
},
body: JSON.stringify({
campaign_id: "campaign123",
name: "welcome_message",
language: "en",
body: "Hi {{first_name}}, thanks for reaching out!",
variables: ["first_name"],
}),
});
const data = await res.json();
Python
import requests
res = requests.post(
"https://api.youraiconnector.com/v1/whatsapp-templates",
headers={"X-API-Key": "YOUR_API_KEY"},
json={
"campaign_id": "campaign123",
"name": "welcome_message",
"language": "en",
"body": "Hi {{first_name}}, thanks for reaching out!",
"variables": ["first_name"],
},
)
data = res.json()
Vastaus (lähetetty tarkistettavaksi)
{
"success": true,
"campaign_status": "pending",
"template_sid": "HXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"
}
Luo itsenäinen malli
Luo mallin mallikirjastoosi sitomatta sitä kampanjan aloitusviestiin. Tämä on elinkaaren luontivaihe, jota tämän sivun loppuosa noudattaa: luo se tässä, muokkaa sitä, lähetä se tarkistettavaksi, kysy sen tilaa ja poista se, kun et enää tarvitse sitä.
POST /whatsapp-templates/docs
| Kenttä | Pakollinen | Kuvaus |
|---|---|---|
name |
Kyllä | Mallin nimi. |
language |
Kyllä | Kielikoodi, esimerkiksi en, es, de, pt_BR, zh_CN. |
body |
Kyllä | Viestin teksti, enintään 1024 merkkiä. |
variables |
Ei | Rungossa käytettyjen muuttujien nimien järjestetty luettelo. |
status |
Ei | draft (oletus) tallentaa sen lähettämättä; submitted asettaa sen jonoon WhatsApp-tarkistusta varten välittömästi. |
type |
Ei | general (oletus) tai smart_followup. |
category |
Ei | marketing, utility, authentication tai authentication-international. |
campaign_id |
Ei | Linkittää mallin yhteen kampanjoistasi. |
Tunnistautumisen (kertakäyttökoodi) mallipohjat. WhatsApp ei hyväksy vapaamuotoisia tunnistautumismalleja: viestin runko on WhatsAppin esiasettama, ja mallipohjassa on oltava “kopioi koodi” -painike. Kun luot mallipohjan
category: "authentication"-toiminnolla, lähetämme sen puolestasi tässä kiinteässä muodossa.body-kohtasi säilytetään sovelluksessa näkyvänä esikatseluna, mutta teksti, jonka yhteyshenkilösi vastaanottaa, on WhatsAppin omaa sanamuotoa (koodi, turvallisuusmuistutus ja 10 minuutin voimassaoloaika). Määritä täsmälleen yksi muuttuja, esimerkiksi["code"], ja välitä koodi lähetyksen yhteydessä (katsovariables-kenttä kohdasta Lähetä mallipohja yhteyshenkilölle). Koodin on oltava alle 15 merkkiä pitkä.
Kumpaa luontitapaa minun pitäisi käyttää? Käytä tätä, kun haluat mallin, jota voit itse muokata ja lähettää. Käytä
POST /whatsapp-templates-toimintoa (yllä), kun haluat määrittää kampanjan aloitusviestin – se vaatiicampaign_id-parametrin ja kirjoittaa suoraan kampanjaan.
Mallina submitted luotu kohde lähetetään taustalla WhatsApp-tarkistukseen, joten tarkista tulos tilan päätepisteestä sen sijaan, että odottaisit sitä vastauksessa.
cURL
curl -X POST "https://api.youraiconnector.com/v1/whatsapp-templates/docs?apiKey=YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"name": "welcome_message",
"language": "en",
"body": "Hi {{first_name}}, thanks for reaching out!",
"variables": ["first_name"],
"status": "draft",
"category": "marketing"
}'
JavaScript
const res = await fetch("https://api.youraiconnector.com/v1/whatsapp-templates/docs", {
method: "POST",
headers: {
"X-API-Key": "YOUR_API_KEY",
"Content-Type": "application/json",
},
body: JSON.stringify({
name: "welcome_message",
language: "en",
body: "Hi {{first_name}}, thanks for reaching out!",
variables: ["first_name"],
status: "draft",
category: "marketing",
}),
});
const data = await res.json();
Python
import requests
res = requests.post(
"https://api.youraiconnector.com/v1/whatsapp-templates/docs",
headers={"X-API-Key": "YOUR_API_KEY"},
json={
"name": "welcome_message",
"language": "en",
"body": "Hi {{first_name}}, thanks for reaching out!",
"variables": ["first_name"],
"status": "draft",
"category": "marketing",
},
)
data = res.json()
Vastaus
{
"success": true,
"template_id": "template_abc123",
"status": "draft"
}
Puuttuva name, language tai body, tukematon kieli, muu status kuin draft tai submitted, tuntematon type tai category tai yli 1024 merkin pituinen runko palauttaa 400-virheen ja selittävän error-viestin. campaign_id, joka ei ole yksi kampanjoistasi, palauttaa 404-virheen.
Päivitä malli
Muokkaa mallia, jota ei ole vielä hyväksytty. Vain malleja, joiden tila on draft tai rejected, voidaan muokata. Anna mikä tahansa yhdistelmä kentistä name, body, language ja variables — vain lähettämäsi kentät muuttuvat.
PUT /whatsapp-templates/{templateId}
Muokkaaminen ei lähetä mallia uudelleen tarkistettavaksi. Käytä sen jälkeen lähetyspäätepistettä.
cURL
curl -X PUT "https://api.youraiconnector.com/v1/whatsapp-templates/template_abc123" \
-H "X-API-Key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"body": "Hi {{first_name}}, here is an update for you.",
"variables": ["first_name"]
}'
JavaScript
const res = await fetch(
"https://api.youraiconnector.com/v1/whatsapp-templates/template_abc123",
{
method: "PUT",
headers: {
"X-API-Key": "YOUR_API_KEY",
"Content-Type": "application/json",
},
body: JSON.stringify({
body: "Hi {{first_name}}, here is an update for you.",
variables: ["first_name"],
}),
}
);
const data = await res.json();
Python
import requests
res = requests.put(
"https://api.youraiconnector.com/v1/whatsapp-templates/template_abc123",
headers={"X-API-Key": "YOUR_API_KEY"},
json={
"body": "Hi {{first_name}}, here is an update for you.",
"variables": ["first_name"],
},
)
data = res.json()
Vastaus
{
"success": true,
"template_id": "template_abc123"
}
Yritys muokata mallia, joka on jo approved (tai muuten ei-muokattavissa), kenttien lähettämättä jättäminen tai virheellisen arvon lähettäminen palauttaa 400-vastauksen ja selittävän error-viestin.
Lähetä malli hyväksyttäväksi
Lähettää draft- tai rejected-mallin tarkistettavaksi. Kanavilla, jotka eivät vaadi ulkoista tarkistusta, olevat mallit hyväksytään välittömästi; kaikki muut lähetetään WhatsAppille ja palautettu status (yleensä received tai pending) tallennetaan malliin.
POST /whatsapp-templates/{templateId}/submit
Seurantaviestimallien on ilmoitettava ja käytettävä vaadittuja muuttujiaan ennen kuin ne voidaan lähettää: etunimen paikkamerkki sekä henkilökohtaisen kontekstin paikkamerkki älykkäitä seurantaviestejä varten.
cURL
curl -X POST "https://api.youraiconnector.com/v1/whatsapp-templates/template_abc123/submit" \
-H "X-API-Key: YOUR_API_KEY"
JavaScript
const res = await fetch(
"https://api.youraiconnector.com/v1/whatsapp-templates/template_abc123/submit",
{ method: "POST", headers: { "X-API-Key": "YOUR_API_KEY" } }
);
const data = await res.json();
Python
import requests
res = requests.post(
"https://api.youraiconnector.com/v1/whatsapp-templates/template_abc123/submit",
headers={"X-API-Key": "YOUR_API_KEY"},
)
data = res.json()
Vastaus
{
"success": true,
"template_id": "template_abc123",
"status": "pending",
"sid": "HXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"
}
Tarkista hyväksynnän tila
Kevyt päätepiste mallin nykyisen tilan kyselyyn. Tila luetaan tallennetusta tietueesta, joka päivitetään säännöllisesti taustalla, joten aivan äskettäin tapahtunut hyväksyntä tai hylkäys voi näkyä viiveellä.
GET /whatsapp-templates/{templateId}/status
cURL
curl "https://api.youraiconnector.com/v1/whatsapp-templates/template_abc123/status" \
-H "X-API-Key: YOUR_API_KEY"
JavaScript
const res = await fetch(
"https://api.youraiconnector.com/v1/whatsapp-templates/template_abc123/status",
{ headers: { "X-API-Key": "YOUR_API_KEY" } }
);
const data = await res.json();
Python
import requests
res = requests.get(
"https://api.youraiconnector.com/v1/whatsapp-templates/template_abc123/status",
headers={"X-API-Key": "YOUR_API_KEY"},
)
data = res.json()
Vastaus
{
"success": true,
"template_id": "template_abc123",
"name": "welcome_message",
"status": "approved",
"sid": "HXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
"rejection_reason": null,
"date_updated": "2026-06-02T08:30:00.000Z"
}
Poista malli
Poistaa mallitietueen tililtäsi.
DELETE /whatsapp-templates/{templateId}
Tärkeää: Hallinnoidussa yhteydessä vain tallennettu tietue poistetaan – sisältö, jonka WhatsApp on jo hyväksynyt, saattaa jäädä rekisteröidyksi viestintäpalvelun tarjoajalle. Tilillä, joka toimii omalla WhatsApp Business -tilillään, malli poistetaan myös kyseiseltä tililtä. Joka tapauksessa, jos kampanja käyttää edelleen tätä mallia, ohjaa kyseinen kampanja toiseen malliin ennen poistamista, muuten siihen tukeutuvat lähetykset epäonnistuvat.
cURL
curl -X DELETE "https://api.youraiconnector.com/v1/whatsapp-templates/template_abc123" \
-H "X-API-Key: YOUR_API_KEY"
JavaScript
const res = await fetch(
"https://api.youraiconnector.com/v1/whatsapp-templates/template_abc123",
{ method: "DELETE", headers: { "X-API-Key": "YOUR_API_KEY" } }
);
const data = await res.json();
Python
import requests
res = requests.delete(
"https://api.youraiconnector.com/v1/whatsapp-templates/template_abc123",
headers={"X-API-Key": "YOUR_API_KEY"},
)
data = res.json()
Vastaus
{
"success": true,
"template_id": "template_abc123",
"note": "The template record was removed from your account. Content already approved by WhatsApp may remain registered with the messaging provider."
}
Lähetä malli yhteyshenkilölle
Lähettää hyväksytyn mallin yhteyshenkilölle, vaikka avointa keskustelua ei olisi — tämä avaa keskusteluistunnon uudelleen. Voit kohdistaa yhteyshenkilön contactId tai phoneNumber avulla ja valita mallin whatsappTemplateId tai templateName avulla.
POST /whatsapp-templates/send
| Kenttä | Pakollinen | Kuvaus |
|---|---|---|
contactId |
Toinen näistä kahdesta | Yhteyshenkilön tunniste. |
phoneNumber |
Toinen näistä kahdesta | Yhteyshenkilön puhelinnumero (maakoodilla, ilman välilyöntejä). Etsitään tai luodaan tarvittaessa. |
whatsappTemplateId |
Toinen näistä kahdesta | Mallipohjan tunniste. |
templateName |
Toinen näistä kahdesta | Mallipohjan nimi, kuten se näkyy sovelluksessa. |
firstName |
Ei | Käytetään uuden yhteyshenkilön täyttämiseen. |
lastName |
Ei | Käytetään uuden yhteyshenkilön täyttämiseen. |
email |
Ei | Käytetään uuden yhteyshenkilön täyttämiseen. |
variables |
Ei | Mallipohjan muuttujien eksplisiittiset arvot, avainnettu muuttujan nimen mukaan, esimerkiksi { "code": "482913" }. Tässä annettu arvo ohittaa yhteyshenkilön kentät kyseisen muuttujan osalta; pois jätetyt muuttujat täytetään edelleen yhteyshenkilön tiedoista alla kuvatulla tavalla. Näin välität kertakäyttökoodin tunnistautumismallipohjaan. |
Mallin runko tukee edistynyttä muuttujien korvaamista:
- Perusmuuttujat:
{{first_name}},{{email}},{{company}} - Oletusarvot:
{{first_name|there}}näyttääthere, jos kenttä on tyhjä - Muunnokset:
{{company|uppercase}},{{name|lowercase}},{{name|capitalize}} - Yhdistetty:
{{company|Your Company|uppercase}}
Krediitit: Mallin lähettäminen kuluttaa krediittejä. Tarkka kustannus riippuu vastaanottajan maasta ja mallin kategoriasta.
cURL
curl -X POST "https://api.youraiconnector.com/v1/whatsapp-templates/send?apiKey=YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"contactId": "contact123",
"whatsappTemplateId": "template_abc123"
}'
JavaScript
const res = await fetch("https://api.youraiconnector.com/v1/whatsapp-templates/send", {
method: "POST",
headers: {
"X-API-Key": "YOUR_API_KEY",
"Content-Type": "application/json",
},
body: JSON.stringify({
contactId: "contact123",
whatsappTemplateId: "template_abc123",
}),
});
const data = await res.json();
Python
import requests
res = requests.post(
"https://api.youraiconnector.com/v1/whatsapp-templates/send",
headers={"X-API-Key": "YOUR_API_KEY"},
json={
"contactId": "contact123",
"whatsappTemplateId": "template_abc123",
},
)
data = res.json()
Vastaus
{
"success": true,
"data": "WhatsApp template message sent successfully"
}
Pyyntö, josta puuttuu sekä yhteyshenkilön tunniste että molemmat mallitunnisteet, palauttaa 400. Jos tililtäsi puuttuvat lähettämiseen tarvittavat viestintätunnistetiedot, vastauksena on 403.
Luo tai päivitä kampanjan live-malli
Toinen päätepistejoukko kampanjan avausmallille, joka on rajattu polun eikä rungossa olevan campaign_id perusteella. Näitä tulee käyttää kampanjalle, joka on jo käynnissä: toisin kuin yllä oleva Luo malli, päivitys tässä lähettää myös kampanjan jatkoluonnokset uudelleen tarkistettavaksi, jotta avausmalli ja sen jatkotoimenpiteet pysyvät synkronoituna.
POST /whatsapp-templates/campaign/{campaignId} luo kampanjan avausmallin. PUT /whatsapp-templates/campaign/{campaignId} muokkaa sitä – kampanjalla on oltava jo malli, muuten tämä palauttaa 400.
| Kenttä | Pakollinen | Kuvaus |
|---|---|---|
name |
Kyllä | Mallin nimi. |
language |
Kyllä | Kielikoodi, esimerkiksi en, es, de, pt_BR, zh_CN. |
body |
Kyllä | Viestin teksti, enintään 1024 merkkiä. |
variables |
Kyllä | Rungossa käytettyjen muuttujien nimien järjestetty luettelo. Lähetä tyhjä taulukko, jos malli ei käytä muuttujia. |
cURL (luo)
curl -X POST "https://api.youraiconnector.com/v1/whatsapp-templates/campaign/campaign123?apiKey=YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"name": "welcome_message",
"language": "en",
"body": "Hi {{first_name}}, thanks for reaching out!",
"variables": ["first_name"]
}'
JavaScript
const res = await fetch("https://api.youraiconnector.com/v1/whatsapp-templates/campaign/campaign123", {
method: "POST",
headers: {
"X-API-Key": "YOUR_API_KEY",
"Content-Type": "application/json",
},
body: JSON.stringify({
name: "welcome_message",
language: "en",
body: "Hi {{first_name}}, thanks for reaching out!",
variables: ["first_name"],
}),
});
const data = await res.json();
Python
import requests
res = requests.post(
"https://api.youraiconnector.com/v1/whatsapp-templates/campaign/campaign123",
headers={"X-API-Key": "YOUR_API_KEY"},
json={
"name": "welcome_message",
"language": "en",
"body": "Hi {{first_name}}, thanks for reaching out!",
"variables": ["first_name"],
},
)
data = res.json()
Vastaus
{
"success": true,
"campaign_status": "pending",
"template_sid": "HXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
"message": "WhatsApp template created and campaign updated successfully."
}
Muokataksesi vaihda menetelmäksi PUT ja käytä samoja kenttiä – tämä lähettää avausmallin (ja WhatsApp API -kampanjan jatkoluonnokset) uudelleen tarkistettavaksi.
Kampanja, joka ei kuulu tilillesi, palauttaa 404; kampanja, joka kuuluu toiselle tilille, johon sinulla ei ole valtuutusta, palauttaa 403. Sellaisen kampanjan muokkaaminen, jolla ei ole olemassa olevaa mallia, palauttaa 400.
Lähetä malli olemassa olevalle yhteyshenkilölle
Yksinkertaisempi, polkuun rajattu vaihtoehto yllä olevalle Lähetä malli yhteyshenkilölle: sekä mallin että yhteyshenkilön on oltava jo olemassa – mitään ei etsitä nimen perusteella tai luoda lennosta.
POST /whatsapp-templates/{templateId}/send-to-contact
| Kenttä | Pakollinen | Kuvaus |
|---|---|---|
contactId |
Kyllä | Yhteyshenkilön tunnus. On kuuluttava tilillesi. |
cURL
curl -X POST "https://api.youraiconnector.com/v1/whatsapp-templates/template_abc123/send-to-contact?apiKey=YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{ "contactId": "contact123" }'
JavaScript
const res = await fetch(
"https://api.youraiconnector.com/v1/whatsapp-templates/template_abc123/send-to-contact",
{
method: "POST",
headers: {
"X-API-Key": "YOUR_API_KEY",
"Content-Type": "application/json",
},
body: JSON.stringify({ contactId: "contact123" }),
}
);
const data = await res.json();
Python
import requests
res = requests.post(
"https://api.youraiconnector.com/v1/whatsapp-templates/template_abc123/send-to-contact",
headers={"X-API-Key": "YOUR_API_KEY"},
json={"contactId": "contact123"},
)
data = res.json()
Vastaus
{
"success": true,
"data": "WhatsApp template message sent successfully"
}
Krediitit: Lähettäminen kuluttaa krediittejä, joiden hinnoittelu on sama kuin yllä olevassa päätepisteessä. Puuttuva tai tilillesi kuulumaton
contactIdpalauttaa403; olematontemplateIdpalauttaa404.
Lähetä malli joukkona
Lähetä yksi malli monelle yhteyshenkilölle yhdellä kutsulla, sisältäen kustannusarvion, jonka voit näyttää ennen vahvistamista.
Arvioi kustannukset ensin
Palauttaa lähetyksen kustannukset kohdemaittain eriteltynä ilman, että mitään lähetetään tai krediittejä käytetään. Mallipohjan hinnoittelu on kohdemaakohtaista, joten tämä on laskettava palvelinpuolella todellisia yhteystietoja vasten sen sijaan, että se arvioitaisiin asiakaspuolella.
POST /whatsapp-templates/{templateId}/estimate-bulk-cost
| Kenttä | Pakollinen | Kuvaus |
|---|---|---|
contactIds |
Kyllä | Hinnoiteltavat yhteystiedot, enintään 500 per kutsu. Kaksoiskappaleet lasketaan kerran. |
cURL
curl -X POST "https://api.youraiconnector.com/v1/whatsapp-templates/template_abc123/estimate-bulk-cost?apiKey=YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{ "contactIds": ["contact123", "contact456"] }'
JavaScript
const res = await fetch(
"https://api.youraiconnector.com/v1/whatsapp-templates/template_abc123/estimate-bulk-cost",
{
method: "POST",
headers: {
"X-API-Key": "YOUR_API_KEY",
"Content-Type": "application/json",
},
body: JSON.stringify({ contactIds: ["contact123", "contact456"] }),
}
);
const data = await res.json();
Python
import requests
res = requests.post(
"https://api.youraiconnector.com/v1/whatsapp-templates/template_abc123/estimate-bulk-cost",
headers={"X-API-Key": "YOUR_API_KEY"},
json={"contactIds": ["contact123", "contact456"]},
)
data = res.json()
Vastaus
{
"success": true,
"data": {
"countries": [
{
"countryCode": "1",
"name": "United States",
"iso": "US",
"flag": "🇺🇸",
"contactCount": 120,
"costPerContact": 0.5,
"subtotal": 60.0
}
],
"totalContacts": 120,
"totalTemplateCost": 60.0,
"templateCategory": "marketing",
"skippedContacts": 2
}
}
skippedContacts laskee puuttuvat tunnisteet, ne jotka eivät kuulu sinulle tai joilla ei ole puhelinnumeroa — arvio kattaa vain loput, joten nollasta poikkeava arvo tarkoittaa, että todellinen lähetys tavoittaa vähemmän yhteystietoja kuin valitsit.
Lähetä erä
Lähettää mallipohjan jokaiselle listan yhteystiedolle, ratkaisee älykkäät muuttujat yhteystietokohtaisesti ja veloittaa krediittejä per lähetys.
POST /whatsapp-templates/{templateId}/bulk-send
| Kenttä | Pakollinen | Kuvaus |
|---|---|---|
contactIds |
Kyllä | Yhteystiedot, joille lähetetään, enintään 5000 per kutsu. |
cURL
curl -X POST "https://api.youraiconnector.com/v1/whatsapp-templates/template_abc123/bulk-send?apiKey=YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{ "contactIds": ["contact123", "contact456"] }'
JavaScript
const res = await fetch(
"https://api.youraiconnector.com/v1/whatsapp-templates/template_abc123/bulk-send",
{
method: "POST",
headers: {
"X-API-Key": "YOUR_API_KEY",
"Content-Type": "application/json",
},
body: JSON.stringify({ contactIds: ["contact123", "contact456"] }),
}
);
const data = await res.json();
Python
import requests
res = requests.post(
"https://api.youraiconnector.com/v1/whatsapp-templates/template_abc123/bulk-send",
headers={"X-API-Key": "YOUR_API_KEY"},
json={"contactIds": ["contact123", "contact456"]},
)
data = res.json()
Vastaus
{
"success": true,
"data": { "sent": 118, "failed": 2, "total": 120 }
}
Epäonnistunut yhteystieto (ei löydy, ei ole tililläsi tai lähetysvirhe) ohitetaan ja lasketaan kohtaan failed sen sijaan, että erän käsittely pysäytettäisiin. Tyhjä contactIds, yli 5000 tunnisteen lähetys (500 arviota varten) tai puuttuva templateId palauttaa 400.
Epäonnistuneen viestin uudelleenlähetys
Kaksi päätepistettä epäonnistuneen viestin uudelleenlähettämiseen ilman uuden viestitietueen luomista tai krediittien uudelleenkäyttöä.
POST /whatsapp-templates/messages/{contactId}/{messageId}/retry-template yrittää uudelleen nimenomaan epäonnistunutta mallipohjaviestiä — se ratkaisee mallipohjan sisällön uudelleen kampanjasta, jos epäonnistunut viesti ei jo sisällä sitä. Vain viestit, joiden tila on failed ja tyyppi template, voidaan yrittää uudelleen tällä tavalla.
POST /whatsapp-templates/messages/{contactId}/{messageId}/retry on kanavasta riippumaton ja toimii kaikille epäonnistuneille ei-mallipohjaisille viesteille (esimerkiksi WhatsApp Web), lähettäen viestin oikeaa lähetysreittiä pitkin viestin kanavan perusteella. Se hyväksyy tilat failed, failed_connection, limit_exceeded tai queued_retry.
Kumpikaan päätepiste ei vaadi pyyntörunkoa.
cURL
curl -X POST "https://api.youraiconnector.com/v1/whatsapp-templates/messages/contact123/msg_abc789/retry-template?apiKey=YOUR_API_KEY"
JavaScript
const res = await fetch(
"https://api.youraiconnector.com/v1/whatsapp-templates/messages/contact123/msg_abc789/retry-template",
{ method: "POST", headers: { "X-API-Key": "YOUR_API_KEY" } }
);
const data = await res.json();
Python
import requests
res = requests.post(
"https://api.youraiconnector.com/v1/whatsapp-templates/messages/contact123/msg_abc789/retry-template",
headers={"X-API-Key": "YOUR_API_KEY"},
)
data = res.json()
Vastaus
{
"success": true,
"data": "Message retry initiated successfully"
}
Kanavasta riippumattoman version kohdalla vaihda poluksi .../msg_abc789/retry. Viesti, jonka tila ei oikeuta uudelleenlähetykseen, tai (mallipohjan päätepisteessä) joka ei ole mallipohjaviesti, palauttaa 400. Puuttuva yhteystieto tai viesti palauttaa 404.
WhatsApp Business -profiili
Hallitse WhatsApp Business -profiilia (tietoja, osoitetta, kuvausta, sähköpostia, verkkosivustoja, yrityksen luokkaa ja logoa), joka näkyy yhteyshenkilöille WhatsAppissa. Toimii sekä hallitussa yhteydessä että tilillä, jolla on oma WhatsApp Business -tili.
Tallenna profiili
PUT /whatsapp-templates/profile
| Kenttä | Pakollinen | Kuvaus |
|---|---|---|
phoneNumber |
Kyllä | WhatsApp-numero, johon tämä profiili kuuluu. Tämän on oltava yhdistettynä tilillesi. |
about |
Ei | Lyhyt “Tietoja”-teksti, joka näkyy profiilissa. |
address |
Ei | Yrityksen osoite. |
description |
Ei | Pidempi yrityksen kuvaus. |
email |
Ei | Profiilissa näkyvä yhteyssähköpostiosoite. |
websites |
Ei | Taulukko verkkosivustojen URL-osoitteista. Jokaisen on oltava kelvollinen URL-osoite. |
vertical |
Ei | Yrityksen luokka, esimerkiksi Retail tai Professional Services. |
profilePictureHandle |
Ei | Alla olevan kuvien latauspäätepisteen palauttama tunniste profiilikuvan asettamiseksi. |
cURL
curl -X PUT "https://api.youraiconnector.com/v1/whatsapp-templates/profile?apiKey=YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"phoneNumber": "+31612345678",
"about": "We reply within a few hours",
"email": "support@example.com",
"websites": ["https://example.com"]
}'
JavaScript
const res = await fetch("https://api.youraiconnector.com/v1/whatsapp-templates/profile", {
method: "PUT",
headers: {
"X-API-Key": "YOUR_API_KEY",
"Content-Type": "application/json",
},
body: JSON.stringify({
phoneNumber: "+31612345678",
about: "We reply within a few hours",
email: "support@example.com",
websites: ["https://example.com"],
}),
});
const data = await res.json();
Python
import requests
res = requests.put(
"https://api.youraiconnector.com/v1/whatsapp-templates/profile",
headers={"X-API-Key": "YOUR_API_KEY"},
json={
"phoneNumber": "+31612345678",
"about": "We reply within a few hours",
"email": "support@example.com",
"websites": ["https://example.com"],
},
)
data = res.json()
Vastaus
{
"success": true,
"data": "WhatsApp Business profile updated successfully"
}
Puuttuva phoneNumber, virheellinen verkkosivuston URL-osoite tai phoneNumber, jota ei ole yhdistetty tilillesi, palauttaa 400 tai 404.
Lataa profiilikuva
Lataa kuvan antamastasi URL-osoitteesta ja siirtää sen WhatsAppiin palauttaen tunnisteen. Välitä kyseinen tunniste profilePictureHandle-arvona yllä olevaan profiilin tallennuskutsuun asettaaksesi sen kuvaksi — tämä päätepiste vain lataa kuvan, se ei aseta sitä itsestään.
POST /whatsapp-templates/profile/picture
| Kenttä | Pakollinen | Kuvaus |
|---|---|---|
phoneNumber |
Kyllä | WhatsApp-numero, johon tämä profiili kuuluu. |
fileUrl |
Kyllä | Julkisesti tavoitettavissa oleva URL-osoite ladattavaan kuvaan. |
cURL
curl -X POST "https://api.youraiconnector.com/v1/whatsapp-templates/profile/picture?apiKey=YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"phoneNumber": "+31612345678",
"fileUrl": "https://example.com/logo.png"
}'
JavaScript
const res = await fetch("https://api.youraiconnector.com/v1/whatsapp-templates/profile/picture", {
method: "POST",
headers: {
"X-API-Key": "YOUR_API_KEY",
"Content-Type": "application/json",
},
body: JSON.stringify({
phoneNumber: "+31612345678",
fileUrl: "https://example.com/logo.png",
}),
});
const data = await res.json();
Python
import requests
res = requests.post(
"https://api.youraiconnector.com/v1/whatsapp-templates/profile/picture",
headers={"X-API-Key": "YOUR_API_KEY"},
json={
"phoneNumber": "+31612345678",
"fileUrl": "https://example.com/logo.png",
},
)
data = res.json()
Vastaus
{
"success": true,
"data": "1234567890123456"
}
data on ladatun kuvan tunniste. Puuttuva phoneNumber tai fileUrl, tai phoneNumber, jolla ei ole WhatsApp-pääsytunnusta tiedostossa, palauttaa 400; tavoittamaton tai virheellinen fileUrl palauttaa virheen, joka kuvaa latauksen epäonnistumisen syyn.
Tarkista lähettäjän tila
Kysyy (ja päivittää) yhdistetyn WhatsApp-numeron reaaliaikaisen lähetystilan viestintäpalveluntarjoajalta. Hyödyllinen sen varmistamiseen, että numero todella pystyy lähettämään viestejä, ennen kuin luotat siihen.
GET /whatsapp-templates/sender-status/{phoneNumber}
cURL
curl "https://api.youraiconnector.com/v1/whatsapp-templates/sender-status/+31612345678" \
-H "X-API-Key: YOUR_API_KEY"
JavaScript
const res = await fetch(
"https://api.youraiconnector.com/v1/whatsapp-templates/sender-status/+31612345678",
{ headers: { "X-API-Key": "YOUR_API_KEY" } }
);
const data = await res.json();
Python
import requests
res = requests.get(
"https://api.youraiconnector.com/v1/whatsapp-templates/sender-status/+31612345678",
headers={"X-API-Key": "YOUR_API_KEY"},
)
data = res.json()
Vastaus
{
"success": true,
"data": "ONLINE"
}
data on jokin seuraavista: ONLINE (lähettää normaalisti), PENDING (varmistetaan edelleen) tai DELETED (palveluntarjoaja ei enää tunnista tätä lähettäjää — yhdistä numero uudelleen). phoneNumber, jolla ei ole WhatsApp-yritystietoja tiedostossa, palauttaa 404.
Luo jatkotoimenpidemalleja tekoälyllä
Alusta voi kirjoittaa kampanjan WhatsApp-jatkotoimenpidemallit puolestasi – ne muistutukset, jotka lähetetään keskustelun hiljentyessä – kampanjan omien ohjeiden ja tavoitteiden perusteella. Käytettävissä on yksi taustalla suoritettava työtehtävän päätepiste sekä kolme vanhempaa päätepistettä, jotka on säilytetty olemassa olevia integraatioita varten. Kaikki nämä kuluttavat tekoälypisteitä.
Aloita generointityö
POST /campaigns/{campaignId}/template-generation
| Kenttä | Pakollinen | Kuvaus |
|---|---|---|
type |
Ei | all (oletus) kirjoittaa koko jatkotoimenpidesarjan. cold_only kirjoittaa vain viestit niille yhteyshenkilöille, jotka eivät koskaan vastanneet. |
cURL
curl -X POST "https://api.youraiconnector.com/v1/campaigns/campaign_abc123/template-generation?apiKey=YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{ "type": "all" }'
JavaScript
const res = await fetch(
"https://api.youraiconnector.com/v1/campaigns/campaign_abc123/template-generation",
{
method: "POST",
headers: {
"X-API-Key": "YOUR_API_KEY",
"Content-Type": "application/json",
},
body: JSON.stringify({ type: "all" }),
}
);
const data = await res.json();
Python
import requests
res = requests.post(
"https://api.youraiconnector.com/v1/campaigns/campaign_abc123/template-generation",
headers={"X-API-Key": "YOUR_API_KEY"},
json={"type": "all"},
)
data = res.json()
Vastaus (202)
{ "success": true, "campaign_id": "campaign_abc123", "type": "all" }
Kutsu palautuu heti, kun työ on asetettu jonoon. Lue kampanja (GET /campaigns/{campaignId}, katso Kampanjoiden API) ja seuraa sen template_generation_status-objektia, kunnes se valmistuu:
| Kenttä | Kuvaus |
|---|---|
status |
processing työn suorituksen aikana, sen jälkeen completed tai failed. |
progress |
0–100. |
current_template, total_templates |
Kuinka monta mallia on kirjoitettu tähän mennessä suhteessa siihen, kuinka monta työssä kirjoitetaan – 11 lähtevälle tai yhdistetylle kampanjalle, muuten 9. |
error |
Syy, miksi failed-työ pysähtyi, esimerkiksi riittämättömät pisteet. |
started_at, completed_at |
Työn alkamis- ja päättymisajankohta. |
Generoidut mallit tallentuvat kampanjalle kuten muutkin, joten ne näkyvät kohdassa Listaa mallit ja ne käyvät läpi WhatsApp-hyväksynnän ennen kuin niitä voidaan lähettää. 400 tarkoittaa, että type oli jotain muuta kuin all tai cold_only; 404 tarkoittaa, että kampanjaa ei ole olemassa tai se kuuluu toiselle tilille.
Agentilla on vastaava kutsu, POST /agents/{agentId}/template-generation, joka kirjoittaa jatkotoimenpiteet Agentille ja valmistuu tavallisessa tapauksessa kutsun aikana – katso Generoi jatkotoimenpideviestit AI Agents API:sta.
Vanhemmat generointipäätepisteet
Kolme aiempaa päätepistettä tekevät saman työn, ja ne on säilytetty, jotta olemassa olevat integraatiot toimivat edelleen. Uuden koodin tulisi käyttää yllä mainittua työtehtävän päätepistettä.
| Päätepiste | Mitä se tekee |
|---|---|
POST /whatsapp-templates/campaign/{campaignId}/generate-async |
Käynnistää jatkotoimenpiteiden generoinnin kampanjalle taustalla ja palauttaa 202-vastauksen { "success": true, "data": { "result": "success", "message": "..." } }-tunnuksella. Pisteet veloitetaan etukäteen (ohitetaan tilillä, joka käyttää omaa tekoälyavainta), ja kampanjan template_generation_status raportoi edistymisen täsmälleen kuten yllä. |
POST /whatsapp-templates/campaign/{campaignId}/generate-followups |
Generoi kaikki yhdeksän jatkotoimenpidemallia kutsun aikana – kampanjalle, joka on luotu ennen automaattisten jatkotoimenpiteiden käyttöönottoa, tai kampanjalle, joka tarvitsee niiden uudelleenkirjoituksen – ja palauttaa 200-vastauksen, jonka sisällä on templatesGenerated kohdassa data. |
POST /whatsapp-templates/agent/{agentId}/generate-followups |
Sama synkroninen generointi, jota Agent käyttää. Vastaus lisää agent_id, campaign_id ja target: "campaign" kun mallit kirjoitettiin Agentin kampanjalle, "agent" (ja campaign_id: null) kun Agentilla ei ole kampanjaa ja ne tallennettiin itse Agentille. Puuttuva tai vieras Agentti on 404. |
Kaikki kolme vaativat, että tilillä on automaattiset jatkotoimenpiteet käytössä ja riittävästi pisteitä – 400 kertoo, mikä puuttuu – ja kampanjaan kohdistuvat parit palauttavat 403-vastauksen, jos kampanja kuuluu toiselle tilille.
Mallien API-virheet
Mallien päätepisteet palauttavat vakioituneen virhekuoren:
{
"success": false,
"error": "Template not found"
}
404 näissä päätepisteissä tarkoittaa yleensä, että resurssia ei löytynyt — joko sitä ei ole olemassa tai se kuuluu toiselle tilille. Muutamat päätepisteet (kampanjakohtainen luonti/päivitys ja lähetykset olemassa olevalle yhteyshenkilölle) palauttavat sen sijaan 403, kun kampanja tai yhteyshenkilö kuuluu jollekin toiselle sen sijaan, ettei sitä olisi olemassa lainkaan. Jotkin päätepisteet sisältävät myös error_code-kentän, joka heijastaa HTTP-tilaa. Jaetut koodit, joita jokainen päätepiste voi palauttaa — 400, 401, 403 (tilauksesi ei sisällä API-käyttöoikeutta), 429 (nopeusrajoitus) ja 500 — on lueteltu uudelleenyritysohjeiden kera kohdassa Virheet ja sivutus.
Seuraavat vaiheet
- Todennus — neljä tapaa todentaa pyyntö.
- Virheet ja nopeusrajoitukset — tilakoodit ja 300 pyyntöä/minuutti -rajoitus.
- Kampanjoiden API — hallitse kampanjoita, joihin mallipohjat on liitetty.