Status- und Preisbenachrichtigungen

Der WhatsApp Business API-Client sendet Benachrichtigungen zum status der Nachricht zwischen dir und deinen Benutzern. Diese Benachrichtigungen werden über das statuses-Objekt gesendet.

Statusmeldungen

Für jede Nachricht, die dein Unternehmen sendet, erhältst du eine Benachrichtigung zum Status der Nachricht. Klicke in der nachstehenden Tabelle auf den Pfeil in der linken Spalte für die WhatsApp App zu den einzelnen Statusangaben, sofern verfügbar.

NameBeschreibung

Gelöscht

Eine von dem*der Nutzer*in gesendete Nachricht wurde von ihm*ihr gelöscht. Wenn du diese Benachrichtigung erhältst, solltest du sicherstellen, dass die Nachricht aus deinem System gelöscht wird, wenn sie vom Server heruntergeladen wurde.

WhatsApp App-Entsprechung

In WhatsApp auf Mobilgeräten wird die Nachricht durch den Hinweis „Diese Nachricht wurde gelöscht“ ersetzt.

Gesendet

Eine von deinem Unternehmen gesendete Nachricht wurde auf dem Gerät des*der Nutzer*in zugestellt.

WhatsApp App-Entsprechung

Zwei Häkchen

Fehlgeschlagen

Eine von deinem Unternehmen gesendete Nachricht konnte nicht gesendet werden. Im Rückruf wird ein Grund für den Fehler angegeben. In der Dokumentation zu den Fehlermeldungen findest du Hilfestellung für das Debuggen:

WhatsApp App-Entsprechung

Rotes Fehlerdreieck

Gelesen

Eine von deinem Unternehmen gesendete Nachricht wurde von dem*der Nutzer*in gelesen. Gelesen -Benachrichtigungen stehen nur für solche Nutzer*innen zur Verfügung, die Lesebestätigungen aktiviert haben. Für Nutzer*innen, die keine Lesebestätigungen aktiviert haben, erhältst du nur die Gesendet -Benachrichtigung.

WhatsApp App-Entsprechung

Zwei blaue Häkchen

Gesendet

Eine von deinem Unternehmen gesendete Nachricht befindet sich im Transit zwischen unseren Systemen.


Für Nutzer*innen der On-Premises API: Um Benachrichtigung für gesendete Nachrichten zu erhalten, lege die Einstellung sent_status auf true fest in den Anwendungseinstellungen. Die Statusbenachrichtigung „gesendet“ ist standardmäßig deaktiviert.

WhatsApp App-Entsprechung

Ein Häkchen

warning

Eine Nachricht, die dein Unternehmen gesendet hat, enthält ein Element in einem Katalog, der nicht verfügbar ist oder nicht existiert.

Die Reihenfolge dieser Benachrichtigungen in deiner App entspricht möglicherweise nicht dem tatsächlichen Timing des Nachrichtenstatus. Sieh dir gegebenenfalls den Zeitstempel an, um das Timing zu ermitteln.

Damit eine Nachricht den Status read erhalten kann, muss sie den Status delivered gehabt haben. In einigen Szenarien, z. B. wenn ein Nutzer eine Nachricht erhält, während er gerade chattet, erhält die Nachricht nahezu zeitgleich die Status delivered und read. In diesem oder ähnlichen Szenarien wird die Benachrichtigung über den Status delivered nicht zurückgesendet, da implizit davon ausgegangen wird, dass eine gelesene Nachricht auch zugestellt wurde. Der Grund für dieses Verhalten ist eine interne Optimierung.

Preis-Updates

Seit dem 1. Februar 2022 enthält das statuses-Objekt in deinen ausgehenden Benachrichtigungen zwei neue verschachtelte Objekte: conversation und pricing. Die Komponenten der Objekte „conversation“ und „pricing“ hängen davon ab, wo die Unterhaltung gestartet wurde. Unterhaltungen können von Benutzern, von Unternehmen oder über einen freien Einstiegspunkt gestartet werden. Weitere Informationen dazu findest du unten:

Beispiele

In den folgenden Beispielen kann anstelle des Felds recipient_id das Feld group_id verwendet werden. Dies hängt davon ab, ob die Nachricht an eine Einzelperson oder eine Gruppe gesendet wird.

