Edit in GitHubLog an issue

Events Publishing API

Prerequisites

  • Create a project and a workspace in the Adobe Developer Console
  • Add the I/O Management API in this Adobe Developer Console workspace
  • Generate a JWT token
  • Using Adobe I/O Events Provider API
    • create your own Custom Events Provider
    • create at least one Event Metadata associated with the above

Throttling Policy

We do have a throttling policy in place, we accept up to 3,000 requests / 5 secs per api-key. Your throttled requests will receive a HTTP Status 429 (Too Many Requests) response with a Retry-After header, following the RFC 7231 HTTP standard.

Test Drive

Once its Event Metadata is persisted in Adobe I/O Events (see above prerequisites), your Custom Events Provider can start publishing its CloudEvents to Adobe I/O Events publishing endpoint (https://eventsingress.adobe.io).

Please follow CloudEvents v1.0 specification, here is a sample curl command:

Copied to your clipboard
curl -i --location --request POST \
--url https://eventsingress.adobe.io \
--header "x-api-key: $api_key" \
--header "Authorization: Bearer $jwt_token" \
--header 'Content-Type: application/cloudevents+json' \
--data '{
"datacontenttype": "application/json",
"specversion": "1.0",
"source": "urn:uuid:'"${provider_id}"'",
"type": "'"${event_code}"'",
"id": "'"${event_id}"'",
"data": "your event json payload"
}'

The environment variables used in this curl command are computed from the above prerequisites

  • api_key is the api-key associated with your Adobe Developer Console workspace
  • jwt_token is a jwt token generated using the set up from the same workspace
  • provider_id is your Custom Events Provider uuid generated by Adobe I/O Events Provider API
  • event_code is the Custom Events Provider's Event Metadata's event_code as persisted using Adobe I/O Events Provider API
  • event_id is any id of your choice (examples: UUID, event counter) guaranteeing that source + id is unique for each distinct event see CloudEvents spec
  • as for the value of data in the CloudEvents body payload, it can be any json payload.

The API returns

  • HTTP Status 200 (OK) if the event has been processed correctly and there are active registrations for the event,
  • HTTP Status 204 (No Content) if there are no registrations for the event,
  • HTTP Status 429 (Too Many Requests) if your api-key is being throttled (see our Throttling Policy).
  • as well as the usual (4xx/5xx) error codes if there was an issue in processing the request.
  • Privacy
  • Terms of Use
  • Do not sell or share my personal information
  • AdChoices
Copyright © 2024 Adobe. All rights reserved.