Callback-Endpunkt

Ein Callback ist eine Nachricht, die die Reactor-API an eine bestimmte URL sendet (normalerweise eine, die von Ihrer Organisation gehostet wird).

Callbacks sind dazu gedacht, in Verbindung mit Audit-Ereignissen verwendet zu werden, um Aktivitäten in der Reactor-API zu verfolgen. Jedes Mal, wenn ein Audit-Ereignis eines bestimmten Typs erzeugt wird, kann ein Callback eine passende Nachricht an die angegebene URL senden.

Der Service hinter der im Callback angegebenen URL muss mit dem HTTP-Status-Code 200 (OK) oder 201 (Erstellt) antworten. Wenn der Service nicht mit einem dieser Status-Codes antwortet, wird die Nachrichtenzustellung in den folgenden Abständen erneut versucht:

  • 1 Minute
  • 5 Minuten
  • 30 Minuten
  • 1 Stunde
  • 12 Stunden
  • 1 Tag
  • 3 Tage
HINWEIS

Wiederholungsintervalle sind relativ zum vorherigen Intervall. Wenn z. B. der Wiederholungsversuch nach einer Minute fehlschlägt, wird der nächste Versuch für fünf Minuten nach dem fehlgeschlagenen einminütigen Versuch geplant (sechs Minuten, nachdem die Nachricht generiert wurde).

Wenn alle Zustellversuche erfolglos sind, wird die Nachricht verworfen.

Ein Callback gehört zu genau einer Eigenschaft. Eine Eigenschaft kann viele Callbacks haben.

Erste Schritte

Der in diesem Handbuch verwendete Endpunkt ist Teil der Reactor-API. Bevor Sie fortfahren, lesen Sie zunächst das Erste-Schritte-Handbuch, um wichtige Informationen zur Authentifizierung bei der API zu erhalten.

Auflisten von Callbacks

Sie können alle Callbacks unter einer Eigenschaft auflisten, indem Sie eine GET-Anfrage stellen.

API-Format

GET  /properties/{PROPERTY_ID}/callbacks
Parameter Beschreibung
{PROPERTY_ID} Die id der Eigenschaft, deren Callbacks Sie auflisten möchten.
HINWEIS

Mithilfe von Abfrageparametern können die aufgelisteten Callbacks anhand der folgenden Attribute gefiltert werden:

  • created_at
  • updated_at
Weiterführende Informationen finden Sie im Handbuch zum Filtern von Antworten.

Anfrage

curl -X GET \
  https://reactor.adobe.io/properties/PR66a3356c73fc4aabb67ee22caae53d70/callbacks \
  -H 'Authorization: Bearer {ACCESS_TOKEN}' \
  -H 'x-api-key: {API_KEY}' \
  -H 'x-gw-ims-org-id: {IMS_ORG}' \
  -H "Content-Type: application/vnd.api+json" \
  -H 'Accept: application/vnd.api+json;revision=1'

Antwort

Eine erfolgreiche Antwort gibt eine Liste von Callbacks für die angegebene Eigenschaft zurück.

{
  "data": [
    {
      "id": "CB26edef8d709243579589107bcda034da",
      "type": "callbacks",
      "attributes": {
        "created_at": "2020-12-14T17:34:47.082Z",
        "subscriptions": [
          "rule.created"
        ],
        "updated_at": "2020-12-14T17:34:47.082Z",
        "url": "https://www.example.com"
      },
      "relationships": {
        "property": {
          "links": {
            "related": "https://reactor.adobe.io/callbacks/CB26edef8d709243579589107bcda034da/property"
          },
          "data": {
            "id": "PR66a3356c73fc4aabb67ee22caae53d70",
            "type": "properties"
          }
        }
      },
      "links": {
        "property": "https://reactor.adobe.io/properties/PR66a3356c73fc4aabb67ee22caae53d70",
        "self": "https://reactor.adobe.io/callbacks/CB26edef8d709243579589107bcda034da"
      }
    }
  ],
  "meta": {
    "pagination": {
      "current_page": 1,
      "next_page": null,
      "prev_page": null,
      "total_pages": 1,
      "total_count": 1
    }
  }
}