Status: Nachricht gesendet

Der folgende Webhook wird empfangen, wenn ein Unternehmen eine Nachricht in einer vom Benutzer begonnenen Unterhaltung sendet (wenn diese Unterhaltung nicht an einem kostenlosen Einstiegspunkt begann):

{
   "statuses": [{
     "id": "ID",
     "recipient_id": "WHATSAPP_ID",
     "status": "sent",
     "timestamp": "TIMESTAMP",
     "type": "message",
     "message": {         
        "recipient_id":"WHATSAPP_ID"   
     },
     "conversation": {
       "id": "CONVERSATION_ID",
       "expiration_timestamp": TIMESTAMP,
       "origin": {
         "type": "user_initiated"
       }
      },
    "pricing": {
      "pricing_model": "CBP",
      "billable": true,
      "category": "user_initiated"
    }
   }]
}

Der folgende Webhook wird empfangen, wenn ein Unternehmen eine Nachricht in einer vom Benutzer begonnenen Unterhaltung für eine Mediennachricht sendet (wenn diese Unterhaltung nicht an einem kostenlosen Einstiegspunkt begann):

{
   "statuses": [{
     "id": "ID",
     "recipient_id": "WHATSAPP_ID",
     "status": "sent",
     "timestamp": "TIMESTAMP",
     "type": "message",
     "message": {   
       "media_id": "98d14c8e-0310-4061-8f99-2d148274c286",
       "recipient_id":"WHATSAPP_ID"  
     },
     "conversation": {
       "id": "CONVERSATION_ID",
       "expiration_timestamp": TIMESTAMP,
       "origin": {
         "type": "user_initiated"
       }
      },
    "pricing": {
      "pricing_model": "CBP",
      "billable": true,
      "category": "user_initiated"
    }
   }]
}

Der folgende Webhook wird empfangen, wenn ein Unternehmen eine Nachricht in einer vom Unternehmen begonnenen Unterhaltung sendet:

{
  "statuses": [{
    "id": "ID",
    "recipient_id": "WHATSAPP_ID",
    "status": "sent",
    "timestamp": "TIMESTAMP",
    "type": "message",         
    "message": {
        "recipient_id":"WHATSAPP_ID" 
    },
    "conversation": {
      "id": "CONVERSATION_ID",
      "expiration_timestamp": TIMESTAMP,
      "origin": {
         "type": "business_initiated"
      }
    },
    "pricing": {
      "pricing_model": "CBP",
      "billable": true,
      "category": "business_initiated"
    }
   }]
}

Der folgende Webhook wird empfangen, wenn ein Unternehmen eine Antwort in einer vom Benutzer gestarteten Unterhaltung sendet, die an einem kostenlosen Einstiegspunkt begann:

{
  "statuses": [{
    "id": "ID",
    "recipient_id": "WHATSAPP_ID",
    "status": "sent",
    "timestamp": "TIMESTAMP",
    "type": "message",
    "message": {
        "recipient_id":"WHATSAPP_ID"   
    },
    "conversation": {
      "id": "CONVERSATION_ID",
      "expiration_timestamp": TIMESTAMP,
      "origin": {
         "type": "referral_conversion",
      }
    },
    "pricing": {
      "pricing_model": "CBP",
      "billable": false,
      "category": "referral_conversion"
    }
   }]
}

Status: Nachricht zugestellt

Der folgende Webhook wird empfangen, wenn die Nachricht eines Unternehmens zugestellt wird und Teil einer vom Benutzer gestarteten Unterhaltung ist (wenn diese Unterhaltung nicht an einem kostenlosen Einstiegspunkt begann):

{
  "statuses": [{
    "id": "ID",
    "recipient_id": "WHATSAPP_ID",
    "status": "delivered",
    "timestamp": "TIMESTAMP",
    "type": "message",
    "message": {
        "recipient_id":"WHATSAPP_ID" 
      },
    "conversation": {
      "id": "CONVERSATION_ID",
      "origin": {
         "type": "user_initiated"
      }
    },
    "pricing": {
      "pricing_model": "CBP",
      "billable": true,
      "category": "user_initiated"
    }
  }]
}

