پرش به مستندات
API

رویدادها

هر عملیات در این گروه: آنچه می‌پذیرد، آنچه برمی‌گرداند و خطاهایی که ممکن است با آن‌ها پاسخ دهد.

عملیات‌ها

Things your contacts did, sent by your own code: an order placed, a trial started, a plan changed. An event is stored against the contact for 90 days. It starts every live automation whose trigger names it, ends a wait step that was waiting for it, and can be read by a branch.

Send one with POST /events or up to 100 with POST /events/batch. Both take an Idempotency-Key header, so a retry never records an event twice. A key or an app may send 600 events a minute. Sending needs contacts:write and reading the events of a contact needs contacts:read.

POST/events

Send a contact event

محدوده‌های دسترسیcontacts:writeایمیل می‌فرستد
از Idempotency-Key پشتیبانی می‌کند

Records that something happened to one contact, named by email or contactId. Every live automation whose trigger is this event name, and whose filters match properties, takes the contact in, and any wait step holding out for the name moves on. enrolled and resumed say what it set off.

An address nobody has saved is a 404 unless createContact is true, which adds it to the contacts first. An event sent with a test key is stored with mode test and starts nothing. A key or an app may send 600 events a minute.

Requires the contacts:write scope.

سرآیندها

Idempotency-Keystring

Makes a retry safe. The same key with the same event returns the stored event with replayed true and starts nothing again. The same key with a different event is a 422 idempotency_key_reuse.

تا 255 نویسه

بدنهٔ درخواست

namestringالزامی

What happened, such as order.placed: 1 to 100 letters, digits, dots, colons, dashes and underscores, starting with a letter or a digit. Names are matched exactly, case included.

1 تا 100 نویسه
emailstring

The contact the event is about, by email address. Send this or contactId.

تا 320 نویسهقالبemail
contactIdstring

The contact the event is about, by id. Send this or email.

1 تا 64 نویسه
propertiesRecord<string, any>

Anything worth keeping about the event, as a JSON object of at most 50 keys and 4 KB. An event trigger can filter on these, and steps can put them in an email or a contact field.

occurredAtstring

When it happened, as an ISO 8601 instant. Left out, it is now. It cannot be in the future or more than 90 days ago.

قالبdate-time
createContactboolean

Add the address to the contacts when nobody has it yet. It needs email. Left out or false, an unknown address is a 404 contact_not_found.

contactNamestring

The name to give a contact that createContact adds.

تا 200 نویسه

خروجی

A replay: the event this Idempotency-Key stored before.

Recorded.

خطاها

404

contact_not_found when nobody has that address or id and createContact is not true.

422

invalid_event when the name, the properties or occurredAt break a rule or no contact is named, invalid_parameter or unknown_parameter for a body of the wrong shape, or idempotency_key_reuse when the key was already used for a different event.

429

event_rate_limited: more events in a minute than the key or app may send.

خطاهایی که هر عملیاتی ممکن است برگرداند400401403500فهرست خطاها

همچنین در دسترس در

TypeScript
events.send()
Python
events.send()
Ruby
events.send
PHP
events->send
Go
Events.Send
Java
events().send
C#
Events.SendAsync
CLI
openemail events send

POST/events/batch

Send contact events in a batch

محدوده‌های دسترسیcontacts:writeایمیل می‌فرستد
از Idempotency-Key پشتیبانی می‌کند

Records up to 100 events in one call, each handled exactly as POST /events handles one, in order. One event failing does not stop the rest: accepted holds the ones that were stored and failed the ones that were not, each with the index it had in the request. A body of the wrong shape is refused whole. The batch counts as that many events toward the 600 a minute a key or an app may send.

Requires the contacts:write scope.

سرآیندها

Idempotency-Keystring

Makes a retry of the whole batch safe. Each event is remembered under the key and its position, so resend the same events in the same order.

تا 255 نویسه

بدنهٔ درخواست

eventsobject[]الزامی

The events, 1 to 100 of them, each in the shape a single event takes.

1 تا 100 مورد
namestringالزامی

What happened, such as order.placed: 1 to 100 letters, digits, dots, colons, dashes and underscores, starting with a letter or a digit. Names are matched exactly, case included.

1 تا 100 نویسه
emailstring

The contact the event is about, by email address. Send this or contactId.

تا 320 نویسهقالبemail
contactIdstring

The contact the event is about, by id. Send this or email.

1 تا 64 نویسه
propertiesRecord<string, any>

Anything worth keeping about the event, as a JSON object of at most 50 keys and 4 KB. An event trigger can filter on these, and steps can put them in an email or a contact field.

occurredAtstring

When it happened, as an ISO 8601 instant. Left out, it is now. It cannot be in the future or more than 90 days ago.

قالبdate-time
createContactboolean

Add the address to the contacts when nobody has it yet. It needs email. Left out or false, an unknown address is a 404 contact_not_found.

contactNamestring

The name to give a contact that createContact adds.

تا 200 نویسه

خروجی

What was stored and what was not.

خطاها

422

invalid_parameter or unknown_parameter for a body of the wrong shape, with param naming the event and the field, such as events.3.name.

429

event_rate_limited: the batch would pass the events a minute the key or app may send. Nothing was stored.

خطاهایی که هر عملیاتی ممکن است برگرداند400401403404500فهرست خطاها

همچنین در دسترس در

TypeScript
events.sendBatch()
Python
events.send_batch()
Ruby
events.send_batch
PHP
events->sendBatch
Go
Events.SendBatch
Java
events().sendBatch
C#
Events.SendBatchAsync
CLI
openemail events send-batch

GET/events/names

List the event names in use

