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
- create your own
Please note that all custom events are stored in the United States (US) region.
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 clipboardcurl -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 workspacejwt_token
is a jwt token generated using the set up from the same workspaceprovider_id
is yourCustom Events Provider
uuid generated by Adobe I/O Events Provider APIevent_code
is theCustom Events Provider
'sEvent Metadata
'sevent_code
as persisted using Adobe I/O Events Provider APIevent_id
is any id of your choice (examples: UUID, event counter) guaranteeing thatsource + 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.