Der folgende Webhook wird empfangen, wenn die Nachricht eines Unternehmens zugestellt wird und Teil einer vom Unternehmen gestarteten Unterhaltung ist:

{
  "statuses": [{
    "id": "ID",
    "recipient_id": "WHATSAPP_ID",
    "status": "delivered",
    "timestamp": "TIMESTAMP",
    "type": "message",
    "message": {
        "recipient_id": "WHATSAPP_ID" 
    },
    "conversation": {
      "id": "CONVERSATION_ID",
      "origin": {
         "type": "business_initiated"
      }
    },
    "pricing": {
      "pricing_model": "CBP",
      "billable": true,
      "category": "business_initiated"
    }
  }]
}

Der folgende Webhook wird empfangen, wenn die Nachricht eines Unternehmens zugestellt wird und Teil einer vom Benutzer gestarteten Unterhaltung ist, die an einem kostenlosen Einstiegspunkt begann:

{
  "statuses": [{
    "id": "ID",
    "recipient_id": "WHATSAPP_ID",
    "status": "delivered",
    "timestamp": "TIMESTAMP",
    "type": "message",  
    "message": {
        "recipient_id": "WHATSAPP_ID" 
    },
    "conversation": {
      "id": "CONVERSATION_ID",
      "origin": {
         "type": "referral_conversion",
      }
    },
    "pricing": {
      "pricing_model": "CBP",
      "billable": false,
      "category": "referral_conversion"
    }
  }]
}

Status: Nachricht gelesen

Standardrückruf für eine gelesene Nachricht:

{
  "statuses":[{
    "id": "ID",
    "recipient_id": "WHATSAPP_ID",
    "status": "read",
    "timestamp": "TIMESTAMP",
    "type": "message",  
    "message": {
        "recipient_id": "WHATSAPP_ID" 
    }
  }]
}

Status: Nachricht fehlgeschlagen

Fehlercode 470

{
  "statuses": [{
    "errors": [{
      "code": 470,
      "title": "Failed to send message because you are outside the support window for freeform messages to this user. Please use a valid HSM notification or reconsider." 
    }],
    "id": "ID",
    "recipient_id": "WHATSAPP_ID",
    "status": "failed",
    "timestamp": "TIMESTAMP"
  }]
}

Fehlercode 480

{
  "statuses": [{
      "errors": [{
          "code": 480,
          "title": "Failed to send message since we detect an identity change of the contact"
      }],
      "id": "ID",
      "recipient_id": "WHATSAPP_ID",
      "status": "failed",
      "timestamp": "TIMESTAMP"
   }]
}

Der Unterabschnitt „conversation“ ist bei fehlgeschlagenen Nachrichten nicht im Rückruf enthalten. In diesem Fall ist keine Abrechnungs- oder Unterhaltungsaktivierung vorhanden.

Status: Nachricht gelöscht

Standard-Rückruf für eine gelöschte Nachricht:

{
  "statuses": [{
        "id": "ID",
        "recipient_id": "WHATSAPP_ID",
        "status": "deleted",
        "timestamp": "TIMESTAMP",
        "type": "message",
        "message": {
           "recipient_id": "WHATSAPP_ID" 
      }
    }]
}

Der Unterabschnitt „conversation“ ist bei gelöschten Nachrichten nicht im Rückruf enthalten. In diesem Fall ist keine Abrechnungs- oder Unterhaltungsaktivierung vorhanden.

Alle möglichen Nachrichtenstatus

Mehr dazu findest du unter Übersicht, Nachrichten.

FAQs

Yes, there is a specific scenario where you can get pricing information on your webhook alert for read messages. For each sent message, there can be 3 scenarios:

ScenarioWhen it Happens
You get a webhook alert when the message is delivered (including pricing information) and another webhook alert when the message is read (not including pricing information).This is the most common scenario.
You get a webhook alert when the message is delivered (including pricing information). You do not get a webhook alert that the message has been read. Common when a customer has turned off the feature that lets people know they have read a message.
You get a webhook alert when the message is read (including pricing information). You do not get a webhook alert that the message has been delivered. Only triggered when the user is already reading the thread with the business when the message comes in.