Webhooks (External Pharmacy API)
Registrieren Sie Webhooks, um Echtzeitbenachrichtigungen zu erhalten, wenn Apothekenbestellungen erstellt oder aktualisiert werden oder wenn sich Lagerbestände ändern.Zum Auflisten von Webhooks benötigen Sie die Berechtigung
webhooks_read, zum Registrieren und Entfernen die Berechtigung webhooks_write. Ein Schlüssel ohne die erforderliche Berechtigung erhält 403.Webhooks auflisten
Antwort
webhook_secret und der Wert des benutzerdefinierten Headers werden nie zurückgegeben. Die Antwort kann weitere Felder enthalten; ignorieren Sie Felder, die Sie nicht verwenden.
Webhook registrieren
Anfragekörper
string
erforderlich
Die URL, die die Webhook-Anfragen empfängt. Sie muss eine
https://-URL sein, deren Host auf eine öffentliche IP-Adresse auflöst. localhost, *.local-Hosts, private oder interne IP-Adressen und Hosts, die sich nicht auflösen lassen, werden mit 400 abgelehnt.string
erforderlich
Das zu abonnierende Ereignis:
pharmacy_order_created, pharmacy_order_updated oder pharmacy_sku_stock_updated. Jedes Abonnement umfasst genau einen Ereignistyp; registrieren Sie daher ein Abonnement pro Ereignis, das Sie empfangen möchten.string
Beschränkt das Abonnement auf eine Apotheke.
- Mit einem Einzelapotheken-API-Schlüssel ist das Abonnement immer auf die Apotheke dieses Schlüssels beschränkt, und das Feld wird ignoriert.
- Mit einem gruppenweiten API-Schlüssel muss die Apotheke zu Ihrer Apothekengruppe gehören, sonst schlägt die Anfrage mit
400fehl. Lassen Sie das Feld weg, um ein gruppenweites Abonnement zu erstellen, das die Ereignisse aller Apotheken der Gruppe erhält.
string
Name eines benutzerdefinierten HTTP-Headers, den RxScale bei jeder Zustellung mitsendet — zum Beispiel zur Authentifizierung an Ihrem Endpoint. 1–255 Zeichen. Senden Sie ihn zusammen mit
header_value. Muss ein gültiger HTTP-Headername sein: Buchstaben, Ziffern, Bindestriche und Unterstriche (zum Beispiel X-Api-Key), ohne Leerzeichen oder Doppelpunkte. Die reservierten Namen Content-Type, X-Webhook-Event, X-Webhook-Signature, X-Webhook-Test sowie verbindungsbezogene Header wie Host, Content-Length, Transfer-Encoding, Connection und Proxy-Authorization werden abgelehnt (unabhängig von Groß-/Kleinschreibung).string
Wert des benutzerdefinierten Headers. 1–4096 Zeichen. Erforderlich, wenn
header_key gesetzt ist, und andernfalls wegzulassen. Er wird verschlüsselt gespeichert und nie zurückgegeben.Antwort (201 Created)
Dasselbe Abonnement erneut registrieren
Ein Abonnement wird durchnotification_type, target und pharmacy_uid bestimmt. Wenn Sie dieselbe Kombination erneut registrieren — auch nach dem Löschen —, behält RxScale die bestehende uid bei, stellt ein neues webhook_secret aus (das alte funktioniert sofort nicht mehr) und ersetzt den benutzerdefinierten Header. Lassen Sie header_key und header_value weg, wird der benutzerdefinierte Header entfernt. So können Sie das Secret rotieren — siehe Secret rotieren.
Fehler
Webhook entfernen
204 No Content zurück. Für das Abonnement werden danach keine Zustellungen mehr gesendet, auch keine Wiederholungen früherer Ereignisse.
Gibt 404 zurück, wenn das Abonnement nicht existiert oder für Ihren API-Schlüssel nicht sichtbar ist. Ein Einzelapotheken-API-Schlüssel kann nur Abonnements entfernen, die auf seine Apotheke beschränkt sind.
Wie Ereignisse Ihre Abonnements erreichen
Ein Ereignis für eine Apotheke wird an jedes Abonnement der Apothekengruppe zugestellt, das entweder gruppenweit ist (pharmacy_uid ist null) oder auf diese Apotheke beschränkt ist.
- Wenn Sie für dasselbe Ereignis sowohl ein gruppenweites als auch ein apothekenspezifisches Abonnement haben, erhalten Sie jedes Ereignis dieser Apotheke zweimal — einmal pro Abonnement.
- Im Apothekenportal registrierte Abonnements sind immer gruppenweit.
- Jedes Abonnement hat ein eigenes
webhook_secret, und Zustellungen geben nicht an, zu welchem Abonnement sie gehören. Verwenden Sie für jedes Abonnement eine eigene Ziel-URL (zum Beispiel einen anderen Pfad), damit Sie immer wissen, mit welchem Secret Sie prüfen müssen.
Verfügbare Ereignistypen
Vollständige Details zu den Payloads finden Sie unter Webhook-Ereignisse.