Webhooks
Ein Webhook schickt Ereignisse an deine URL, etwa sobald eine Zusammenfassung fertig ist. Diese Endpunkte registrieren und verwalten Webhooks.
Jeder Endpunkt unten zeigt in der Mitte seine Parameter und Antwortfelder und rechts ein Anfragebeispiel mit Beispielantwort.
https://api.sally.ioVersion v1.0 aktuell, noch nicht eingefrorenSo funktioniert die VersionierungListet die registrierten Webhooks auf
/v1.0/directories/{directoryId}/webhooksAdmins/Owner sehen alle Webhooks des Unternehmenskontos (persönliche und unternehmensweite); ein normaler Nutzer sieht nur seine eigenen (persönlichen) Webhooks.
Feldübersicht aus der Spezifikation
Jeder Eintrag enthält:
webhookId(string): Id des Webhooks.name(string): Anzeigename des Webhooks.event(string enum): wann der Webhook auslöst.summary.readynach jeder Zusammenfassung,manualnie von selbst (er wird aus dem Meeting oder der Aufnahme heraus gestartet). Webhooks, die vor dem aktuellen Auslösermodell angelegt wurden, können nochrecording.summarizedodermeeting.summarizedmelden; diese beiden lassen sich nicht mehr setzen.url(string): Ziel-URL, an die Sally das Ereignis per POST sendet.isActive(boolean): ob der Webhook aktiv auslöst.directoryWide(boolean): ob der Webhook unternehmensweit auslöst (für Aufnahmen ALLER Nutzer, nur für Admins/Owner) oder persönlich (nur für die eigenen Aufnahmen des Erstellers).createdOn(string): Zeitstempel der Erstellung (ISO-8601).
Pfadparameter
directoryIdstringPflichtId des Unternehmenskontos (des Sally-Firmenkontos), zu dem die Ressource gehört. Die Unternehmenskonten, die ein Token ansprechen kann, listet
GET /v1.0/me/directories/membershipsauf.
Query-Parameter
fieldsstringoptionalKommagetrennte Liste der Felder, die zurückgegeben werden sollen. Lässt du den Parameter weg, bekommst du alle Felder, auch solche, die in Zukunft hinzukommen. Das ist deine Entscheidung: Nenne deine Felder explizit, wenn du davor geschützt sein willst.
Nur Felder der ersten Ebene können angegeben werden. Eine verschachtelte Liste wie
attendees,tagsodersectionItemswird ganz oder gar nicht zurückgegeben;attendees.namewird nicht unterstützt.Bei einer paginierten Antwort gilt die Auswahl für die Einträge in
items;page,pageSize,totalundhasMorewerden immer zurückgegeben. Ein unbekannter Name wird mit 400 abgelehnt statt ignoriert.Hier auswählbar:
createdOn,directoryWide,event,isActive,name,url,webhookId.Beispiel:createdOn,directoryWide
Antwort
webhookIdstringPflichtId des Webhooks.
namestringPflichtAnzeigename des Webhooks.
eventstringPflichtEreignis, bei dem der Webhook auslöst.
Erlaubte Werte:summary.readymanualrecording.summarizedmeeting.summarizedurlstringPflichtZiel-URL, an die Sally das Ereignis per POST sendet.
isActivebooleanPflichtOb der Webhook aktiv auslöst.
directoryWidebooleanPflichtOb der Webhook unternehmensweit auslöst (für Aufnahmen ALLER Nutzer, nur für Admins/Owner) oder persönlich (nur für die eigenen Aufnahmen des Erstellers).
createdOnstringPflichtZeitstempel der Erstellung (ISO-8601).
Statuscodes
- 200Erfolg
- 400
Ungültige Anfrage (Validierungsfehler).
- 401
Fehlender oder ungültiger Bearer-Token.
- 404
Ressource nicht gefunden oder nicht zugänglich.
- 429
Rate-Limit überschritten (pro Token/IP). Transkriptions-Uploads können außerdem den
codeFUP_LIMIT_EXCEEDEDoderTOO_MANY_CONCURRENT_TRANSCRIPTIONSzurückgeben. - 500
Interner Serverfehler.
Registriert einen Webhook (löst nach der Zusammenfassung aus)
/v1.0/directories/{directoryId}/webhooksSally sendet einen POST an die angegebene URL, wenn das Ereignis eintritt (Payload: Zusammenfassung plus Custom Insights plus Abschnittseinträge).
Feldübersicht aus der Spezifikation
Felder im Body:
url(string, Pflicht): der Endpunkt, an den Sally den POST-Request sendet.event(string, optional, Standardsummary.ready):summary.readylöst nach jeder Zusammenfassung aus,manuallöst nie von selbst aus und wird aus dem Meeting oder der Aufnahme heraus gestartet. Das Ereignis, das den Webhook auslöst.name(string, optional): eine Bezeichnung, um den Webhook in der Liste wiederzuerkennen.directoryWide(boolean, optional, Standardfalse):false= persönlicher Webhook, löst nur für die eigenen Aufnahmen des Erstellers aus;true= löst für die Aufnahmen ALLER Nutzer aus (Admins/Ownern vorbehalten).
Pfadparameter
directoryIdstringPflichtId des Unternehmenskontos (des Sally-Firmenkontos), zu dem die Ressource gehört. Die Unternehmenskonten, die ein Token ansprechen kann, listet
GET /v1.0/me/directories/membershipsauf.
Query-Parameter
fieldsstringoptionalKommagetrennte Liste der Felder, die zurückgegeben werden sollen. Lässt du den Parameter weg, bekommst du alle Felder, auch solche, die in Zukunft hinzukommen. Das ist deine Entscheidung: Nenne deine Felder explizit, wenn du davor geschützt sein willst.
Nur Felder der ersten Ebene können angegeben werden. Eine verschachtelte Liste wie
attendees,tagsodersectionItemswird ganz oder gar nicht zurückgegeben;attendees.namewird nicht unterstützt.Bei einer paginierten Antwort gilt die Auswahl für die Einträge in
items;page,pageSize,totalundhasMorewerden immer zurückgegeben. Ein unbekannter Name wird mit 400 abgelehnt statt ignoriert.Hier auswählbar:
createdOn,directoryWide,event,isActive,name,url,webhookId.Beispiel:createdOn,directoryWide
Request-Body application/json
urlstringPflichtBeispiel:https://example.com/sally-webhookeventstringoptionalErlaubte Werte:summary.readymanualBeispiel:summary.readynamestringoptionalBeispiel:Mein CRM-SyncdirectoryWidebooleanoptionalBeispiel:false
Antwort
webhookIdstringPflichtId des Webhooks.
namestringPflichtAnzeigename des Webhooks.
eventstringPflichtEreignis, bei dem der Webhook auslöst.
Erlaubte Werte:summary.readymanualrecording.summarizedmeeting.summarizedurlstringPflichtZiel-URL, an die Sally das Ereignis per POST sendet.
isActivebooleanPflichtOb der Webhook aktiv auslöst.
directoryWidebooleanPflichtOb der Webhook unternehmensweit auslöst (für Aufnahmen ALLER Nutzer, nur für Admins/Owner) oder persönlich (nur für die eigenen Aufnahmen des Erstellers).
createdOnstringPflichtZeitstempel der Erstellung (ISO-8601).
Statuscodes
- 200Erfolg
- 400
Ungültige Anfrage (Validierungsfehler).
- 401
Fehlender oder ungültiger Bearer-Token.
- 403
Verboten (unzureichende Berechtigungen).
- 404
Ressource nicht gefunden oder nicht zugänglich.
- 429
Rate-Limit überschritten (pro Token/IP). Transkriptions-Uploads können außerdem den
codeFUP_LIMIT_EXCEEDEDoderTOO_MANY_CONCURRENT_TRANSCRIPTIONSzurückgeben. - 500
Interner Serverfehler.
Aktualisiert einen Webhook (url, event, name)
/v1.0/directories/{directoryId}/webhooks/{webhookId}Teilweise Aktualisierung: Nur die Felder, die im Body enthalten sind, ändern sich; die anderen bleiben unverändert. Aktivieren/Deaktivieren erfolgt NICHT hier, sondern über die separaten Endpunkte activate/deactivate. Gleiche Berechtigungen wie beim Löschen: Ein normaler Nutzer kann nur seine eigenen (persönlichen) Webhooks ändern; Admins/Owner können jeden Webhook des Unternehmenskontos ändern.
Feldübersicht aus der Spezifikation
Felder im Body:
url(string, optional): neuer HTTPS-Endpunkt, an den Sally POST-Requests sendet.event(string, optional): neues Ereignis, das den Webhook auslöst.name(string, optional): neue Bezeichnung, um den Webhook in der Liste wiederzuerkennen.
Pfadparameter
directoryIdstringPflichtId des Unternehmenskontos (des Sally-Firmenkontos), zu dem die Ressource gehört. Die Unternehmenskonten, die ein Token ansprechen kann, listet
GET /v1.0/me/directories/membershipsauf.webhookIdstringPflichtId des Webhooks.
Query-Parameter
fieldsstringoptionalKommagetrennte Liste der Felder, die zurückgegeben werden sollen. Lässt du den Parameter weg, bekommst du alle Felder, auch solche, die in Zukunft hinzukommen. Das ist deine Entscheidung: Nenne deine Felder explizit, wenn du davor geschützt sein willst.
Nur Felder der ersten Ebene können angegeben werden. Eine verschachtelte Liste wie
attendees,tagsodersectionItemswird ganz oder gar nicht zurückgegeben;attendees.namewird nicht unterstützt.Bei einer paginierten Antwort gilt die Auswahl für die Einträge in
items;page,pageSize,totalundhasMorewerden immer zurückgegeben. Ein unbekannter Name wird mit 400 abgelehnt statt ignoriert.Hier auswählbar:
createdOn,directoryWide,event,isActive,name,url,webhookId.Beispiel:createdOn,directoryWide
Request-Body application/json
urlstringoptionalBeispiel:https://example.com/sally-webhookeventstringoptionalErlaubte Werte:summary.readymanualBeispiel:summary.readynamestringoptionalBeispiel:Mein CRM-Sync
Antwort
webhookIdstringPflichtId des Webhooks.
namestringPflichtAnzeigename des Webhooks.
eventstringPflichtEreignis, bei dem der Webhook auslöst.
Erlaubte Werte:summary.readymanualrecording.summarizedmeeting.summarizedurlstringPflichtZiel-URL, an die Sally das Ereignis per POST sendet.
isActivebooleanPflichtOb der Webhook aktiv auslöst.
directoryWidebooleanPflichtOb der Webhook unternehmensweit auslöst (für Aufnahmen ALLER Nutzer, nur für Admins/Owner) oder persönlich (nur für die eigenen Aufnahmen des Erstellers).
createdOnstringPflichtZeitstempel der Erstellung (ISO-8601).
Statuscodes
- 200Erfolg
- 400
Ungültige Anfrage (Validierungsfehler).
- 401
Fehlender oder ungültiger Bearer-Token.
- 403
Verboten (unzureichende Berechtigungen).
- 404
Ressource nicht gefunden oder nicht zugänglich.
- 429
Rate-Limit überschritten (pro Token/IP). Transkriptions-Uploads können außerdem den
codeFUP_LIMIT_EXCEEDEDoderTOO_MANY_CONCURRENT_TRANSCRIPTIONSzurückgeben. - 500
Interner Serverfehler.
Löscht (deaktiviert) einen Webhook
/v1.0/directories/{directoryId}/webhooks/{webhookId}Weiches Löschen (Soft Delete, active=false) gemäß Sally-Konvention. Ein normaler Nutzer kann nur seine eigenen (persönlichen) Webhooks löschen; Admins/Owner können jeden Webhook des Unternehmenskontos löschen.
Pfadparameter
directoryIdstringPflichtId des Unternehmenskontos (des Sally-Firmenkontos), zu dem die Ressource gehört. Die Unternehmenskonten, die ein Token ansprechen kann, listet
GET /v1.0/me/directories/membershipsauf.webhookIdstringPflichtId des Webhooks.
Statuscodes
- 204Erfolg
- 400
Ungültige Anfrage (Validierungsfehler).
- 401
Fehlender oder ungültiger Bearer-Token.
- 403
Verboten (unzureichende Berechtigungen).
- 404
Ressource nicht gefunden oder nicht zugänglich.
- 429
Rate-Limit überschritten (pro Token/IP). Transkriptions-Uploads können außerdem den
codeFUP_LIMIT_EXCEEDEDoderTOO_MANY_CONCURRENT_TRANSCRIPTIONSzurückgeben. - 500
Interner Serverfehler.
Aktiviert einen Webhook
/v1.0/directories/{directoryId}/webhooks/{webhookId}/activateSetzt einen pausierten Webhook fort, sodass er wieder auslöst. Kein Request-Body. Gleiche Berechtigungen wie beim Löschen: Ein normaler Nutzer kann nur seine eigenen (persönlichen) Webhooks ändern; Admins/Owner können jeden Webhook des Unternehmenskontos ändern. Gibt den aktualisierten Webhook zurück.
Pfadparameter
directoryIdstringPflichtId des Unternehmenskontos (des Sally-Firmenkontos), zu dem die Ressource gehört. Die Unternehmenskonten, die ein Token ansprechen kann, listet
GET /v1.0/me/directories/membershipsauf.webhookIdstringPflichtId des Webhooks.
Query-Parameter
fieldsstringoptionalKommagetrennte Liste der Felder, die zurückgegeben werden sollen. Lässt du den Parameter weg, bekommst du alle Felder, auch solche, die in Zukunft hinzukommen. Das ist deine Entscheidung: Nenne deine Felder explizit, wenn du davor geschützt sein willst.
Nur Felder der ersten Ebene können angegeben werden. Eine verschachtelte Liste wie
attendees,tagsodersectionItemswird ganz oder gar nicht zurückgegeben;attendees.namewird nicht unterstützt.Bei einer paginierten Antwort gilt die Auswahl für die Einträge in
items;page,pageSize,totalundhasMorewerden immer zurückgegeben. Ein unbekannter Name wird mit 400 abgelehnt statt ignoriert.Hier auswählbar:
createdOn,directoryWide,event,isActive,name,url,webhookId.Beispiel:createdOn,directoryWide
Antwort
webhookIdstringPflichtId des Webhooks.
namestringPflichtAnzeigename des Webhooks.
eventstringPflichtEreignis, bei dem der Webhook auslöst.
Erlaubte Werte:summary.readymanualrecording.summarizedmeeting.summarizedurlstringPflichtZiel-URL, an die Sally das Ereignis per POST sendet.
isActivebooleanPflichtOb der Webhook aktiv auslöst.
directoryWidebooleanPflichtOb der Webhook unternehmensweit auslöst (für Aufnahmen ALLER Nutzer, nur für Admins/Owner) oder persönlich (nur für die eigenen Aufnahmen des Erstellers).
createdOnstringPflichtZeitstempel der Erstellung (ISO-8601).
Statuscodes
- 200Erfolg
- 400
Ungültige Anfrage (Validierungsfehler).
- 401
Fehlender oder ungültiger Bearer-Token.
- 403
Verboten (unzureichende Berechtigungen).
- 404
Ressource nicht gefunden oder nicht zugänglich.
- 429
Rate-Limit überschritten (pro Token/IP). Transkriptions-Uploads können außerdem den
codeFUP_LIMIT_EXCEEDEDoderTOO_MANY_CONCURRENT_TRANSCRIPTIONSzurückgeben. - 500
Interner Serverfehler.
Deaktiviert einen Webhook
/v1.0/directories/{directoryId}/webhooks/{webhookId}/deactivatePausiert einen Webhook, ohne ihn zu löschen: Er bleibt in der Liste, löst aber nicht aus, bis er wieder aktiviert wird. Kein Request-Body. Gleiche Berechtigungen wie beim Löschen: Ein normaler Nutzer kann nur seine eigenen (persönlichen) Webhooks ändern; Admins/Owner können jeden Webhook des Unternehmenskontos ändern. Gibt den aktualisierten Webhook zurück.
Pfadparameter
directoryIdstringPflichtId des Unternehmenskontos (des Sally-Firmenkontos), zu dem die Ressource gehört. Die Unternehmenskonten, die ein Token ansprechen kann, listet
GET /v1.0/me/directories/membershipsauf.webhookIdstringPflichtId des Webhooks.
Query-Parameter
fieldsstringoptionalKommagetrennte Liste der Felder, die zurückgegeben werden sollen. Lässt du den Parameter weg, bekommst du alle Felder, auch solche, die in Zukunft hinzukommen. Das ist deine Entscheidung: Nenne deine Felder explizit, wenn du davor geschützt sein willst.
Nur Felder der ersten Ebene können angegeben werden. Eine verschachtelte Liste wie
attendees,tagsodersectionItemswird ganz oder gar nicht zurückgegeben;attendees.namewird nicht unterstützt.Bei einer paginierten Antwort gilt die Auswahl für die Einträge in
items;page,pageSize,totalundhasMorewerden immer zurückgegeben. Ein unbekannter Name wird mit 400 abgelehnt statt ignoriert.Hier auswählbar:
createdOn,directoryWide,event,isActive,name,url,webhookId.Beispiel:createdOn,directoryWide
Antwort
webhookIdstringPflichtId des Webhooks.
namestringPflichtAnzeigename des Webhooks.
eventstringPflichtEreignis, bei dem der Webhook auslöst.
Erlaubte Werte:summary.readymanualrecording.summarizedmeeting.summarizedurlstringPflichtZiel-URL, an die Sally das Ereignis per POST sendet.
isActivebooleanPflichtOb der Webhook aktiv auslöst.
directoryWidebooleanPflichtOb der Webhook unternehmensweit auslöst (für Aufnahmen ALLER Nutzer, nur für Admins/Owner) oder persönlich (nur für die eigenen Aufnahmen des Erstellers).
createdOnstringPflichtZeitstempel der Erstellung (ISO-8601).
Statuscodes
- 200Erfolg
- 400
Ungültige Anfrage (Validierungsfehler).
- 401
Fehlender oder ungültiger Bearer-Token.
- 403
Verboten (unzureichende Berechtigungen).
- 404
Ressource nicht gefunden oder nicht zugänglich.
- 429
Rate-Limit überschritten (pro Token/IP). Transkriptions-Uploads können außerdem den
codeFUP_LIMIT_EXCEEDEDoderTOO_MANY_CONCURRENT_TRANSCRIPTIONSzurückgeben. - 500
Interner Serverfehler.