Transactionele e-mail van een site
Transactionele e-mail is de uitgaande mail die een WordPress-site namens
zichzelf verstuurt — wachtwoordherstel, orderbevestigingen, meldingen van
contactformulieren. Deze endpoints staan allemaal genest onder een site, op
/api/sites/{site-id}/mail, en dekken de bezorgstatus, de afzenderidentiteit,
het zelf opheffen van een blokkade, een DNS-hercontrole, de verzendlog en het
verbruik per periode.
Dit is niet Mailspace
CloudPress heeft twee losstaande e-mailproducten. Deze pagina gaat over de mail die een site verstuurt, één account per site, dat als onderdeel van de site voor je wordt aangemaakt. Zoek je mailboxen waar mensen op inloggen en lezen — aliassen, groepen, app-wachtwoorden — dan is dat mailboxhosting op workspace-niveau: zie Mailspace. Niets op deze pagina maakt, toont of leest een mailbox.
Voor de uitleg van dezelfde functie in het dashboard, zie Transactionele e-mail.
OAuth-scopes: reads (GET) vereisen sites:read, writes vereisen
sites:write. Naast de scope vereist elke write op deze pagina de rol
can_modify (bewerken) op de site — inclusief de DELETE die een
verzendblokkade opheft, die bewust niet op can_destroy is afgeschermd.
Zonder die rol wordt het verzoek geweigerd met 403
{"errors":["Not Authorized"]}. Sessie- en API-sleutel-credentials slaan de
scopecontroles volledig over (zie OAuth).
Zoals alle endpoints per site erven deze de bewakingen op siteniveau: een
onbekend site-ID geeft 404 terug zonder body, een dunning-suspended site geeft
402 service_suspended terug, en een site die in verwijdering staat geeft
403 pending_delete terug. Zie Sites.
Statussen van de inrichting
Drie afzonderlijke situaties worden gemeld met drie afzonderlijke codes, en ze
gelden niet overal op deze pagina hetzelfde. Ga na welke van toepassing is
voordat je een 4xx als clientfout behandelt.
| Situatie | Reactie | Geldt voor |
|---|---|---|
| Transactionele e-mail is op dit platform helemaal niet beschikbaar | 503 mailchannels_unavailable |
elk endpoint op deze pagina |
| Deze site heeft geen account voor transactionele e-mail | 422 mail_not_provisioned |
elk endpoint behalve het uitlezen van de status |
| Het account van de site bestaat, maar is niet actief | 422 mail_not_active |
alleen verzendlogs en verbruikscijfers |
Het uitlezen van de status is bewust de uitzondering: een site waarvoor mail
simpelweg nooit is ingericht, is een normale toestand en geen ontbrekend record,
dus antwoordt GET /api/sites/{site-id}/mail
met 200 en "mail": null in plaats van met een fout. Een 404 zou daar niet
te onderscheiden zijn van een onbekend site-ID. Elk ander endpoint weigert
diezelfde site met 422 mail_not_provisioned.
mail_not_active is nog specifieker: de verzendlog en het metrics-endpoint lezen
beide bij de provider met de eigen credential van de site, en die bestaat pas
zodra de inrichting is afgerond. De write van de afzenderidentiteit, het opheffen
van de blokkade en de DNS-hercontrole werken op een account met status pending
of failed en geven deze fout niet.
Niets op deze pagina wordt voorwaardelijk weggelaten
Elk veld dat hieronder wordt beschreven, is altijd aanwezig in een geslaagde
reactie. Velden die leeg kunnen zijn, worden als null teruggegeven (of als
{} voor de datummaps van de metrics) — er is geen sleutel die uit de
payload verdwijnt.
Status van transactionele e-mail
GET /api/sites/{site-id}/mail
Scope sites:read. De volledige bezorgstatus van de transactionele e-mail van de
site: de status van het account, of de site momenteel een bezorgconfiguratie
heeft, de DNS-verificatie, de effectieve afzenderidentiteit en een eventuele
verzendblokkade.
Antwoordt met 200 en "mail": null wanneer de site geen account voor
transactionele e-mail heeft. Hetzelfde mail-object wordt teruggegeven door het
bijwerken van de afzenderidentiteit en door het endpoint dat een verzendblokkade
opheft.
Teruggegeven params
- mail: Object |
nullwanneer de site geen account voor transactionele e-mail heeft- status: String |
pending,activeoffailed - configured: Boolean | de hostingcontainer van de site heeft op dit moment een bezorgconfiguratie
- notifications_active: Boolean | dit account is aangemeld voor meldingsmail over de bezorgkwaliteit. Het betekent niet dat die mail ook aankomt — die mail staat momenteel platformbreed uit
- dns: Object
- verdict: String |
unknown,verifiedoffailed.unknownis een wachtstand, geen mislukking — zie de opmerking hieronder - spf_verified: Boolean
- dkim_verified: Boolean
- lockdown_verified: Boolean | het record voor domeinvergrendeling
- all_verified: Boolean | alle drie hierboven zijn geslaagd
- locally_checked: Boolean | de opgeslagen uitkomst is een lokale voorspelling, geen antwoord van de provider
- checked_at: DateTime | null
- verdict: String |
- sender_identity: Object
- from_email: String | null | het effectieve
From-adres, samengesteld uitdkim_domain—nulltotdat er een DKIM-domein bestaat - from_local_part: String | het effectieve deel vóór de
@, met de standaardwaarde toegepast - from_name: String | de effectieve weergavenaam, met de standaardwaarde toegepast
- mail_from_local_part: String | null | alleen de opgeslagen override;
nullwanneer de standaardwaarde geldt - mail_from_name: String | null | alleen de opgeslagen override
- dkim_domain: String | null | het domein waarvoor de mail van de site wordt gesigneerd
- from_email: String | null | het effectieve
- suspension: Object
- suspended: Boolean | uitgaande mail is op dit moment gepauzeerd
- abuse: Boolean | de pauze is opgelegd via het misbruikpad
- system: Boolean | de pauze is opgelegd door facturatie of een lifecyclegebeurtenis
- reason: String | null
- suspended_at: DateTime | null
- can_self_unsuspend: Boolean | of
DELETE .../mail/suspensionop dit moment zou worden geaccepteerd - remaining_self_unsuspends: Integer | resterende keren dat je de blokkade in het huidige venster zelf kunt opheffen
- created_at: DateTime
- updated_at: DateTime
- status: String |
curl -H "Authorization: Bearer $CLOUDPRESS_TOKEN" \
-H "X-Auth-Account: $ACCOUNT_ID" \
https://my.cloudpress.com/api/sites/$SITE_ID/mail
dns.verdict heeft drie waarden, en unknown is geen mislukking
unknown betekent dat CloudPress geen antwoord van de provider heeft voor
deze site — er is er nog geen opgehaald, of de opgeslagen uitkomst is een
lokaal berekende voorspelling (dns.locally_checked is dan true). Het is
een wachtstand: er wordt niets naar de site gepusht en er wordt niets
afgebroken. Behandel alleen failed als een mislukking, en gebruik
de DNS-hercontrole om een nieuw
antwoord op te vragen.
Er worden drie DNS-records gecontroleerd, elk met zijn eigen boolean: SPF, DKIM en domeinvergrendeling. De SPF-waarde en de host van het DKIM-record zijn voor elke site op het platform hetzelfde; de waarde van het DKIM-record (die bevat een publieke sleutel die voor die site is aangemaakt) en de waarde van het domeinvergrendelingsrecord (die bevat de eigen afzenderidentificatie van de site) zijn per site verschillend. Deze API geeft geen van de records zelf terug, alleen hun verificatiestatus — die lees je af op het DNS-scherm van het dashboard.
configured en dns.verdict antwoorden op verschillende vragen
dns.verdict is wat de DNS zegt; configured is of de container van de site
op dit moment daadwerkelijk een bezorgconfiguratie heeft. Een geverifieerde
uitkomst is wat CloudPress de push laat proberen, en een uitkomst die na een
respijtperiode van 24 uur failed blijft, is wat de configuratie weer laat
afbreken.
Vijf situaties worden al beslist voordat de uitkomst er überhaupt bij wordt gehaald, in deze volgorde:
- Geen account voor transactionele e-mail, een account dat nog niet actief
is, of een site zonder hostingcontainer — er gebeurt in beide richtingen
niets. De configuratie wordt niet gepusht en niet afgebroken, en
configuredrapporteert simpelweg wat de site al had. - Een geblokkeerd account → afgebroken.
- Een site zonder domein → afgebroken.
- Een leeg
dkim_domain→ afgebroken. Er is geen ondertekeningsdomein om als afzender te gebruiken, dus een bestaande configuratie blijft hierbij niet staan. - Een
dkim_domaindat is ingevuld maar niet meer overeenkomt met het primaire domein van de site → een wachtstand, geen afbraak. Een bestaande configuratie blijft staan, omdat de records van het oude domein meestal nog werken.
Let op het verschil tussen 4 en 5: een ontbrekend DKIM-domein is een
afbraak, een verouderd domein een wachtstand. Poll configured in plaats
van het uit dns af te leiden.
Fouten
- 402
service_suspended| de site is dunning-suspended - 403
pending_delete| de site is soft-deleted en vergrendeld - 503
mailchannels_unavailable| transactionele e-mail is op dit platform niet beschikbaar - 404 | onbekend site-ID (geen body)
De afzenderidentiteit bijwerken
PATCH /api/sites/{site-id}/mail/settings
Scope sites:write, plus de rol can_modify (bewerken). Stelt het deel vóór de
@ en de weergavenaam in waarmee de mail van de site wordt verstuurd. De
domeinhelft is hier niet in te stellen — die volgt het DKIM-domein van de
site.
De params zijn plat (geen wrapper-sleutel). Al het andere dat je meestuurt wordt genegeerd: alleen deze twee sleutels worden gelezen.
Params
- mail_from_local_part: String | null (optioneel) | het deel vóór de
@. Leeg ofnullwist de override en zet de standaardwaarde terug (noreply). Moet alfanumeriek beginnen en eindigen, mag daartussen. _ % + -bevatten, geen opeenvolgende punten, maximaal 64 bytes. - mail_from_name: String | null (optioneel) | de weergavenaam. Leeg of
nullwist de override en valt terug op de naam van de site. Geen stuurtekens, maximaal 255 bytes (bytes, geen tekens — een naam met accenten of emoji bereikt de grens eerder dan zijn lengte doet vermoeden).
Geeft 200 terug met hetzelfde mail-object als
het uitlezen van de status, dus de
effectieve sender_identity staat in de reactie.
curl -X PATCH \
-H "Authorization: Bearer $CLOUDPRESS_TOKEN" \
-H "X-Auth-Account: $ACCOUNT_ID" \
-H "Content-Type: application/json" \
-d '{"mail_from_local_part": "orders", "mail_from_name": "Example Store"}' \
https://my.cloudpress.com/api/sites/$SITE_ID/mail/settings
Opslaan is niet hetzelfde als ermee versturen
Dit endpoint roept de mailprovider nooit inline aan. De waarden worden meteen
opgeslagen — ook terwijl de DNS niet geverifieerd is — en er wordt een
reconcile in de wachtrij gezet. Of de site het nieuwe From-adres
daadwerkelijk gaat gebruiken, hangt af van dezelfde voorwaarden als
configured hierboven: een actief, niet-geblokkeerd account waarvan het
dkim_domain nog overeenkomt met het primaire domein van de site, met een
verified DNS-uitkomst. Lees configured en
sender_identity.from_email terug via het statusendpoint in plaats van aan
te nemen dat de wijziging de site heeft bereikt.
Fouten
- 402
service_suspended| de site is dunning-suspended - 403
pending_delete| de site is soft-deleted en vergrendeld - 403
{"errors":["Not Authorized"]}| de credential heeft geen bewerkrecht op de site - 422
mail_not_provisioned| de site heeft geen account voor transactionele e-mail - 422
invalid_sender_identity| de validatie heeft de waarden geweigerd;errorsbevat de meldingen per veld - 503
mailchannels_unavailable| transactionele e-mail is op dit platform niet beschikbaar
Een verzendblokkade opheffen
DELETE /api/sites/{site-id}/mail/suspension
Scope sites:write. Dit verwijdert een verzendblokkade, niet de site, dus
het is afgeschermd met de rol can_modify (bewerken) — hetzelfde recht als
de write van de afzenderidentiteit, en bewust niet het strengere can_destroy.
Een lid dat de site kan bewerken, kan de blokkade opheffen.
Uitgaande mail wordt automatisch gepauzeerd wanneer het verzendgedrag van de site
een spamklacht oplevert, en wanneer harde bounces en geweigerde berichten niet
langer op ongelukjes lijken maar op een lijstkwaliteitsprobleem. De API laat de
resulterende toestand zien, niet de machinerie erachter: lees
suspension.suspended, suspension.abuse, suspension.system,
suspension.reason en suspension.suspended_at op
het statusendpoint.
Controleer eerst suspension.can_self_unsuspend. Dit endpoint heft alleen
een misbruikblokkade op die de klant zelf mag opheffen. Het geeft 403
unsuspend_not_allowed terug wanneer:
- het account helemaal niet geblokkeerd is;
- de blokkade een facturatie- of lifecycleblokkade is (
suspension.systemistrue) — die worden opgeheven via het pad dat ze heeft opgelegd, niet hiervandaan; - een misbruikbeoordeling achter een systeemblokkade geparkeerd staat en wacht tot die blokkade wordt opgeheven; of
- de zelfservicelimiet is opgebruikt (
suspension.remaining_self_unsuspendsis0). De limiet is twee keer zelf opheffen per venster van 30 dagen.
Bij succes is de reactie 200 met het vernieuwde mail-object — dezelfde vorm
als bij het uitlezen van de status — en
wordt er een reconcile in de wachtrij gezet, zodat de bezorgconfiguratie van de
site opnieuw wordt beoordeeld in plaats van te wachten op de volgende geplande
ronde.
curl -X DELETE \
-H "Authorization: Bearer $CLOUDPRESS_TOKEN" \
-H "X-Auth-Account: $ACCOUNT_ID" \
https://my.cloudpress.com/api/sites/$SITE_ID/mail/suspension
Fouten
- 402
service_suspended| de site is dunning-suspended - 403
pending_delete| de site is soft-deleted en vergrendeld - 403
{"errors":["Not Authorized"]}| de credential heeft geen bewerkrecht op de site - 403
unsuspend_not_allowed| niet geblokkeerd, een systeemblokkade, een geparkeerde misbruikbeoordeling, of de limiet is opgebruikt - 422
mail_not_provisioned| de site heeft geen account voor transactionele e-mail - 422
unsuspend_failed| de heractivering is niet afgerond. Meestal heeft de provider die geweigerd en is er niets veranderd — maar een verzoek dat de race om de laatste resterende poging verliest, kan hier terechtkomen nadat de provider het account al had geheractiveerd, waardoor de site aan onze kant nog geblokkeerd blijft. Lees de status opnieuw uit in plaats van de toestand aan te nemen - 503
mailchannels_unavailable| transactionele e-mail is op dit platform niet beschikbaar
De DNS voor mail opnieuw controleren
POST /api/sites/{site-id}/mail/dns_check
Scope sites:write, plus de rol can_modify (bewerken). Zet buiten de reguliere
ronde een DNS-hercontrole van de mail-DNS van de site in de wachtrij, in plaats
van op de geplande ronde te wachten — de aanroep die je doet direct nadat je de
records hebt gepubliceerd. Hij geeft meteen 202 Accepted terug; poll
GET /api/sites/{site-id}/mail voor de
resulterende uitkomst.
Teruggegeven params (202 Accepted)
- status: String | altijd
"queued"
curl -X POST \
-H "Authorization: Bearer $CLOUDPRESS_TOKEN" \
-H "X-Auth-Account: $ACCOUNT_ID" \
https://my.cloudpress.com/api/sites/$SITE_ID/mail/dns_check
Rate limited: één controle per site per 5 minuten
De limiet is gekoppeld aan het account voor transactionele e-mail van de
site, niet aan je credential, en het venster wordt gedeeld met de
hercontroleknop in het dashboard — een controle die een collega net vanuit
het dashboard heeft gedaan, blokkeert dus die van jou, en de API kan niet
worden gebruikt om een limiet te omzeilen die het dashboard net heeft
toegepast. Een verzoek binnen het venster geeft 429 rate_limited terug en
zet niets in de wachtrij. Elk geaccepteerd verzoek opent het venster, dus
probeer het na 5 minuten opnieuw in plaats van direct.
Fouten
- 402
service_suspended| de site is dunning-suspended - 403
pending_delete| de site is soft-deleted en vergrendeld - 403
{"errors":["Not Authorized"]}| de credential heeft geen bewerkrecht op de site - 422
mail_not_provisioned| de site heeft geen account voor transactionele e-mail - 429
rate_limited| er is in de afgelopen 5 minuten al een controle voor deze site gedraaid - 503
mailchannels_unavailable| transactionele e-mail is op dit platform niet beschikbaar
Verzendlogs doorzoeken
GET /api/sites/{site-id}/mail/logs
Scope sites:read. De log met uitgaande berichten van de site, upstream
doorzocht. Vereist een actief account: een account dat bestaat maar nog niet
klaar is met inrichten geeft 422 mail_not_active terug.
Elk zoekveld is een eigen benoemde parameter. Ze zijn allemaal optioneel; laat ze allemaal weg voor de meest recente berichten.
Params (allemaal optioneel)
- rcpt: String | ontvanger, match op deelreeks
- sender: String | afzender, match op deelreeks
- subject: String | onderwerp, match op deelreeks
- start_date: String |
YYYY-MM-DD, uitgebreid naarT00:00:00Z - end_date: String |
YYYY-MM-DD, uitgebreid naarT23:59:59Z - delivered: String |
YofN(niet case-sensitief).Nis de weergave met alleen de mislukkingen. Elke andere waarde wordt stil genegeerd — er wordt geen filter toegepast en er wordt geen fout gemeld - start_at: Integer | cursor-offset, afgekapt op
0–10000
Dit endpoint pagineert met een cursor, niet met paginanummers: het leest
page en per_page niet, en de paginagrootte staat vast. Pagineer met
start_at en volg next_start_at en prev_start_at.
Teruggegeven params
- messages:
Array<Object>- sender: String | null
- rcpt: String | null
- subject: String | null
- delivered: Boolean of String | null — de upstream-log stuurt beide vormen; vergelijk ruim
- rspcode: String | null | SMTP-antwoordcode
- rspmsg: String | null | SMTP-antwoordtekst
- spam_disposition: String | null
- timestamp: String | null
- total: Integer | overeenkomende berichten upstream, vóór de lokale filtering
- start_at: Integer | de effectieve (afgekapte) offset van deze pagina
- page_count: Integer | de ruwe paginagrootte die upstream teruggaf, vóór de lokale filtering
- next_start_at: Integer | null | cursor voor de volgende pagina,
nullop de laatste pagina - prev_start_at: Integer | null | cursor voor de vorige pagina,
nullop de eerste
messages kan korter zijn dan page_count
Intern relayverkeer wordt uit messages gefilterd nadat de pagina is
opgehaald, en total telt de ongefilterde overeenkomsten. messages.length
kan dus kleiner zijn dan page_count, en een pagina kan zelfs leeg
terugkomen terwijl next_start_at nog steeds is gezet. Ga verder op
next_start_at en blijf doorgaan totdat die null is — behandel een lege
pagina nooit als het einde, en bereken de paginering niet uit
messages.length.
Fouten
- 402
service_suspended| de site is dunning-suspended - 403
pending_delete| de site is soft-deleted en vergrendeld - 422
mail_not_provisioned| de site heeft geen account voor transactionele e-mail - 422
mail_not_active| het account bestaat, maar is niet actief - 502
log_search_failed| het zoeken in de upstream-log is mislukt of was niet bereikbaar - 503
mailchannels_unavailable| transactionele e-mail is op dit platform niet beschikbaar
Verbruikscijfers
GET /api/sites/{site-id}/mail/metrics
Scope sites:read. Dagelijks verzendvolume, aantallen openingen en kliks, en het
verbruik van de site ten opzichte van het tegoed van zijn pakket in de huidige
facturatieperiode. Vereist een actief account (anders 422
mail_not_active).
Params
- days: Integer (optioneel) | terugkijkvenster voor
volumeenengagement. Het heeft geen invloed opusage, dat altijd de huidige facturatieperiode rapporteert. Vier regels bepalen wat een bepaalde waarde doet:- Leeg of afwezig — weggelaten, of meegestuurd als lege string — valt terug op de standaard van
30en antwoordt200. De leegcontrole loopt vóór het parsen, dus een legedaystelt als afwezig en niet als onleesbaar. - Aanwezig maar onleesbaar wordt geweigerd met
400invalid_days, en er wordt niets upstream gelezen. Dit is het enige geval dat een fout geeft. - Een getal buiten het bereik wordt nog steeds stilzwijgend afgekapt op
1–90. Dat gedrag is niet veranderd. - Er wordt expliciet in grondtal 10 geparseerd:
010is tien dagen, niet octaal acht, en0x1ewordt geweigerd in plaats van gelezen als dertig.
- Leeg of afwezig — weggelaten, of meegestuurd als lege string — valt terug op de standaard van
invalid_days is de laatste controle, niet de eerste
De controle op days loopt na de controles op het account voor
transactionele e-mail, dus een verzoek dat zowel onjuist gevormd als
onbeantwoordbaar is, meldt het accountprobleem. Op een site zonder account
voor transactionele e-mail antwoordt ?days=abc met 422
mail_not_provisioned; op een account dat wel bestaat maar nog niet actief
is, met 422 mail_not_active. Geen van beide zegt dat days is
geaccepteerd — het uitblijven van invalid_days bewijst niet dat de waarde
is geparseerd.
Teruggegeven params
- days: Integer | het effectieve (afgekapte) venster
- volume: Object | elk onderdeel mapt
YYYY-MM-DDnaar een Integer, één sleutel per dag van het venster- processed: Object
- delivered: Object
- dropped: Object
- bounced: Object | de deelverzameling van
droppedmet 5xx (definitieve weigering) — tel de twee niet bij elkaar op
- engagement: Object
- opens: Object |
YYYY-MM-DDnaar Integer;{}wanneer er niets te rapporteren is - clicks: Object |
YYYY-MM-DDnaar Integer;{}wanneer er niets te rapporteren is
- opens: Object |
- usage: Object |
nullwanneer de provider geen verbruikscijfer heeft gerapporteerd- period_start: DateTime | begin van de huidige periode
- period_end: DateTime | einde van de huidige periode
- sent: Integer | berichten die deze periode zijn verstuurd
- limit: Integer | het tegoed van het sitepakket voor de periode
- usage_pct: Integer |
sentals percentage vanlimit, afgerond - cycle_pct: Integer | hoe ver het huidige moment in de periode ligt, afgerond
- projected: Integer | prognose voor het einde van de periode bij het huidige tempo
- projected_pct: Integer | die prognose als percentage van
limit, afgetopt op100
De facturatieperiode is verankerd op de dag waarop het account voor transactionele e-mail van de site is aangemaakt en schuift van dat ankerpunt met een maand per keer op — hij is niet gekoppeld aan je factuurdatum.
dropped en bounced zijn niet optelbaar
dropped telt elke mislukte afleverpoging. bounced telt daarvan alleen
de definitieve 5xx-weigeringen, en is dus een deelverzameling van dropped
en geen aparte categorie ernaast. De twee bij elkaar optellen telt elke harde
mislukking dubbel. Voor uitsluitend de tijdelijke mislukkingen (4xx en die
zonder code) trek je ze juist van elkaar af: dropped min bounced.
dropped is bewust niet versmald tot de 4xx-rest om de twee te laten
optellen. dropped draagt elders op het platform al een specifieke
betekenis — het is de eigen gebeurtenisnaam van de mailprovider voor "de
provider weigerde te verzenden" — en het hier herdefiniëren zou een
bestaande reeks in de grafiek hebben hernoemd onder zijn eigen data vandaan.
volume telt pogingen, geen berichten
De upstream-zoeklog wordt niet per bericht samengevouwen, dus elke
afleverpoging wordt apart geteld. Een bericht dat tweemaal is uitgesteld en
daarna is afgeleverd, draagt 2 bij aan dropped, 1 aan delivered en
3 aan processed — drie logregels voor één bericht. Deze reeksen zijn dus
niet te verzoenen met een telling van de berichten die je hebt verstuurd, en
processed is geen berichtentelling.
volume komt uit een begrensde scan; behandel het als indicatief
Anders dan usage is de dagelijkse reeks in volume geen upstream-aggregatie:
hij wordt berekend door door de berichtenzoekopdracht te lopen, ten hoogste
10 pagina's van 50 berichten, en te verdelen per dag. Voor een site die in
dat venster meer verstuurt, vallen de oudere dagen te laag uit. Gebruik
usage.sent voor alles wat moet kloppen, zoals een quotumwaarschuwing;
gebruik volume voor de vorm van de trend.
Poll dit endpoint spaarzaam
Elke aanroep doet meerdere upstream-rondes — de berichtenwandeling hierboven plus een aparte uitlezing van de engagement. Er zit geen gecachte aggregatie achter, dus dit is geen endpoint om op een korte timer te zetten.
Fouten
- 400
invalid_days|daysis meegestuurd, maar is geen heel getal - 402
service_suspended| de site is dunning-suspended - 403
pending_delete| de site is soft-deleted en vergrendeld - 422
mail_not_provisioned| de site heeft geen account voor transactionele e-mail - 422
mail_not_active| het account bestaat, maar is niet actief - 503
mailchannels_unavailable| transactionele e-mail is op dit platform niet beschikbaar
Foutcodes
Alle fouten gebruiken de standaardenvelop {"errors": [...], "code": "..."} die
is beschreven in Foutreacties. De rechtenfout is de
uitzondering — die bevat wel errors, maar geen code.
| Code | Status | Geretourneerd door |
|---|---|---|
invalid_days |
400 | verbruikscijfers |
service_suspended |
402 | elk endpoint |
pending_delete |
403 | elk endpoint |
(geen code) ["Not Authorized"] |
403 | instellingen bijwerken, blokkade opheffen, DNS-hercontrole |
unsuspend_not_allowed |
403 | blokkade opheffen |
mail_not_provisioned |
422 | instellingen bijwerken, blokkade opheffen, DNS-hercontrole, verzendlogs, verbruikscijfers |
mail_not_active |
422 | verzendlogs, verbruikscijfers |
invalid_sender_identity |
422 | instellingen bijwerken |
unsuspend_failed |
422 | blokkade opheffen |
rate_limited |
429 | DNS-hercontrole |
log_search_failed |
502 | verzendlogs |
mailchannels_unavailable |
503 | elk endpoint |