Platform

Waarom is mijn bericht geaccepteerd maar niet afgeleverd?

Je bericht is geaccepteerd maar niet afgeleverd omdat Bird het verzendverzoek heeft ontvangen zonder een afleverbevestiging van de bestemming.

Opnieuw verzenden na alleen een acceptatie kan een dubbel bericht veroorzaken. Volg de eerste verzending via de latere events voordat je besluit opnieuw te proberen.

Bewaar de berichtidentifier die je verzendverzoek retourneert. Die verbindt de initiële acceptatie met latere events over dat bericht.

Wat gebeurt er tussen geaccepteerd en afgeleverd?

E-mail doorloopt een voorbereiding. SMS-berichten doorlopen een overdracht aan een mobiele carrier.

Je kunt je Bird-verzendingen volgen via deze eventtypen:

KanaalEventWat er gebeurde
E-mailemail.acceptedBird heeft de verzending geaccepteerd en bereidt deze voor, eenmaal per opgegeven ontvanger.
E-mailemail.processedBird heeft het bericht voorbereid voor aflevering aan de mailserver van de ontvanger.
E-mailemail.deliveredDe mailserver van de ontvanger heeft het bericht geaccepteerd.
SMSsms.acceptedBird heeft het verzendverzoek geaccepteerd en in de wachtrij geplaatst voor verwerking.
SMSsms.sentBird heeft het bericht overgedragen aan de carrier.
SMSsms.deliveredDe carrier heeft aflevering aan het toestel van de ontvanger gemeld.

Vergelijk eventtijden in timestamp om een vertraging te lokaliseren. Aankomsttijden van webhooks bevatten hun eigen afleververtragingen.

Trek voor e-mail de acceptatietijd af van de voorbereidingstijd om de voorbereiding binnen Bird te meten. Het interval na voorbereiding omvat ook het wachten op de ontvangende server.

Trek voor SMS de acceptatietijd af van de carrieroverdrachttijd om de tijd vóór overdracht te meten. Het interval van overdracht tot aflevering meet de resterende afleveringstijd.

Bijvoorbeeld: een SMS die om 12:00 uur wordt geaccepteerd en twee seconden later wordt overgedragen, besteedde twee seconden vóór carrieroverdracht. Als aflevering acht seconden later volgt, is het totaal tien seconden.

Waarom is het nog steeds niet afgeleverd?

Het bericht wacht mogelijk nog. Een later event kan in plaats daarvan een mislukte aflevering melden.

Een acceptatie-event alleen kan die uitkomsten niet onderscheiden. Lees de latere events voor hetzelfde bericht voordat je besluit het opnieuw te verzenden.

E-mail meldt deze uitkomsten:

  • email.deferred betekent dat aflevering is vertraagd na een tijdelijke fout. Bird probeert het opnieuw, dus het bericht kan later alsnog worden afgeleverd of bouncen.
  • email.bounced betekent dat de ontvangende server de aflevering heeft geweigerd.
  • email.rejected betekent dat Bird het bericht heeft geweigerd vóór een afleverpoging. Onderzoek de weigeringsreden voordat je de mailserverinstellingen van de ontvanger wijzigt.

SMS gebruikt een andere set:

  • sms.undelivered meldt een niet-permanente afleverfout van de carrier.
  • sms.failed meldt een permanente afleverfout.
  • sms.rejected betekent dat Bird het bericht heeft geweigerd vóór carrieroverdracht.
  • sms.expired betekent dat de geldigheidsperiode van het bericht is verstreken vóór aflevering.

Lees de fout bij een mislukte uitkomst om de oorzaak te achterhalen. Carrierfiltering van SMS beschrijft één mogelijke oorzaak.

Is er één levenscyclus die ik kan leren?

Elk kanaal heeft een eigen volgorde van afleverstatussen.

E-mailservers kunnen een afzender vragen het later opnieuw te proberen. SMS-carriers kunnen stoppen met proberen wanneer een bericht verloopt. Die uitkomsten vereisen verschillende herstelacties.

WhatsApp en voice melden ook hun eigen eventtypen. Hun eventgidsen beschrijven de relevante statussen: e-mail, SMS, WhatsApp en voice.

Kan een afgeleverd bericht ophouden afgeleverd te zijn?

Een e-mail kan van afgeleverd naar gebounced verschuiven nadat de ontvangende mailserver een latere afleverfout meldt.

De server accepteert het bericht eerst via SMTP. Na afloop van die uitwisseling kan de server apart een fout melden.

Bird registreert het rapport als email.out_of_band_bounce. Wanneer het rapport als bounce wordt geclassificeerd, verschuift de status van de ontvanger van afgeleverd naar gebounced. Bij een hard bounce onderdrukt Bird ook het adres om latere verzendingen te blokkeren, omdat de fout permanent is.

Een automatisch antwoord kan op de tijdlijn verschijnen zonder de afleveringsstatus te wijzigen. De classificatie van het rapport bepaalt of de eerdere acceptatie wordt ingetrokken.

Houd de afleveringsstatus aanpasbaar na een succesvol event. Webhooks kunnen in een andere volgorde aankomen, dus vergelijk eventtijdstempels voordat je een wijziging toepast die nieuwere status zou overschrijven.

Kort gezegd

  1. Acceptatie bevestigt het verzendverzoek.

    Bird begint het bericht voor te bereiden na acceptatie. Het event bevestigt geen aankomst bij een mailserver of toestel.

  2. Voorbereiding en overdracht zijn verschillende grenzen.

    E-mail meldt voorbereiding met email.processed. SMS meldt carrieroverdracht met sms.sent.

  3. Fouten hebben kanaalspecifieke betekenissen.

    E-mail kan uitgesteld, gebounced of geweigerd worden. SMS onderscheidt niet-afgeleverd, mislukt, geweigerd en verlopen uitkomsten.

  4. E-mailaflevering kan gevolgd worden door een bounce.

    Een latere bouncerapportage kan een e-mailontvanger van afgeleverd naar gebounced verplaatsen. Een automatisch antwoord laat de afleveringsstatus ongewijzigd.

Breng het in de praktijk.

Ga verder met de documentatie, gidsen en voorbeelden voor dit onderwerp. De bronnen zijn in het Engels.

Ontvang een implementatieoverzicht

Bouw op hetzelfde netwerk.

Een test-API-key is direct beschikbaar. Productietoegang wordt ontgrendeld zodra u een betaalmethode toevoegt en een afzender verifieert.

Jouw volgende idee.
Klaar om te verbinden.