createPartnerWebhook method
Legt einen Webhook-Endpunkt an. Hoechstens kWebhookLimit je Partner
(webhook_limit).
Das Secret in der Antwort ist der einzige Weg dazu. Es sofort dorthin schreiben, wo der Empfaenger es liest -- nicht in ein Protokoll.
Implementation
Future<NeuerWebhook> createPartnerWebhook({
required String url,
required List<String> events,
String? beschreibung,
bool? aktiv,
}) async {
final adresse = _pflicht(url, 'createPartnerWebhook', 'url');
if (events.isEmpty) {
throw const KasseneckValidationError(
'createPartnerWebhook',
'events ist leer -- ein Endpunkt ohne Ereignis bekaeme nie etwas',
'request',
);
}
final d = await _t.rufen(Aufrufe.createPartnerWebhook, params: <String, dynamic>{
'url': adresse,
'events': events,
'description': beschreibung,
'active': aktiv,
});
final secret = alsTextOderNull(d['secret']);
if (secret == null || secret.isEmpty) {
throw const KasseneckValidationError(
'createPartnerWebhook',
'Antwort enthaelt kein secret -- ohne es laesst sich keine Zustellung pruefen',
'response',
);
}
return NeuerWebhook(webhook: PartnerWebhook.aus(alsMap(d['webhook'])), secret: secret);
}