Eventi di workspace
Definisci gli eventi di workspace e i tipi delle loro proprietà, così gli eventi w: che invii vengono controllati.
Crea un evento di workspace
Definisce un evento di workspace: un nome e le proprietà che ogni evento di quel tipo contiene, ciascuna con un tipo. Poi lo invii come w:<name>, ed Emailit rifiuta gli eventi che non corrispondono. Richiede una chiave API con il permesso full.
Gli eventi di workspace sono inclusi nei piani Pro, Business e Custom. Un workspace può definirne tanti quanti sono i tipi di evento del suo piano: 100 con Pro e 1000 con Business, senza limiti con Custom. Gli eventi personalizzati (c:<name>) non richiedono una definizione. Vedi Eventi di workspace.
/workspace/eventsParametri del corpo
namestringobbligatoriocustomer.type: da 1 a 100 caratteri tra lettere, cifre, ., - o _, che inizia con una lettera o una cifra. Puoi inviarlo anche con il prefisso (w:customer.type); il prefisso viene rimosso. Deve essere univoco nel workspace.titlestring | nulldescriptionstring | nullpropertiesobject[]Fino a 50 definizioni di proprietà. Predefinito [], cioè gli eventi di questo tipo non contengono proprietà. Ognuna ha:
name(obbligatorio): da 1 a 64 caratteri tra lettere, cifre,-o_, che inizia con una lettera o una cifra. I punti non sono ammessi, perché i filtri dei webhook e i template usano i punti per raggiungere i valori annidati. I nomi devono essere univoci all’interno della definizione.type(obbligatorio):string,number,dateoboolean, in maiuscolo o minuscolo.title: un’etichetta, fino a 120 caratteri.description: fino a 1000 caratteri.required:truese ogni evento deve includere la proprietà. Predefinitofalse.
Restituisce
Restituisce 201 Created con l’oggetto evento di workspace.
| Stato | Quando |
|---|---|
403 |
La chiave API non ha il permesso full, oppure il workspace è su Pay as you go: error è plan_required e required_plan è pro. |
409 |
Esiste già un evento di workspace con questo nome. Lo indica errors.name. |
422 |
Un campo non è valido: errors ha come chiave il suo percorso, ad esempio name o properties.1.type, e message ripete il primo problema. Viene restituito anche con code: "workspace_events_limit" quando il workspace ha già tanti eventi di workspace quanti ne consente il piano, e per un nome che inizia con c:. |
{
"object": "workspace_event",
"id": "etp_2yHn4Kd8QwE1rT6vBx9LmZ3sPf0",
"name": "customer.type",
"type": "w:customer.type",
"title": "Customer type",
"description": "Set when a customer's account type changes in the shop.",
"properties": [
{ "name": "segment", "type": "string", "title": "Segment", "description": "b2b or b2c", "required": true },
{ "name": "since", "type": "date", "title": null, "description": null, "required": false }
],
"created_at": "2026-10-19T08:00:00.000000+00:00",
"updated_at": "2026-10-19T08:00:00.000000+00:00"
}{
"error": "plan_required",
"required_plan": "pro",
"message": "Workspace and custom events are included with Pro and Business."
}{
"error": "w:customer.type is already defined",
"errors": {
"name": ["is already defined"]
}
}{
"error": "properties.1.type must be one of string, number, date, boolean",
"message": "properties.1.type must be one of string, number, date, boolean",
"errors": {
"properties.1.type": ["must be one of string, number, date, boolean"]
}
}Recupera un evento di workspace
Recupera la definizione di un evento di workspace: il nome, il titolo e le proprietà che chi invia l’evento deve rispettare. Richiede una chiave API con il permesso full.
/workspace/events/{id}Parametri di percorso
idstringobbligatorioetp_…), il suo nome (customer.type) o il suo tipo di evento (w:customer.type). Codifica i : per l’URL se il tuo client non lo fa.Restituisce
Restituisce l’oggetto evento di workspace.
objectstringworkspace_event.idstringetp_.namestringtypestringw: seguito dal nome.titlestring | nulldescriptionstring | nullpropertiesobject[]Le proprietà che un evento di questo tipo può contenere, ciascuna con:
name: la chiave nellepropertiesdell’evento.type:string,number,dateoboolean. Vedi Tipi di proprietà.title,description: etichette facoltative, oppurenull.required: indica se ogni evento deve includerla.
created_at, updated_atstringRestituisce 404 con error: "Workspace event not found" se nessuna definizione corrisponde.
{
"object": "workspace_event",
"id": "etp_2yHn4Kd8QwE1rT6vBx9LmZ3sPf0",
"name": "customer.type",
"type": "w:customer.type",
"title": "Customer type",
"description": "Set when a customer's account type changes in the shop.",
"properties": [
{ "name": "segment", "type": "string", "title": "Segment", "description": "b2b or b2c", "required": true },
{ "name": "since", "type": "date", "title": null, "description": null, "required": false }
],
"created_at": "2026-10-19T08:00:00.000000+00:00",
"updated_at": "2026-10-19T08:00:00.000000+00:00"
}{
"error": "Workspace event not found"
}Aggiorna un evento di workspace
Aggiorna i campi che passi e lascia invariati gli altri. Richiede una chiave API con il permesso full.
La definizione controlla solo i nuovi eventi. Gli eventi già memorizzati mantengono il loro tipo e le loro proprietà, quindi dopo una modifica gli eventi meno recenti possono avere proprietà che la definizione non elenca più.
propertiessostituisce l’intero elenco. Per aggiungere una proprietà, invia l’elenco attuale più quella nuova.- Rinominare l’evento cambia il tipo da inviare. Gli eventi memorizzati con il vecchio nome lo mantengono, e i nuovi eventi con il vecchio nome vengono rifiutati, a meno che tu non lo definisca di nuovo.
/workspace/events/{id}Parametri di percorso
idstringobbligatorioetp_…), il suo nome o il suo tipo di evento (w:…).Parametri del corpo
namestringtitlestring | nullnull o una stringa vuota lo cancellano.descriptionstring | nullnull o una stringa vuota la cancellano.propertiesobject[][] rimuove tutte le proprietà.Restituisce
Restituisce l’oggetto evento di workspace aggiornato.
| Stato | Quando |
|---|---|
404 |
Nessuna definizione corrisponde a id. |
409 |
Un altro evento di workspace ha già il nuovo nome. |
422 |
Un campo non è valido: errors ha come chiave il suo percorso, e message ripete il primo problema. |
{
"object": "workspace_event",
"id": "etp_2yHn4Kd8QwE1rT6vBx9LmZ3sPf0",
"name": "customer.type",
"type": "w:customer.type",
"title": "Customer type",
"description": "Set when a customer's account type changes in the shop.",
"properties": [
{ "name": "segment", "type": "string", "title": "Segment", "description": null, "required": true },
{ "name": "since", "type": "date", "title": null, "description": null, "required": false },
{ "name": "vat_exempt", "type": "boolean", "title": null, "description": null, "required": false }
],
"created_at": "2026-10-19T08:00:00.000000+00:00",
"updated_at": "2026-10-19T10:12:45.000000+00:00"
}{
"error": "w:customer.segment is already defined",
"errors": {
"name": ["is already defined"]
}
}Elenca gli eventi di workspace
Restituisce le definizioni degli eventi del workspace, ordinate per nome. Richiede una chiave API con il permesso full.
/workspace/eventsParametri di query
pageintegerpredefinito: 1limitintegerpredefinito: 100searchstringmatchstringall (predefinito) richiede che corrispondano tutti i filtri. or richiede che ne corrisponda almeno uno. Vedi Filtri e ordinamento.
orderstringChiave di ordinamento di questo elenco. Vedi le chiavi di ordinamento qui sotto.
directionstringasc o desc.
Chiavi di filtro
I filtri usano parametri di query key.condition=value, ad esempio name.starts_with=order. o created_at.after=2026-10-01. Per le condizioni di ogni tipo, vedi Filtri e ordinamento.
| Chiave | Tipo | Note |
|---|---|---|
name |
string | Il nome senza il prefisso w:. |
title |
string | |
created_at |
date | |
updated_at |
date |
Chiavi di ordinamento per order: name, title, created_at, updated_at. Il valore predefinito è name, in ordine crescente.
Restituisce
dataobject[]total_recordsintegernext_page_urlstring | nullnull sull’ultima pagina. Contiene solo page e limit; quando lo segui, aggiungi di nuovo la ricerca e i filtri.previous_page_urlstring | nullnull sulla prima pagina.{
"data": [
{
"object": "workspace_event",
"id": "etp_2yHn4Kd8QwE1rT6vBx9LmZ3sPf0",
"name": "customer.type",
"type": "w:customer.type",
"title": "Customer type",
"description": "Set when a customer's account type changes in the shop.",
"properties": [
{ "name": "segment", "type": "string", "title": "Segment", "description": "b2b or b2c", "required": true },
{ "name": "since", "type": "date", "title": null, "description": null, "required": false }
],
"created_at": "2026-10-19T08:00:00.000000+00:00",
"updated_at": "2026-10-19T08:00:00.000000+00:00"
}
],
"total_records": 1,
"next_page_url": null,
"previous_page_url": null
}Elimina un evento di workspace
Elimina la definizione di un evento di workspace. Richiede una chiave API con il permesso full.
Gli eventi già memorizzati con questo tipo vengono conservati, nel log degli eventi e sui contatti. I nuovi eventi di questo tipo vengono rifiutati con 422 finché non lo definisci di nuovo. I webhook che sottoscrivono il tipo mantengono la sottoscrizione.
/workspace/events/{id}Parametri di percorso
idstringobbligatorioetp_…), il suo nome o il suo tipo di evento (w:…).Restituisce
objectstringworkspace_event.idstringnamestringtypestringw: seguito dal nome.deletedbooleantrue.Restituisce 404 se nessuna definizione corrisponde.
{
"object": "workspace_event",
"id": "etp_2yHn4Kd8QwE1rT6vBx9LmZ3sPf0",
"name": "customer.type",
"type": "w:customer.type",
"deleted": true
}