Funktionsweise
Automatisierung erstellen
POST /automations mit den gewünschten Triggern und Aktionen. Die Automatisierung wird sofort aktiviert.Ein Endnutzer interagiert
Ayrshare gleicht ab und versendet
Prüfen, was ausgelöst wurde
GET /automations/:id/activity gibt das Audit-Log zurück – jeden Versendungsversuch, die Ergebnisse pro Aktion und etwaige Fehler.Trigger
Sie können einer Automatisierung bis zu 50 Trigger hinzufügen. Jeder Trigger ist eine Discriminated Union über das Feldtype; typspezifische Felder befinden sich auf derselben Ebene. Alle Trigger sind in v1 ausschließlich für Instagram verfügbar.
storyId bei einem Story-Trigger weg, um bei jeder Story des verbundenen Kontos auszulösen.
Aktionen
Sie können einer Automatisierung bis zu 50 Aktionen hinzufügen. Sie werden sequentiell ausgeführt; jedes Ergebnis wird in der Activity-Zeile festgehalten.Dedup-Fenster pro Aktion
Jede Aktion – unabhängig vom Typ – akzeptiert zusätzlich ein optionales FelddedupWindowMinutes auf oberster Ebene, das das standardmäßige 7-Tage-Dedup-Fenster pro Empfänger nur für diese Aktion überschreibt.
- Setzen Sie den Wert auf
0, um die Deduplizierung für diese Aktion vollständig zu deaktivieren (üblich beifire_webhook/send_email, wenn der Empfänger jedes Ereignis erwartet). - Auf
525600(ein Jahr) begrenzt.
fire_webhook payload
Wenn fire_webhook ausgeführt wird, sendet es einen JSON-Body per POST an Ihre Webhook-URL auf Kontoebene:
recipientUsername und keyword sind null, wenn der Trigger sie nicht befüllt (z. B. enthält dm_keyword in der Meta-Payload keinen Benutzernamen; story_reply hat kein Schlüsselwort).
Template-Variablen
send_dm.message, send_email.subject und send_email.message unterstützen {{placeholder}}-Substitution. Unbekannte Platzhalter werden beim Erstellen/Aktualisieren abgelehnt (als Validierungsfehler 473), sodass ein Tippfehler nie unbemerkt das wörtliche {{foo}} in eine an Kunden gerichtete Nachricht durchsickern lässt.
sender_email / recipient_email. Diese werden bewusst nicht bereitgestellt – Ihre Abrechnungs-E-Mail hat in einer DM an einen Fremden nichts zu suchen, und Meta liefert die E-Mail-Adresse des Empfängers in keinem IG-Webhook. Der Verzicht auf die Platzhalter verhindert eine versehentliche Offenlegung.Ratenlimits und Obergrenzen
POST (Erstellung) als auch bei PUT-Reaktivierung (active: false → true) durchgesetzt und liefert jeweils den Fehlercode 470. Benötigen Sie ein höheres Limit pro Profil? Kontaktieren Sie den Support, um es für Ihr Konto anheben zu lassen.
Das tägliche DM-Limit gilt pro übergeordnetem Ayrshare-Konto und wird über alle Ihre Profile hinweg geteilt, mit einem Unterlimit pro Profil, sodass ein besonders aktives Profil das Kontingent des gesamten Kontos nicht aufbrauchen kann. Wird ein DM-Limit erreicht, erhält die Activity-Zeile den Status rate_limited und es wird keine DM gesendet.
Strukturelle Obergrenzen einer einzelnen Automatisierung: 1–50 Trigger, 1–50 Aktionen.
Instagram selbst begrenzt DMs auf etwa 200/Stunde pro Konto. Die Engine drosselt den Versand mit einem Jitter von 20–60 Sekunden, um sicher unter diesem Wert zu bleiben.
Activity-Status
Eine Zeile inGET /automations/:id/activity enthält einen status auf oberster Ebene sowie einen status pro Aktion innerhalb von actionResults[]:
pending und in_flight sind temporär; alles andere ist terminal.
Fehlercodes
Die API gibt zwei Fehlerformen zurück:- Business-Regel-Fehler tragen einen nummerierten Automatisierungs-
code(z. B.{ "action": "automation", "code": 469, ... }). - Validierungsfehler – jeder fehlerhafte Request-Body (fehlende oder ungültige Felder, unbekannte Template-Variablen, unbekannte Schlüssel) – werden als einzelne
473-Antwort mit einemdetails-Objekt zurückgegeben, das die beanstandeten Felder auflistet.detailsist die Ausgabe des Validators (formErrorssowiefieldErrors). Verzweigen Sie anhand vondetails, nicht anhand eines bedingungsspezifischen Codes. InfieldErrorssind die Schlüssel die Top-Level-Request-Felder (triggers,actions): Ein Problem innerhalb eines bestimmten Eintrags, etwa ein Trigger ohnekeywords, wird unter diesem Feld (z. B.triggers) gemeldet, währendformErrorsProbleme auf Objektebene wie unbekannte Schlüssel enthält.
Was Meta NICHT erlaubt
Einige häufig nachgefragte Funktionen werden nicht unterstützt, weil Meta sie in der öffentlichen Instagram-API nicht zulässt:- Auto-DM bei neuen Followern. Instagram veröffentlicht keinen Follow-Webhook.
- Erstnachrichten-DMs an Fremde. Meta verlangt, dass der Empfänger den Kontakt zuerst aufnimmt (Kommentar, Antwort, DM, Reaktion), bevor ein Business-Konto ihm eine Nachricht senden darf – genau das repräsentiert jeder hier unterstützte Trigger.
- Bulk-Outbound-Kampagnen. Stündliche DM-Limits und Anti-Missbrauch-Heuristiken gelten auf Plattformebene.
Nutzung mit mehreren Profilen
Die Endpunkte berücksichtigen den HeaderprofileKey. Übergeben Sie den Schlüssel eines untergeordneten Profils, und die Automatisierung wird unter diesem Profil erstellt/verwaltet. Ratenlimits werden über ein Unterlimit pro Profil auf die Profile aufgeteilt, sodass ein besonders gesprächiges Profil das Kontingent des übergeordneten Kontos nicht aufbraucht.
FAQ
Kann ich bei einem neuen Follower auslösen?
Kann ich bei einem neuen Follower auslösen?
comment_keyword, story_reply, dm_reaction, dm_keyword) erfüllt die Anforderung „Nutzer hat Sie zuerst kontaktiert”.Was passiert, wenn mein Access-Token beim Auslösen einer Automatisierung ungültig ist?
Was passiert, wenn mein Access-Token beim Auslösen einer Automatisierung ungültig ist?
auth_error und die DM wird nicht wiederholt. Verknüpfen Sie das Konto erneut; das nächste passende Engagement wird dann normal ausgelöst.Warum gibt es eine Verzögerung, bevor die DM gesendet wird?
Warum gibt es eine Verzögerung, bevor die DM gesendet wird?
send_dm-Versand wird 20–60 Sekunden nach dem Engagement geplant, damit er für die Anti-Spam-Systeme von Instagram organisch wirkt. Die Aktionen fire_webhook und send_email haben KEINEN Jitter. Der created-Zeitstempel der Activity-Zeile entspricht dem Zeitpunkt des Trigger-Matches; completedAt entspricht dem Abschluss des Versands.Werden Activity-Zeilen dauerhaft aufbewahrt?
Werden Activity-Zeilen dauerhaft aufbewahrt?
GET /automations/:id/activity gibt aus Performance-Gründen Zeilen der letzten 30 Tage zurück. (Der Dedup-Schutz nutzt sein eigenes Fenster pro Aktion – standardmäßig 7 Tage – das mit dem Activity-Rückblick nichts zu tun hat.)Entfernt das Löschen einer Automatisierung deren Activity-Historie?
Entfernt das Löschen einer Automatisierung deren Activity-Historie?
deleted markiert, es werden keine neuen Versendungen ausgeführt, aber historische Activity-Zeilen bleiben über den Activity-Endpunkt lesbar.Endpunkte
POST /automations– eine neue Automatisierung erstellenGET /automations– Ihre Automatisierungen auflistenGET /automations/:id– eine Automatisierung mit ihren Triggern und Aktionen abrufenPUT /automations/:id– Teilaktualisierung; überactive: falsepausierenDELETE /automations/:id– Soft-DeleteGET /automations/:id/activity– cursor-paginiertes Versand-Audit-Log