Suchen eines Callbacks

Sie können einen Callback suchen, indem Sie seine ID im Pfad einer GET-Anfrage angeben.

API-Format

GET /callbacks/{CALLBACK_ID}
Parameter Beschreibung
CALLBACK_ID Die id des Callbacks, den Sie suchen möchten.

Anfrage

curl -X GET \
  https://reactor.adobe.io/callbacks/CBeef389cee8d84e69acef8665e4dcbef6 \
  -H 'Authorization: Bearer {ACCESS_TOKEN}' \
  -H 'x-api-key: {API_KEY}' \
  -H 'x-gw-ims-org-id: {IMS_ORG}' \
  -H "Content-Type: application/vnd.api+json" \
  -H 'Accept: application/vnd.api+json;revision=1'

Antwort

Eine erfolgreiche Antwort gibt die Details des Callbacks zurück.

{
  "data": {
    "id": "CBeef389cee8d84e69acef8665e4dcbef6",
    "type": "callbacks",
    "attributes": {
      "created_at": "2020-12-14T17:34:36.872Z",
      "subscriptions": [
        "rule.created"
      ],
      "updated_at": "2020-12-14T17:34:36.872Z",
      "url": "https://www.example.com"
    },
    "relationships": {
      "property": {
        "links": {
          "related": "https://reactor.adobe.io/callbacks/CBeef389cee8d84e69acef8665e4dcbef6/property"
        },
        "data": {
          "id": "PRb513bbab52114573ac87f9848eea6ead",
          "type": "properties"
        }
      }
    },
    "links": {
      "property": "https://reactor.adobe.io/properties/PRb513bbab52114573ac87f9848eea6ead",
      "self": "https://reactor.adobe.io/callbacks/CBeef389cee8d84e69acef8665e4dcbef6"
    }
  }
}

Erstellen eines Callbacks

Sie können einen neuen Callback erstellen, indem Sie eine POST-Anfrage stellen.

API-Format

POST /properties/{PROPERTY_ID}/callbacks
Parameter Beschreibung
PROPERTY_ID Die id der Eigenschaft, unter der Sie den Callback definieren.

Anfrage

curl -X POST \
  https://reactor.adobe.io/properties/PR5e22de986a7c4070965e7546b2bb108d/callbacks \
  -H 'Authorization: Bearer {ACCESS_TOKEN}' \
  -H 'x-api-key: {API_KEY}' \
  -H 'x-gw-ims-org-id: {IMS_ORG}' \
  -H 'Content-Type: application/json' \
  -d '{
        "data": {
          "attributes": {
            "url": "https://www.example.com",
            "subscriptions": [
              "rule.created"
            ]
          }
        }
      }'
Eigenschaft Beschreibung
url Das URL-Ziel für die Callback-Nachricht. Die URL muss die HTTPS-Protokollerweiterung verwenden.
subscriptions Ein Array von Strings, das die Audit-Ereignistypen angibt, die den Callback auslösen werden. Eine Liste der möglichen Ereignistypen finden Sie im Handbuch zum audit events-Endpunkt.

Antwort

Eine erfolgreiche Antwort gibt die Details des neu erstellten Callbacks zurück.

{
  "data": {
    "id": "CB32d8f23d5ee548278d32076af4c442a0",
    "type": "callbacks",
    "attributes": {
      "created_at": "2020-12-14T17:34:27.059Z",
      "subscriptions": [
        "rule.created"
      ],
      "updated_at": "2020-12-14T17:34:27.059Z",
      "url": "https://www.example.com"
    },
    "relationships": {
      "property": {
        "links": {
          "related": "https://reactor.adobe.io/callbacks/CB32d8f23d5ee548278d32076af4c442a0/property"
        },
        "data": {
          "id": "PR5e22de986a7c4070965e7546b2bb108d",
          "type": "properties"
        }
      }
    },
    "links": {
      "property": "https://reactor.adobe.io/properties/PR5e22de986a7c4070965e7546b2bb108d",
      "self": "https://reactor.adobe.io/callbacks/CB32d8f23d5ee548278d32076af4c442a0"
    }
  }
}