محدوده‌های دسترسیautomations:readمی‌خواند

The distinct names of the events the workspace holds, in byte order, at most 100. It is what the app suggests when somebody picks the event that starts an automation. Events are kept for 90 days, so a name nothing has sent in that time is gone.

Requires the automations:read scope.

خروجی

خطاها

خطاهایی که هر عملیاتی ممکن است برگرداند400401403404422500فهرست خطاها

همچنین در دسترس در

TypeScript
events.listNames()
Python
events.list_names()
Ruby
events.list_names
PHP
events->listNames
Go
Events.ListNames
Java
events().listNames
C#
Events.ListNamesAsync
CLI
openemail events list-names
MCP
listContactEventNames

GET/contacts/{email}/events

List the events of a contact

محدوده‌های دسترسیcontacts:readمی‌خواند

The events recorded for one contact in the last 90 days, the most recent first by when they happened. An app a member connected reads only the contacts that member added.

Requires the contacts:read scope.

پارامترهای مسیر

emailstringالزامی

The contact, by email address, compared without case. The contactId an event or an enrollment carries works here too.

پارامترهای کوئری

namestring

Only events with exactly this name.

1 تا 100 نویسه
limitinteger

Rows per page, 1 to 200.

دست‌کم 1حداکثر 200پیش‌فرض50
cursorstring

The id of the last event on the previous page. Keyset, not offset: pass the previous page's nextCursor. One that names nothing in this list is a 400 invalid_cursor.

خروجی

A page of events.

خطاها

404

contact_not_found when nobody you can reach has that address or id.

خطاهایی که هر عملیاتی ممکن است برگرداند400401403422500فهرست خطاها

همچنین در دسترس در

TypeScript
contacts.listEvents()contacts.listAllEvents()contacts.iterateEvents()
Python
contacts.list_events()contacts.list_all_events()contacts.iterate_events()
Ruby
contacts.list_eventscontacts.list_all_eventscontacts.iterate_events
PHP
contacts->listEventscontacts->listAllEventscontacts->iterateEvents
Go
Contacts.ListEventsContacts.ListAllEventsContacts.IterateEvents
Java
contacts().listEventscontacts().listAllEventscontacts().iterateEvents
C#
Contacts.ListEventsAsyncContacts.ListAllEventsAsyncContacts.IterateEventsAsync
CLI
openemail contacts list-events
MCP
listContactEvents

اشیا

ContactEventobject

objectstringالزامی
یکی از"contact_event"
idstringالزامی

The id of the event.

contactIdstringالزامی

The id of the contact it is about.

emailstringالزامی

The address of that contact.

قالبemail
namestringالزامی

What happened, as it was sent.

propertiesobjectالزامی

The properties the event was sent with. Empty when it had none.

occurredAtstringالزامی

When it happened.

قالبdate-time
modestringالزامی

test when a test key sent it. A test event is stored and starts or resumes nothing.

یکی از"live""test"
createdAtstringالزامی

When OpenEmail received it.

قالبdate-time

ContactEventBatchobject

objectstringالزامی
یکی از"contact_event_batch"
acceptedobject[]الزامی

The events that were stored, in the order they were sent.

objectstringالزامی
یکی از"contact_event"
idstringالزامی

The id of the event.

contactIdstringالزامی

The id of the contact it is about.

emailstringالزامی

The address of that contact.

قالبemail
namestringالزامی

What happened, as it was sent.

propertiesobjectالزامی

The properties the event was sent with. Empty when it had none.

occurredAtstringالزامی

When it happened.

قالبdate-time
modestringالزامی

test when a test key sent it. A test event is stored and starts or resumes nothing.

یکی از"live""test"
createdAtstringالزامی

When OpenEmail received it.

قالبdate-time
replayedbooleanالزامی

True when this Idempotency-Key was used before and the stored event is returned, with nothing started again.

enrolledstring[]الزامی

The ids of the automations the event put the contact into.

resumedintegerالزامی

How many waits for this event it ended, across every automation the contact is in.

دست‌کم 0
indexintegerالزامی

Where the event sat in the request, from 0.

دست‌کم 0
failedobject[]الزامی

The events that were not stored.

indexintegerالزامی

Where the event sat in the request, from 0.

دست‌کم 0
codestringالزامی

Why, as the single call would answer: invalid_event, contact_not_found or idempotency_key_reuse.

messagestringالزامی

The same in a sentence.

ContactEventListobject

objectstring
یکی از"list"
hasMoreboolean

True when another page follows. Pass nextCursor back as cursor to read it.

nextCursorstring

The id of the last row on this page, or null on the last page.

می‌تواند null باشد

ContactEventNameobject

objectstringالزامی
یکی از"contact_event_name"
namestringالزامی

An event name the workspace holds events for.

ContactEventResultobject

objectstringالزامی
یکی از"contact_event"
idstringالزامی

The id of the event.

contactIdstringالزامی

The id of the contact it is about.

emailstringالزامی

The address of that contact.

قالبemail
namestringالزامی

What happened, as it was sent.

propertiesobjectالزامی

The properties the event was sent with. Empty when it had none.

occurredAtstringالزامی

When it happened.

قالبdate-time
modestringالزامی

test when a test key sent it. A test event is stored and starts or resumes nothing.

یکی از"live""test"
createdAtstringالزامی

When OpenEmail received it.

قالبdate-time
replayedbooleanالزامی

True when this Idempotency-Key was used before and the stored event is returned, with nothing started again.

enrolledstring[]الزامی

The ids of the automations the event put the contact into.

resumedintegerالزامی

How many waits for this event it ended, across every automation the contact is in.

دست‌کم 0