Etkinlikler
Bu gruptaki her işlem: neyi kabul ettiği, ne döndürdüğü ve hangi hatalarla yanıt verebileceği.
İşlemler
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
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.
Başlıklar
Idempotency-KeystringMakes a retry safe. The same key with the same event returns the stored event with
replayedtrue and starts nothing again. The same key with a different event is a 422idempotency_key_reuse.En çok 255 karakter
İstek gövdesi
namestringZorunluWhat 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 ile 100 karakter arasıemailstringThe contact the event is about, by email address. Send this or
contactId.En çok 320 karakterBiçimemailcontactIdstringThe contact the event is about, by id. Send this or
email.1 ile 64 karakter arası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.
occurredAtstringWhen it happened, as an ISO 8601 instant. Left out, it is now. It cannot be in the future or more than 90 days ago.
Biçimdate-timecreateContactbooleanAdd the address to the contacts when nobody has it yet. It needs
email. Left out or false, an unknown address is a 404contact_not_found.contactNamestringThe name to give a contact that
createContactadds.En çok 200 karakter
Döndürür
A replay: the event this Idempotency-Key stored before.
Recorded.
Hatalar
- 404
contact_not_foundwhen nobody has that address or id andcreateContactis not true.- 422
invalid_eventwhen the name, the properties oroccurredAtbreak a rule or no contact is named,invalid_parameterorunknown_parameterfor a body of the wrong shape, oridempotency_key_reusewhen 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.
Her işlemin döndürebileceği hatalar400401403500Hata kataloğu
Şurada da var
- 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
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.
Başlıklar
Idempotency-KeystringMakes 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.
En çok 255 karakter
İstek gövdesi
eventsobject[]ZorunluThe events, 1 to 100 of them, each in the shape a single event takes.
1 ile 100 arası öğenamestringZorunluWhat 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 ile 100 karakter arasıemailstringThe contact the event is about, by email address. Send this or
contactId.En çok 320 karakterBiçimemailcontactIdstringThe contact the event is about, by id. Send this or
email.1 ile 64 karakter arası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.
occurredAtstringWhen it happened, as an ISO 8601 instant. Left out, it is now. It cannot be in the future or more than 90 days ago.
Biçimdate-timecreateContactbooleanAdd the address to the contacts when nobody has it yet. It needs
email. Left out or false, an unknown address is a 404contact_not_found.contactNamestringThe name to give a contact that
createContactadds.En çok 200 karakter
Döndürür
What was stored and what was not.
Hatalar
- 422
invalid_parameterorunknown_parameterfor a body of the wrong shape, withparamnaming the event and the field, such asevents.3.name.- 429
event_rate_limited: the batch would pass the events a minute the key or app may send. Nothing was stored.
Her işlemin döndürebileceği hatalar400401403404500Hata kataloğu
Şurada da var
GET/events/names
List the event names in use
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.
Döndürür
The names.
Hatalar
Her işlemin döndürebileceği hatalar400401403404422500Hata kataloğu
Şurada da var
GET/contacts/{email}/events
List the events of a contact
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.
Yol parametreleri
emailstringZorunluThe contact, by email address, compared without case. The
contactIdan event or an enrollment carries works here too.
Sorgu parametreleri
namestringOnly events with exactly this name.
1 ile 100 karakter arasılimitintegerRows per page, 1 to 200.
En az 1En çok 200Varsayılan50cursorstringThe 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 400invalid_cursor.
Döndürür
A page of events.
Hatalar
- 404
contact_not_foundwhen nobody you can reach has that address or id.
Her işlemin döndürebileceği hatalar400401403422500Hata kataloğu
Şurada da var
- 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
Nesneler
ContactEventobject
objectstringZorunlu- Şunlardan biri
"contact_event" idstringZorunluThe id of the event.
contactIdstringZorunluThe id of the contact it is about.
emailstringZorunluThe address of that contact.
BiçimemailnamestringZorunluWhat happened, as it was sent.
propertiesobjectZorunluThe properties the event was sent with. Empty when it had none.
occurredAtstringZorunluWhen it happened.
Biçimdate-timemodestringZorunlutestwhen a test key sent it. A test event is stored and starts or resumes nothing.Şunlardan biri"live""test"createdAtstringZorunluWhen OpenEmail received it.
Biçimdate-time
ContactEventBatchobject
objectstringZorunlu- Şunlardan biri
"contact_event_batch" acceptedobject[]ZorunluThe events that were stored, in the order they were sent.
objectstringZorunlu- Şunlardan biri
"contact_event" idstringZorunluThe id of the event.
contactIdstringZorunluThe id of the contact it is about.
emailstringZorunluThe address of that contact.
BiçimemailnamestringZorunluWhat happened, as it was sent.
propertiesobjectZorunluThe properties the event was sent with. Empty when it had none.
occurredAtstringZorunluWhen it happened.
Biçimdate-timemodestringZorunlutestwhen a test key sent it. A test event is stored and starts or resumes nothing.Şunlardan biri"live""test"createdAtstringZorunluWhen OpenEmail received it.
Biçimdate-timereplayedbooleanZorunluTrue when this
Idempotency-Keywas used before and the stored event is returned, with nothing started again.enrolledstring[]ZorunluThe ids of the automations the event put the contact into.
resumedintegerZorunluHow many waits for this event it ended, across every automation the contact is in.
En az 0indexintegerZorunluWhere the event sat in the request, from 0.
En az 0
failedobject[]ZorunluThe events that were not stored.
indexintegerZorunluWhere the event sat in the request, from 0.
En az 0codestringZorunluWhy, as the single call would answer:
invalid_event,contact_not_foundoridempotency_key_reuse.messagestringZorunluThe same in a sentence.
ContactEventListobject
objectstring- Şunlardan biri
"list" dataContactEvent[]hasMorebooleanTrue when another page follows. Pass
nextCursorback ascursorto read it.nextCursorstringThe id of the last row on this page, or null on the last page.
null olabilir
ContactEventNameobject
objectstringZorunlu- Şunlardan biri
"contact_event_name" namestringZorunluAn event name the workspace holds events for.
ContactEventNameListobject
objectstring- Şunlardan biri
"list"
ContactEventResultobject
objectstringZorunlu- Şunlardan biri
"contact_event" idstringZorunluThe id of the event.
contactIdstringZorunluThe id of the contact it is about.
emailstringZorunluThe address of that contact.
BiçimemailnamestringZorunluWhat happened, as it was sent.
propertiesobjectZorunluThe properties the event was sent with. Empty when it had none.
occurredAtstringZorunluWhen it happened.
Biçimdate-timemodestringZorunlutestwhen a test key sent it. A test event is stored and starts or resumes nothing.Şunlardan biri"live""test"createdAtstringZorunluWhen OpenEmail received it.
Biçimdate-timereplayedbooleanZorunluTrue when this
Idempotency-Keywas used before and the stored event is returned, with nothing started again.enrolledstring[]ZorunluThe ids of the automations the event put the contact into.
resumedintegerZorunluHow many waits for this event it ended, across every automation the contact is in.
En az 0