Aktualisieren eines Callbacks

Sie können einen Callback aktualisieren, indem Sie seine ID im Pfad einer PUT-Anfrage angeben.

API-Format

PUT /callbacks/{CALLBACK_ID}
Parameter Beschreibung
CALLBACK_ID Die id des Callbacks, den Sie aktualisieren möchten.

Anfrage

Die folgende Anfrage aktualisiert das subscriptions-Array für einen vorhandenen Callback.

curl -X PUT \
  https://reactor.adobe.io/callbacks/CB4310904d415549888cc9e31ebe1e1e45 \
  -H 'Authorization: Bearer {ACCESS_TOKEN}' \
  -H 'x-api-key: {API_KEY}' \
  -H 'x-gw-ims-org-id: {IMS_ORG}' \
  -H 'Content-Type: application/json' \
  -d '{
        "data": {
          "attributes": {
            "subscriptions": [
              "rule.created",
              "build.created"
            ]
          },
          "type": "callbacks",
          "id": "CB4310904d415549888cc9e31ebe1e1e45"
        }
      }'
Eigenschaft Beschreibung
attributes Ein Objekt, dessen Eigenschaften die zu aktualisierenden Attribute für den Callback darstellen. Jeder Schlüssel steht für das jeweilige Callback-Attribut, das aktualisiert werden soll, zusammen mit dem entsprechenden Wert, auf den es aktualisiert werden soll.

Die folgenden Attribute können für Callbacks aktualisiert werden:
  • subscriptions
  • url
id Die id des Callbacks, den Sie aktualisieren möchten. Diese sollte mit dem {CALLBACK_ID}-Wert übereinstimmen, der im Anfragepfad angegeben ist.
type Der Typ der zu aktualisierenden Ressource. Für diesen Endpunkt muss der Wert callbacks lauten.

Antwort

Eine erfolgreiche Antwort gibt die Details des aktualisierten Callbacks zurück.

{
  "data": {
    "id": "CB4310904d415549888cc9e31ebe1e1e45",
    "type": "callbacks",
    "attributes": {
      "created_at": "2020-12-14T17:34:56.884Z",
      "subscriptions": [
        "rule.created",
        "build.created"
      ],
      "updated_at": "2020-12-14T17:34:57.614Z",
      "url": "https://www.example.net"
    },
    "relationships": {
      "property": {
        "links": {
          "related": "https://reactor.adobe.io/callbacks/CB4310904d415549888cc9e31ebe1e1e45/property"
        },
        "data": {
          "id": "PR0a8ef3ca31dc456a8566e9288960bd79",
          "type": "properties"
        }
      }
    },
    "links": {
      "property": "https://reactor.adobe.io/properties/PR0a8ef3ca31dc456a8566e9288960bd79",
      "self": "https://reactor.adobe.io/callbacks/CB4310904d415549888cc9e31ebe1e1e45"
    }
  }
}

Löschen eines Callbacks

Sie können einen Callback löschen, indem Sie seine ID im Pfad einer DELETE-Anfrage angeben.

API-Format

DELETE /callbacks/{CALLBACK_ID}
Parameter Beschreibung
CALLBACK_ID Die id des Callbacks, den Sie löschen möchten.

Anfrage

curl -X DELETE \
  https://reactor.adobe.io/callbacks/CB4310904d415549888cc9e31ebe1e1e45 \
  -H 'Authorization: Bearer {ACCESS_TOKEN}' \
  -H 'x-api-key: {API_KEY}' \
  -H 'x-gw-ims-org-id: {IMS_ORG}'

Antwort

Eine erfolgreiche Antwort gibt den HTTP-Status 204 (Kein Inhalt) ohne Antworttext zurück und zeigt damit an, dass der Callback gelöscht wurde.

Auf dieser Seite