WhatsApp

Wat is het verschil tussen whatsapp.failed en whatsapp.rejected?

Een whatsapp.rejected-event betekent dat Bird het bericht heeft gestopt vóór facturering; whatsapp.failed registreert een fout tijdens het verzenden of afleveren.

Wanneer een bericht eindigt, bekijk dan het afsluitende event en de foutcode voordat je besluit om opnieuw te proberen of de aflevering te onderzoeken.

Wat betekent whatsapp.rejected?

Bird heeft het bericht gestopt vóór verzending en heeft het niet gefactureerd.

Ontvangerscontroles en facturering kunnen een afgewezen uitkomst opleveren. Gebruik de bijbehorende code om de volgende actie te kiezen:

CodeOorzaakVolgende actie
undeliverableGeen bruikbaar ontvangersadresCorrigeer de ontvanger
recipient_suppressedDe ontvanger is onderdruktRespecteer de opt-out en onderzoek toestemmingsrecords
price_not_foundBird kan de verzending niet prijzenNeem contact op met support met de berichtidentifier
insufficient_balanceDe wallet kan de verzending niet dekken of de organisatie kan niet worden gefactureerdLos het factureringsprobleem op voordat je opnieuw verzendt

Een niet-geprijsde verzending wordt geweigerd in plaats van als gratis behandeld. Herhaling van hetzelfde verzoek levert de ontbrekende prijs niet op.

De afwijzingstijdstempel gebruikt de oorspronkelijke acceptatietijd. Gebruik deze consistent in rapporten, zodat wachtrijvertraging de afwijzing niet naar een latere rapportageperiode verschuift.

Wat betekent whatsapp.failed?

Het bericht is mislukt tijdens het verzenden of afleveren, met de oorzaak vastgelegd in de foutdetails.

Meta kan een fout melden via een afleveringscallback. Het kan ook het verzendverzoek van Bird weigeren voordat het bericht voor aflevering wordt geaccepteerd.

Bird registreert internal_error wanneer het verzendnummer geen bruikbare referentie heeft of de verwerking alle pogingen heeft uitgeput. meta_error_code is Meta's vastgelegde foutcode. Deze Bird-code bevat er geen.

Uitputting van pogingen kan transportfouten of upstream-fouten omvatten. Leid niet alleen uit internal_error af dat Meta nooit een verzoek heeft ontvangen.

Controleer de beschrijving en de verbinding van het verzendnummer. Geef support de berichtidentifier wanneer de oorzaak onduidelijk blijft.

Een fout kan optreden na facturering. Bekijk de cost van het bericht in plaats van aan te nemen dat elke mislukte verzending gratis was.

Waarom verschijnt undeliverable bij beide events?

Bij een afwijzing kon Bird de ontvanger niet adresseren. Bij een fout is het het genormaliseerde resultaat van Bird voor een Meta-weigering.

De foutcode is breder dan de vaststelling dat de telefoon geen berichten kan ontvangen. Bird gebruikt undeliverable ook wanneer een Meta-code geen specifiekere mapping heeft.

Lees meta_error_code voor Meta's vastgelegde code en description voor de bijbehorende uitleg. Een fout die zonder foutdetails wordt gemeld, krijgt alsnog undeliverable.

Andere genormaliseerde foutcodes identificeren specifiekere problemen:

CodeWat te onderzoeken
service_window_expiredOf vrije-vorminhoud buiten het servicevenster is verzonden
rate_limitedMeta's verzend- of ontvangerslimieten
media_rejectedHet media-asset dat Meta heeft geweigerd
internal_errorDe vastgelegde verwerkings- of verzendfout van Bird

Bewaar onbekende codes in je logs. De codeset kan groeien, dus een onbekende waarde mag een verder bruikbaar event niet ongeldig maken.

Hoe moet mijn event-handler de uitkomst interpreteren?

Vertrek vanuit het eventtype en de foutcode samen.

Een afgewezen bericht gaat niet verder naar een sent-event. Een mislukt bericht heeft zijn foutdetails nodig om een interne fout van Meta's reactie te onderscheiden.

Houd afleveringsstatus gescheiden van betrokkenheid. Een whatsapp.read-event registreert een leesbevestiging zonder de afleveringsstatus van het bericht te vervangen.

Bird zendt zijn eigen whatsapp.sent uit nadat de verzending slaagt. Het maakt geen apart event aan op basis van Meta's afzonderlijke sent-status-callback.

Templatebeoordeling gebruikt een andere set statussen. Bekijk de taal van het template wanneer goedkeuring het probleem is, in plaats van deze berichtuitkomsten.

Wat moet ik doen vóór een volgende verzending?

Corrigeer de vastgelegde oorzaak voordat je een nieuw bericht verzendt.

Gebruik voor service_window_expired een goedgekeurd template of wacht tot het bericht van de klant het servicevenster heropent.

Respecteer bij onderdrukking de keuze van de ontvanger. Het verwijderen van een opt-out zou de voorkeur van de ontvanger negeren en een compliancerisico creëren.

Los bij een facturerings- of afzenderverbindingsprobleem eerst die accountconditie op. Bewaar de oorspronkelijke berichtidentifier zodat support de mislukte poging kan inspecteren.

Als het nummer of Business Account beperkt of geblokkeerd is, volg dan de stappen voor accountbeperkingen en bezwaren voordat je opnieuw probeert.

Onderzoek bij een onzekere transportfout eerst voordat je een nieuw bericht aanmaakt. Een nieuwe verzending kan een verzoek dupliceren waarvan de uitkomst niet is waargenomen.

Kort gezegd

  1. Een afwijzing wordt niet gefactureerd.

    Bird stopt het bericht vóór verzending wanneer ontvangerscontroles of facturering het versturen verhinderen.

  2. Een fout kan afkomstig zijn van Bird of Meta.

    Bekijk de vastgelegde fout voordat je bepaalt waar je moet onderzoeken. internal_error bevat geen Meta-foutcode.

  3. Interpreteer het event en de code samen.

    undeliverable verschijnt bij beide events. De betekenis hangt af van waar het bericht is gestopt.

  4. Kies de herstelactie op basis van de oorzaak.

    Corrigeer het ontvanger-, account-, inhouds- of timingprobleem voordat je opnieuw verzendt. Bewaar onbekende codes voor onderzoek.

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.