API · v1

Automatizza le tue campagne

Conta le audience, gestisci le campagne, recupera le statistiche e accedi alle fatture dai tuoi strumenti.

URL di basehttps://api.dmseurope.com/v1/

Primi passi

Crea una chiave in Il mio account → API, conservala nel gestore dei segreti del server e usala solo per scambi server-to-server.

La chiave consente l’accesso ai dati e alle operazioni del proprio account. Non inserirla mai in JavaScript pubblico, URL o repository di codice.

Autenticazione e lingua

Ogni richiesta richiede l’autenticazione Bearer. Accept-Language accetta fr, en, es o it e determina la lingua dei messaggi di errore.

Authorization: Bearer API_KEY
Accept-Language: it

Limiti di utilizzo

I limiti sono 120 letture, 20 mutazioni e 20 conteggi audience al minuto, per account e per IP. In caso di HTTP 429, attendi i secondi indicati da Retry-After.

Dettaglio delle rotte

Apri una rotta per consultare tutti i parametri accettati, una richiesta completa, la struttura esatta della risposta corretta e i possibili errori.

POST/audiences/countContare un’audienceRestituisce i volumi aggregati attuali senza salvare un’audience.

Parametri attesi

Intestazioni

AuthorizationstringObbligatorio

Chiave API attiva inviata con lo schema Bearer.

Formato e limitiBearer dms_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Accept-LanguageenumFacoltativo

Lingua preferita dei messaggi di errore; viene usato l’inglese per impostazione predefinita.

Formato e limitifr | en | es | itEsempio o valore predefinitoen
Content-TypestringObbligatorio

Tipo di contenuto JSON obbligatorio per il corpo della richiesta.

Formato e limitiapplication/json

Corpo JSON

channelenumObbligatorio

Prodotto della campagna usato per il conteggio.

Formato e limitiemail | sms | email_sms | email_retargeting_smsEsempio o valore predefinitoemail
Valori accettati
  • emailSolo email
  • smsSolo SMS
  • email_smsEmail e SMS alle rispettive date programmate
  • email_retargeting_smsEmail seguito da retargeting SMS
targetingobjectObbligatorio

Oggetto JSON annidato.

Formato e limitiobject
countriesarrayObbligatorio

Paesi selezionati: FR Francia, GB Regno Unito, ES Spagna, IT Italia.

Formato e limitiarray[1..4]<enum(FR,GB,ES,IT), unique>Esempio o valore predefinito["FR","GB"]
Valori accettati
  • FRFrancia
  • GBRegno Unito
  • ESSpagna
  • ITItalia
geographyobjectObbligatorio

Criteri geografici raggruppati per paese selezionato.

Formato e limitiobject<country, geography>Esempio o valore predefinito{"FR":{…}}
{country}objectObbligatorio

Oggetto JSON annidato.

regionsarrayFacoltativo

ID di regione restituiti da GET /targeting/geography con type=region.

Formato e limitiarray[0..250]<integer≥1, unique>Esempio o valore predefinito[11]
departmentsarrayFacoltativo

ID di dipartimento o area amministrativa restituiti da GET /targeting/geography con type=department.

Formato e limitiarray[0..250]<integer≥1, unique>Esempio o valore predefinito[75]
citiesarrayFacoltativo

ID di città restituiti da GET /targeting/geography con type=city. Ogni città include regione e dipartimento per distinguere i nomi identici.

Formato e limitiarray[0..250]<integer≥1, unique>Esempio o valore predefinito[1234]
postal_codesarrayFacoltativo

Codici postali disponibili per il paese.

Formato e limitiarray[0..250]<string[1..20], unique>Esempio o valore predefinito["75001"]
profileobjectObbligatorio

Criteri demografici e familiari; usa un oggetto vuoto senza filtro.

Formato e limitiobjectEsempio o valore predefinito{}
age_minintegerFacoltativo

Età minima inclusa.

Formato e limitiinteger 18–100Esempio o valore predefinito30
age_maxintegerFacoltativo

Età massima inclusa.

Formato e limitiinteger 18–100, ≥ age_minEsempio o valore predefinito55
gender_idsarrayFacoltativo

Scegli uno o più ID di genere mostrati qui sotto. Un array vuoto include tutti i generi.

Formato e limitiarray[0..50]<integer≥1, unique>Esempio o valore predefinito[1]
Valori accettati
  • 1maleUomo
  • 2femaleDonna
  • 3unknownSconosciuto
csp_idsarrayFacoltativo

Scegli uno o più ID di categoria socioprofessionale mostrati qui sotto. Un array vuoto include tutte le categorie.

Formato e limitiarray[0..50]<integer≥1, unique>Esempio o valore predefinito[2,3]
Valori accettati
  • 6csp_plusFascia socioeconomica alta
  • 7csp_middleFascia socioeconomica media
  • 8csp_minusFascia socioeconomica bassa
  • 9unknownSconosciuto
housing_status_idsarrayFacoltativo

Scegli uno o più ID dello stato abitativo mostrati qui sotto. Un array vuoto include tutti gli stati.

Formato e limitiarray[0..50]<integer≥1, unique>Esempio o valore predefinito[1]
Valori accettati
  • 10ownerProprietario
  • 11tenantInquilino
  • 12otherAltro titolo
  • 4unknownSconosciuto
housing_type_idsarrayFacoltativo

Scegli uno o più ID del tipo di abitazione mostrati qui sotto. Un array vuoto include tutti i tipi.

Formato e limitiarray[0..50]<integer≥1, unique>Esempio o valore predefinito[2]
Valori accettati
  • 14houseCasa
  • 15apartmentAppartamento
  • 16otherAltro tipo di abitazione
  • 5unknownSconosciuto
car_owner_status_idsarrayFacoltativo

Scegli qui sotto l’ID corrispondente ai proprietari di auto. Un array vuoto non applica alcun filtro automobile.

Formato e limitiarray[0..50]<integer≥1, unique>Esempio o valore predefinito[1]
Valori accettati
  • 18ownerPossiede un veicolo
  • 19non_ownerNon possiede alcun veicolo
  • 20unknownSconosciuto
exclusionsobjectObbligatorio

Esclusioni di contatti recenti e campagne precedenti.

Formato e limitiobjectEsempio o valore predefinito{}
recent_daysenumFacoltativo

0 non applica alcuna esclusione recente; 15, 30 o 60 esclude i contatti raggiunti nel corrispondente numero di giorni precedenti.

Formato e limitienum(0,15,30,60)Esempio o valore predefinitodefault 0
Valori accettati
  • 0Nessuna esclusione di contatti recenti
  • 15Escludere i contatti raggiunti negli ultimi 15 giorni
  • 30Escludere i contatti raggiunti negli ultimi 30 giorni
  • 60Escludere i contatti raggiunti negli ultimi 60 giorni
campaign_referencesarrayFacoltativo

Esclude i contatti di campagne inviate dall’account negli ultimi 12 mesi.

Formato e limitiarray[0..100]<CMP-YYYY-0000000, unique>Esempio o valore predefinito["CMP-2026-0000123"]
POSThttps://api.dmseurope.com/v1/audiences/count
curl -X POST 'https://api.dmseurope.com/v1/audiences/count' \
  -H 'Authorization: Bearer API_KEY' -H 'Content-Type: application/json' \
  -d '{"channel":"email","targeting":{"countries":["FR"],"geography":{"FR":{"regions":[11],"departments":[75],"cities":[],"postal_codes":["75001"]}},"profile":{"age_min":30,"age_max":55,"gender_ids":[1],"csp_ids":[],"housing_status_ids":[],"housing_type_ids":[],"car_owner_status_ids":[]},"exclusions":{"recent_days":30,"campaign_references":[]}}}'
GET/targeting/geographyCercare identificatori geograficiRestituisce gli identificatori di regione, dipartimento o città accettati dal targeting.

Parametri attesi

Intestazioni

AuthorizationstringObbligatorio

Chiave API attiva inviata con lo schema Bearer.

Formato e limitiBearer dms_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Accept-LanguageenumFacoltativo

Lingua preferita dei messaggi di errore; viene usato l’inglese per impostazione predefinita.

Formato e limitifr | en | es | itEsempio o valore predefinitoen

Parametri della query

countryenumObbligatorio

Paese di cui viene consultato il catalogo geografico.

Formato e limitiFR | GB | ES | ITEsempio o valore predefinitoFR
Valori accettati
  • FRFrancia
  • GBRegno Unito
  • ESSpagna
  • ITItalia
typeenumObbligatorio

Livello del catalogo restituito: regioni, dipartimenti o città.

Formato e limitiregion | department | cityEsempio o valore predefinitocity
Valori accettati
  • regionRegione
  • departmentDipartimento o area amministrativa
  • cityCittà
querystringCondizionale

Facoltativo per regioni e dipartimenti. Obbligatorio per le città, con almeno 2 caratteri.

Formato e limitistring[0..80]Esempio o valore predefinitoParis
GEThttps://api.dmseurope.com/v1/targeting/geography

Successo — Tutte le risposte HTTP includono X-Request-Id; le risposte JSON includono anche request_id.

GET/campaignsElencare le campagneRestituisce le campagne dell’account con paginazione e filtri.

Parametri attesi

Intestazioni

AuthorizationstringObbligatorio

Chiave API attiva inviata con lo schema Bearer.

Formato e limitiBearer dms_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Accept-LanguageenumFacoltativo

Lingua preferita dei messaggi di errore; viene usato l’inglese per impostazione predefinita.

Formato e limitifr | en | es | itEsempio o valore predefinitoen

Parametri della query

pageintegerFacoltativo

Numero di pagina richiesto.

Formato e limitiinteger[1..1000000]Esempio o valore predefinitodefault 1
per_pageintegerFacoltativo

Numero di risultati per pagina.

Formato e limitiinteger[1..100]Esempio o valore predefinitodefault 20
statusenumFacoltativo

Stato esatto della campagna.

Formato e limitidraft | pending_validation | needs_changes | scheduled | sending | sent | cancelled
Valori accettati
  • draftBozza
  • pending_validationIn attesa di convalida
  • needs_changesModifiche richieste
  • scheduledProgrammata
  • sendingIn invio
  • sentInviata
  • cancelledAnnullata
productenumFacoltativo

Filtro per prodotto della campagna.

Formato e limitiemail | sms | email_sms | email_retargeting_sms
Valori accettati
  • emailSolo email
  • smsSolo SMS
  • email_smsEmail e SMS alle rispettive date programmate
  • email_retargeting_smsEmail seguito da retargeting SMS
countryenumFacoltativo

Filtro per paese.

Formato e limitiFR | GB | ES | ITEsempio o valore predefinitoFR
Valori accettati
  • FRFrancia
  • GBRegno Unito
  • ESSpagna
  • ITItalia
created_fromstringFacoltativo

Data minima di creazione inclusa.

Formato e limitidate YYYY-MM-DDEsempio o valore predefinito2026-08-01
created_tostringFacoltativo

Data massima di creazione inclusa.

Formato e limitidate YYYY-MM-DDEsempio o valore predefinito2026-08-31
scheduled_fromstringFacoltativo

Data minima programmata inclusa.

Formato e limitidate YYYY-MM-DDEsempio o valore predefinito2026-09-01
scheduled_tostringFacoltativo

Data massima programmata inclusa.

Formato e limitidate YYYY-MM-DDEsempio o valore predefinito2026-09-30
searchstringFacoltativo

Ricerca per nome o riferimento pubblico.

Formato e limitistring ≤ 180Esempio o valore predefinitoCMP-2026-0000123 | Summer launch
GEThttps://api.dmseurope.com/v1/campaigns

Successo — Tutte le risposte HTTP includono X-Request-Id; le risposte JSON includono anche request_id.

POST/campaignsCreare una campagnaConta l’audience, calcola il prezzo, riserva il credito e invia una campagna completa.

Parametri attesi

Intestazioni

AuthorizationstringObbligatorio

Chiave API attiva inviata con lo schema Bearer.

Formato e limitiBearer dms_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Accept-LanguageenumFacoltativo

Lingua preferita dei messaggi di errore; viene usato l’inglese per impostazione predefinita.

Formato e limitifr | en | es | itEsempio o valore predefinitoen
Content-TypestringObbligatorio

Tipo di contenuto JSON obbligatorio per il corpo della richiesta.

Formato e limitiapplication/json
Client-ReferencestringObbligatorio

Riferimento aziendale permanente e univoco per questa creazione. Una seconda creazione con lo stesso valore viene rifiutata.

Formato e limitiASCII string[8..128] [A-Za-z0-9._:-]Esempio o valore predefinitocrm-campaign-20260829-001

Corpo JSON

namestringObbligatorio

Nome della campagna.

Formato e limitistring[1..180]Esempio o valore predefinitoSummer launch 2026
productenumObbligatorio

email: solo email; sms: solo SMS; email_sms: entrambi i canali; email_retargeting_sms: email seguito da retargeting SMS.

Formato e limitiemail | sms | email_sms | email_retargeting_sms
Valori accettati
  • emailSolo email
  • smsSolo SMS
  • email_smsEmail e SMS alle rispettive date programmate
  • email_retargeting_smsEmail seguito da retargeting SMS
targetingobjectObbligatorio

Oggetto JSON annidato.

Formato e limitiobject
countriesarrayObbligatorio

Paesi selezionati: FR Francia, GB Regno Unito, ES Spagna, IT Italia.

Formato e limitiarray[1..4]<enum(FR,GB,ES,IT), unique>Esempio o valore predefinito["FR","GB"]
Valori accettati
  • FRFrancia
  • GBRegno Unito
  • ESSpagna
  • ITItalia
geographyobjectObbligatorio

Criteri geografici raggruppati per paese selezionato.

Formato e limitiobject<country, geography>Esempio o valore predefinito{"FR":{…}}
{country}objectObbligatorio

Oggetto JSON annidato.

regionsarrayFacoltativo

ID di regione restituiti da GET /targeting/geography con type=region.

Formato e limitiarray[0..250]<integer≥1, unique>Esempio o valore predefinito[11]
departmentsarrayFacoltativo

ID di dipartimento o area amministrativa restituiti da GET /targeting/geography con type=department.

Formato e limitiarray[0..250]<integer≥1, unique>Esempio o valore predefinito[75]
citiesarrayFacoltativo

ID di città restituiti da GET /targeting/geography con type=city. Ogni città include regione e dipartimento per distinguere i nomi identici.

Formato e limitiarray[0..250]<integer≥1, unique>Esempio o valore predefinito[1234]
postal_codesarrayFacoltativo

Codici postali disponibili per il paese.

Formato e limitiarray[0..250]<string[1..20], unique>Esempio o valore predefinito["75001"]
profileobjectObbligatorio

Criteri demografici e familiari; usa un oggetto vuoto senza filtro.

Formato e limitiobjectEsempio o valore predefinito{}
age_minintegerFacoltativo

Età minima inclusa.

Formato e limitiinteger 18–100Esempio o valore predefinito30
age_maxintegerFacoltativo

Età massima inclusa.

Formato e limitiinteger 18–100, ≥ age_minEsempio o valore predefinito55
gender_idsarrayFacoltativo

Scegli uno o più ID di genere mostrati qui sotto. Un array vuoto include tutti i generi.

Formato e limitiarray[0..50]<integer≥1, unique>Esempio o valore predefinito[1]
Valori accettati
  • 1maleUomo
  • 2femaleDonna
  • 3unknownSconosciuto
csp_idsarrayFacoltativo

Scegli uno o più ID di categoria socioprofessionale mostrati qui sotto. Un array vuoto include tutte le categorie.

Formato e limitiarray[0..50]<integer≥1, unique>Esempio o valore predefinito[2,3]
Valori accettati
  • 6csp_plusFascia socioeconomica alta
  • 7csp_middleFascia socioeconomica media
  • 8csp_minusFascia socioeconomica bassa
  • 9unknownSconosciuto
housing_status_idsarrayFacoltativo

Scegli uno o più ID dello stato abitativo mostrati qui sotto. Un array vuoto include tutti gli stati.

Formato e limitiarray[0..50]<integer≥1, unique>Esempio o valore predefinito[1]
Valori accettati
  • 10ownerProprietario
  • 11tenantInquilino
  • 12otherAltro titolo
  • 4unknownSconosciuto
housing_type_idsarrayFacoltativo

Scegli uno o più ID del tipo di abitazione mostrati qui sotto. Un array vuoto include tutti i tipi.

Formato e limitiarray[0..50]<integer≥1, unique>Esempio o valore predefinito[2]
Valori accettati
  • 14houseCasa
  • 15apartmentAppartamento
  • 16otherAltro tipo di abitazione
  • 5unknownSconosciuto
car_owner_status_idsarrayFacoltativo

Scegli qui sotto l’ID corrispondente ai proprietari di auto. Un array vuoto non applica alcun filtro automobile.

Formato e limitiarray[0..50]<integer≥1, unique>Esempio o valore predefinito[1]
Valori accettati
  • 18ownerPossiede un veicolo
  • 19non_ownerNon possiede alcun veicolo
  • 20unknownSconosciuto
exclusionsobjectObbligatorio

Esclusioni di contatti recenti e campagne precedenti.

Formato e limitiobjectEsempio o valore predefinito{}
recent_daysenumFacoltativo

0 non applica alcuna esclusione recente; 15, 30 o 60 esclude i contatti raggiunti nel corrispondente numero di giorni precedenti.

Formato e limitienum(0,15,30,60)Esempio o valore predefinitodefault 0
Valori accettati
  • 0Nessuna esclusione di contatti recenti
  • 15Escludere i contatti raggiunti negli ultimi 15 giorni
  • 30Escludere i contatti raggiunti negli ultimi 30 giorni
  • 60Escludere i contatti raggiunti negli ultimi 60 giorni
campaign_referencesarrayFacoltativo

Esclude i contatti di campagne inviate dall’account negli ultimi 12 mesi.

Formato e limitiarray[0..100]<CMP-YYYY-0000000, unique>Esempio o valore predefinito["CMP-2026-0000123"]
volumesobjectObbligatorio

Volumi richiesti per paese; le chiavi devono corrispondere esattamente a targeting.countries.

Formato e limitiobject<country, integer[1..1000000]>Esempio o valore predefinito{"FR":4000,"GB":1500}
{country}integerObbligatorio

Volume di contatti richiesto per questo paese.

Formato e limitiinteger 1–1 000 000Esempio o valore predefinito4000
contentsobjectObbligatorio

Contenuti per paese; le chiavi devono corrispondere esattamente a targeting.countries.

Formato e limitiobject<country, content>
{country}objectObbligatorio

Oggetto di contenuto per ogni paese selezionato; le chiavi esatte dipendono dal prodotto.

Formato e limitiobject<email | sms | email+sms>
emailobjectCondizionale

Obbligatorio per ogni paese quando il prodotto include email.

Formato e limitiobject<email>
sender_namestringCondizionale

Nome del mittente email.

Formato e limitistring[1..120]Esempio o valore predefinitoMy brand
subjectstringCondizionale

Oggetto dell’email.

Formato e limitistring[1..255]Esempio o valore predefinitoSummer offer
preheaderstringFacoltativo

Preheader email facoltativo.

Formato e limitistring[0..255]Esempio o valore predefinitoDiscover our offer
htmlstringCondizionale

HTML completo dell’email.

Formato e limitiHTML string[1..5242880]Esempio o valore predefinito<p>Hello</p>
smsobjectCondizionale

Obbligatorio per ogni paese quando il prodotto include SMS.

Formato e limitiobject<sms>
sender_namestringCondizionale

Da 1 a 11 lettere ASCII o cifre, con almeno una lettera; i valori simili a numeri di telefono vengono rifiutati.

Formato e limitiASCII alphanumeric string[1..11]Esempio o valore predefinitoMyBrand
messagestringCondizionale

Corpo senza il suffisso STOP automatico. Massimo 4 segmenti SMS, compresi suffisso STOP del paese, riserve di personalizzazione e link breve di 20 caratteri.

Formato e limitistringEsempio o valore predefinitomaximum 4 SMS segments · Discover the offer: {{short_url}}
destination_urlstringFacoltativo

URL HTTP(S) pubblico facoltativo, massimo 2.048 caratteri. È richiesto esattamente quando il messaggio contiene un tag {{short_url}}; gli URL scritti direttamente nel messaggio vengono rifiutati.

Formato e limitipublic HTTP(S) URL[1..2048] | nullEsempio o valore predefinitohttps://example.com/offer
scheduleobjectObbligatorio

Fuso IANA e date di invio richieste. Ogni invio deve essere programmato con almeno 48 ore lavorative di anticipo.

Formato e limitiobject
timezonestringObbligatorio

Fuso IANA usato per convalidare gli offset delle date.

Formato e limitiIANA timezone string[1..64]Esempio o valore predefinitoEurope/Paris
email_atstringCondizionale

Richiesto se il prodotto include email; vietato per sms. Per email_sms, la distanza da sms_at non può superare 48 ore.

Formato e limitiRFC 3339 date-timeEsempio o valore predefinito2026-09-15T10:00:00+02:00
sms_atstringCondizionale

Richiesto per sms ed email_sms; vietato per email ed email_retargeting_sms. L’ora locale deve essere tra le 08:00 e le 19:45 e, per email_sms, entro 48 ore da email_at.

Formato e limitiRFC 3339 date-timeEsempio o valore predefinito2026-09-15T12:00:00+02:00
retargeting_delay_hoursintegerFacoltativo

Solo per email_retargeting_sms: intero da 6 a 72 ore dopo l’email; valore predefinito 24.

Formato e limitiinteger[6..72]Esempio o valore predefinitodefault 24
promo_codestringFacoltativo

Codice promozionale facoltativo: da 1 a 64 lettere maiuscole, cifre, trattini bassi o trattini; il primo carattere deve essere una lettera o una cifra.

Formato e limitistring[0..64] | nullEsempio o valore predefinitoWELCOME10
POSThttps://api.dmseurope.com/v1/campaigns
curl -X POST 'https://api.dmseurope.com/v1/campaigns' \
  -H 'Authorization: Bearer API_KEY' \
  -H 'Client-Reference: crm-campaign-20260829-001' \
  -H 'Content-Type: application/json' \
  -d '{
    "name":"Summer launch 2026",
    "product":"email_sms",
    "targeting":{
      "countries":["FR"],
      "geography":{"FR":{"regions":[11],"departments":[75],"cities":[],"postal_codes":["75001"]}},
      "profile":{"age_min":30,"age_max":55,"gender_ids":[1],"csp_ids":[2],"housing_status_ids":[],"housing_type_ids":[],"car_owner_status_ids":[]},
      "exclusions":{"recent_days":30,"campaign_references":[]}
    },
    "volumes":{"FR":4000},
    "contents":{"FR":{
      "email":{"sender_name":"My brand","subject":"Summer offer","preheader":"Discover our offer","html":"<p>Hello</p>"},
      "sms":{"sender_name":"MyBrand","message":"Discover the offer: {{short_url}}","destination_url":"https://example.com/offer"}
    }},
    "schedule":{"timezone":"Europe/Paris","email_at":"2026-09-15T10:00:00+02:00","sms_at":"2026-09-15T12:00:00+02:00"},
    "promo_code":null
  }'
GET/campaigns/{reference}Consultare una campagnaRestituisce targeting, contenuti, programmazione, prezzo, moderazione e produzione.

Parametri attesi

Intestazioni

AuthorizationstringObbligatorio

Chiave API attiva inviata con lo schema Bearer.

Formato e limitiBearer dms_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Accept-LanguageenumFacoltativo

Lingua preferita dei messaggi di errore; viene usato l’inglese per impostazione predefinita.

Formato e limitifr | en | es | itEsempio o valore predefinitoen

Parametri del percorso

referencestringObbligatorio

Riferimento pubblico della campagna.

Formato e limitiCMP-AAAA-0000000Esempio o valore predefinitoCMP-2026-0000123
GEThttps://api.dmseurope.com/v1/campaigns/{reference}

Successo — Tutte le risposte HTTP includono X-Request-Id; le risposte JSON includono anche request_id.

PUT/campaigns/{reference}Modificare una campagnaSostituisce completamente una campagna modificabile. Lo stesso Client-Reference può essere riutilizzato con nuovi contenuti.

Parametri attesi

Intestazioni

AuthorizationstringObbligatorio

Chiave API attiva inviata con lo schema Bearer.

Formato e limitiBearer dms_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Accept-LanguageenumFacoltativo

Lingua preferita dei messaggi di errore; viene usato l’inglese per impostazione predefinita.

Formato e limitifr | en | es | itEsempio o valore predefinitoen
Content-TypestringObbligatorio

Tipo di contenuto JSON obbligatorio per il corpo della richiesta.

Formato e limitiapplication/json
Client-ReferencestringObbligatorio

Riferimento aziendale della modifica. Può essere riutilizzato per modifiche successive, con JSON identico o diverso.

Formato e limitiASCII string[8..128] [A-Za-z0-9._:-]Esempio o valore predefinitocrm-campaign-20260829-001

Parametri del percorso

referencestringObbligatorio

Riferimento pubblico della campagna.

Formato e limitiCMP-AAAA-0000000Esempio o valore predefinitoCMP-2026-0000123

Corpo JSON

namestringObbligatorio

Nome della campagna.

Formato e limitistring[1..180]Esempio o valore predefinitoSummer launch 2026
productenumObbligatorio

email: solo email; sms: solo SMS; email_sms: entrambi i canali; email_retargeting_sms: email seguito da retargeting SMS.

Formato e limitiemail | sms | email_sms | email_retargeting_sms
Valori accettati
  • emailSolo email
  • smsSolo SMS
  • email_smsEmail e SMS alle rispettive date programmate
  • email_retargeting_smsEmail seguito da retargeting SMS
targetingobjectObbligatorio

Oggetto JSON annidato.

Formato e limitiobject
countriesarrayObbligatorio

Paesi selezionati: FR Francia, GB Regno Unito, ES Spagna, IT Italia.

Formato e limitiarray[1..4]<enum(FR,GB,ES,IT), unique>Esempio o valore predefinito["FR","GB"]
Valori accettati
  • FRFrancia
  • GBRegno Unito
  • ESSpagna
  • ITItalia
geographyobjectObbligatorio

Criteri geografici raggruppati per paese selezionato.

Formato e limitiobject<country, geography>Esempio o valore predefinito{"FR":{…}}
{country}objectObbligatorio

Oggetto JSON annidato.

regionsarrayFacoltativo

ID di regione restituiti da GET /targeting/geography con type=region.

Formato e limitiarray[0..250]<integer≥1, unique>Esempio o valore predefinito[11]
departmentsarrayFacoltativo

ID di dipartimento o area amministrativa restituiti da GET /targeting/geography con type=department.

Formato e limitiarray[0..250]<integer≥1, unique>Esempio o valore predefinito[75]
citiesarrayFacoltativo

ID di città restituiti da GET /targeting/geography con type=city. Ogni città include regione e dipartimento per distinguere i nomi identici.

Formato e limitiarray[0..250]<integer≥1, unique>Esempio o valore predefinito[1234]
postal_codesarrayFacoltativo

Codici postali disponibili per il paese.

Formato e limitiarray[0..250]<string[1..20], unique>Esempio o valore predefinito["75001"]
profileobjectObbligatorio

Criteri demografici e familiari; usa un oggetto vuoto senza filtro.

Formato e limitiobjectEsempio o valore predefinito{}
age_minintegerFacoltativo

Età minima inclusa.

Formato e limitiinteger 18–100Esempio o valore predefinito30
age_maxintegerFacoltativo

Età massima inclusa.

Formato e limitiinteger 18–100, ≥ age_minEsempio o valore predefinito55
gender_idsarrayFacoltativo

Scegli uno o più ID di genere mostrati qui sotto. Un array vuoto include tutti i generi.

Formato e limitiarray[0..50]<integer≥1, unique>Esempio o valore predefinito[1]
Valori accettati
  • 1maleUomo
  • 2femaleDonna
  • 3unknownSconosciuto
csp_idsarrayFacoltativo

Scegli uno o più ID di categoria socioprofessionale mostrati qui sotto. Un array vuoto include tutte le categorie.

Formato e limitiarray[0..50]<integer≥1, unique>Esempio o valore predefinito[2,3]
Valori accettati
  • 6csp_plusFascia socioeconomica alta
  • 7csp_middleFascia socioeconomica media
  • 8csp_minusFascia socioeconomica bassa
  • 9unknownSconosciuto
housing_status_idsarrayFacoltativo

Scegli uno o più ID dello stato abitativo mostrati qui sotto. Un array vuoto include tutti gli stati.

Formato e limitiarray[0..50]<integer≥1, unique>Esempio o valore predefinito[1]
Valori accettati
  • 10ownerProprietario
  • 11tenantInquilino
  • 12otherAltro titolo
  • 4unknownSconosciuto
housing_type_idsarrayFacoltativo

Scegli uno o più ID del tipo di abitazione mostrati qui sotto. Un array vuoto include tutti i tipi.

Formato e limitiarray[0..50]<integer≥1, unique>Esempio o valore predefinito[2]
Valori accettati
  • 14houseCasa
  • 15apartmentAppartamento
  • 16otherAltro tipo di abitazione
  • 5unknownSconosciuto
car_owner_status_idsarrayFacoltativo

Scegli qui sotto l’ID corrispondente ai proprietari di auto. Un array vuoto non applica alcun filtro automobile.

Formato e limitiarray[0..50]<integer≥1, unique>Esempio o valore predefinito[1]
Valori accettati
  • 18ownerPossiede un veicolo
  • 19non_ownerNon possiede alcun veicolo
  • 20unknownSconosciuto
exclusionsobjectObbligatorio

Esclusioni di contatti recenti e campagne precedenti.

Formato e limitiobjectEsempio o valore predefinito{}
recent_daysenumFacoltativo

0 non applica alcuna esclusione recente; 15, 30 o 60 esclude i contatti raggiunti nel corrispondente numero di giorni precedenti.

Formato e limitienum(0,15,30,60)Esempio o valore predefinitodefault 0
Valori accettati
  • 0Nessuna esclusione di contatti recenti
  • 15Escludere i contatti raggiunti negli ultimi 15 giorni
  • 30Escludere i contatti raggiunti negli ultimi 30 giorni
  • 60Escludere i contatti raggiunti negli ultimi 60 giorni
campaign_referencesarrayFacoltativo

Esclude i contatti di campagne inviate dall’account negli ultimi 12 mesi.

Formato e limitiarray[0..100]<CMP-YYYY-0000000, unique>Esempio o valore predefinito["CMP-2026-0000123"]
volumesobjectObbligatorio

Volumi richiesti per paese; le chiavi devono corrispondere esattamente a targeting.countries.

Formato e limitiobject<country, integer[1..1000000]>Esempio o valore predefinito{"FR":4000,"GB":1500}
{country}integerObbligatorio

Volume di contatti richiesto per questo paese.

Formato e limitiinteger 1–1 000 000Esempio o valore predefinito4000
contentsobjectObbligatorio

Contenuti per paese; le chiavi devono corrispondere esattamente a targeting.countries.

Formato e limitiobject<country, content>
{country}objectObbligatorio

Oggetto di contenuto per ogni paese selezionato; le chiavi esatte dipendono dal prodotto.

Formato e limitiobject<email | sms | email+sms>
emailobjectCondizionale

Obbligatorio per ogni paese quando il prodotto include email.

Formato e limitiobject<email>
sender_namestringCondizionale

Nome del mittente email.

Formato e limitistring[1..120]Esempio o valore predefinitoMy brand
subjectstringCondizionale

Oggetto dell’email.

Formato e limitistring[1..255]Esempio o valore predefinitoSummer offer
preheaderstringFacoltativo

Preheader email facoltativo.

Formato e limitistring[0..255]Esempio o valore predefinitoDiscover our offer
htmlstringCondizionale

HTML completo dell’email.

Formato e limitiHTML string[1..5242880]Esempio o valore predefinito<p>Hello</p>
smsobjectCondizionale

Obbligatorio per ogni paese quando il prodotto include SMS.

Formato e limitiobject<sms>
sender_namestringCondizionale

Da 1 a 11 lettere ASCII o cifre, con almeno una lettera; i valori simili a numeri di telefono vengono rifiutati.

Formato e limitiASCII alphanumeric string[1..11]Esempio o valore predefinitoMyBrand
messagestringCondizionale

Corpo senza il suffisso STOP automatico. Massimo 4 segmenti SMS, compresi suffisso STOP del paese, riserve di personalizzazione e link breve di 20 caratteri.

Formato e limitistringEsempio o valore predefinitomaximum 4 SMS segments · Discover the offer: {{short_url}}
destination_urlstringFacoltativo

URL HTTP(S) pubblico facoltativo, massimo 2.048 caratteri. È richiesto esattamente quando il messaggio contiene un tag {{short_url}}; gli URL scritti direttamente nel messaggio vengono rifiutati.

Formato e limitipublic HTTP(S) URL[1..2048] | nullEsempio o valore predefinitohttps://example.com/offer
scheduleobjectObbligatorio

Fuso IANA e date di invio richieste. Ogni invio deve essere programmato con almeno 48 ore lavorative di anticipo.

Formato e limitiobject
timezonestringObbligatorio

Fuso IANA usato per convalidare gli offset delle date.

Formato e limitiIANA timezone string[1..64]Esempio o valore predefinitoEurope/Paris
email_atstringCondizionale

Richiesto se il prodotto include email; vietato per sms. Per email_sms, la distanza da sms_at non può superare 48 ore.

Formato e limitiRFC 3339 date-timeEsempio o valore predefinito2026-09-15T10:00:00+02:00
sms_atstringCondizionale

Richiesto per sms ed email_sms; vietato per email ed email_retargeting_sms. L’ora locale deve essere tra le 08:00 e le 19:45 e, per email_sms, entro 48 ore da email_at.

Formato e limitiRFC 3339 date-timeEsempio o valore predefinito2026-09-15T12:00:00+02:00
retargeting_delay_hoursintegerFacoltativo

Solo per email_retargeting_sms: intero da 6 a 72 ore dopo l’email; valore predefinito 24.

Formato e limitiinteger[6..72]Esempio o valore predefinitodefault 24
promo_codestringFacoltativo

Codice promozionale facoltativo: da 1 a 64 lettere maiuscole, cifre, trattini bassi o trattini; il primo carattere deve essere una lettera o una cifra.

Formato e limitistring[0..64] | nullEsempio o valore predefinitoWELCOME10
PUThttps://api.dmseurope.com/v1/campaigns/{reference}
curl -X PUT 'https://api.dmseurope.com/v1/campaigns/CMP-2026-0000123' \
  -H 'Authorization: Bearer API_KEY' \
  -H 'Client-Reference: crm-update-20260829-001' \
  -H 'Content-Type: application/json' \
  -d '{
    "name":"Summer launch 2026",
    "product":"email_sms",
    "targeting":{
      "countries":["FR"],
      "geography":{"FR":{"regions":[11],"departments":[75],"cities":[],"postal_codes":["75001"]}},
      "profile":{"age_min":30,"age_max":55,"gender_ids":[1],"csp_ids":[2],"housing_status_ids":[],"housing_type_ids":[],"car_owner_status_ids":[]},
      "exclusions":{"recent_days":30,"campaign_references":[]}
    },
    "volumes":{"FR":4000},
    "contents":{"FR":{
      "email":{"sender_name":"My brand","subject":"Summer offer","preheader":"Discover our offer","html":"<p>Hello</p>"},
      "sms":{"sender_name":"MyBrand","message":"Discover the offer: {{short_url}}","destination_url":"https://example.com/offer"}
    }},
    "schedule":{"timezone":"Europe/Paris","email_at":"2026-09-15T10:00:00+02:00","sms_at":"2026-09-15T12:00:00+02:00"},
    "promo_code":null
  }'
POST/campaigns/{reference}/cancelAnnullare una campagnaAnnulla una campagna idonea e libera il credito riservato quando necessario. Client-Reference non è richiesto.

Parametri attesi

Intestazioni

AuthorizationstringObbligatorio

Chiave API attiva inviata con lo schema Bearer.

Formato e limitiBearer dms_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Accept-LanguageenumFacoltativo

Lingua preferita dei messaggi di errore; viene usato l’inglese per impostazione predefinita.

Formato e limitifr | en | es | itEsempio o valore predefinitoen
Content-TypestringCondizionale

Obbligatorio solo quando viene inviato un corpo JSON di annullamento.

Formato e limitiapplication/json

Parametri del percorso

referencestringObbligatorio

Riferimento pubblico della campagna.

Formato e limitiCMP-AAAA-0000000Esempio o valore predefinitoCMP-2026-0000123

Corpo JSON

reasonstringFacoltativo

Motivo di annullamento facoltativo.

Formato e limitistring[0..1000]Esempio o valore predefinitoCancelled by CRM operator
POSThttps://api.dmseurope.com/v1/campaigns/{reference}/cancel
curl -X POST 'https://api.dmseurope.com/v1/campaigns/CMP-2026-0000123/cancel' \
  -H 'Authorization: Bearer API_KEY' -H 'Content-Type: application/json' \
  -d '{"reason":"Cancelled by CRM operator"}'
GET/campaigns/{reference}/statisticsConsultare le statisticheRestituisce i totali attuali e i dettagli per paese, lingua e canale.

Parametri attesi

Intestazioni

AuthorizationstringObbligatorio

Chiave API attiva inviata con lo schema Bearer.

Formato e limitiBearer dms_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Accept-LanguageenumFacoltativo

Lingua preferita dei messaggi di errore; viene usato l’inglese per impostazione predefinita.

Formato e limitifr | en | es | itEsempio o valore predefinitoen

Parametri del percorso

referencestringObbligatorio

Riferimento pubblico della campagna.

Formato e limitiCMP-AAAA-0000000Esempio o valore predefinitoCMP-2026-0000123
GEThttps://api.dmseurope.com/v1/campaigns/{reference}/statistics

Successo — Tutte le risposte HTTP includono X-Request-Id; le risposte JSON includono anche request_id.

GET/invoicesElencare le fattureRestituisce fatture e note di credito. Ogni elemento contiene pdf_url, il cui percorso include opaque_reference.

Parametri attesi

Intestazioni

AuthorizationstringObbligatorio

Chiave API attiva inviata con lo schema Bearer.

Formato e limitiBearer dms_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Accept-LanguageenumFacoltativo

Lingua preferita dei messaggi di errore; viene usato l’inglese per impostazione predefinita.

Formato e limitifr | en | es | itEsempio o valore predefinitoen

Parametri della query

pageintegerFacoltativo

Numero di pagina richiesto.

Formato e limitiinteger[1..1000000]Esempio o valore predefinitodefault 1
per_pageintegerFacoltativo

Numero di risultati per pagina.

Formato e limitiinteger[1..100]Esempio o valore predefinitodefault 20
typeenumFacoltativo

Filtro per tipo di documento.

Formato e limitiinvoice | credit_noteEsempio o valore predefinitoinvoice
Valori accettati
  • invoiceFattura
  • credit_noteNota di credito
statusstringFacoltativo

Stato esatto del ciclo di vita della fattura.

Formato e limitistring [A-Za-z0-9._:-] ≤ 40Esempio o valore predefinitoissued
payment_statusstringFacoltativo

Stato esatto del pagamento.

Formato e limitistring [A-Za-z0-9._:-] ≤ 40Esempio o valore predefinitopaid
issued_fromstringFacoltativo

Data minima di emissione inclusa.

Formato e limitidate YYYY-MM-DDEsempio o valore predefinito2026-08-01
issued_tostringFacoltativo

Data massima di emissione inclusa.

Formato e limitidate YYYY-MM-DDEsempio o valore predefinito2026-08-31
campaign_referencestringFacoltativo

Filtro per riferimento pubblico della campagna.

Formato e limitiCMP-AAAA-0000000Esempio o valore predefinitoCMP-2026-0000123
GEThttps://api.dmseurope.com/v1/invoices

Successo — Tutte le risposte HTTP includono X-Request-Id; le risposte JSON includono anche request_id.

GET/invoices/{number}Consultare una fatturaRestituisce il documento legale strutturato e pdf_url contenente opaque_reference.

Parametri attesi

Intestazioni

AuthorizationstringObbligatorio

Chiave API attiva inviata con lo schema Bearer.

Formato e limitiBearer dms_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Accept-LanguageenumFacoltativo

Lingua preferita dei messaggi di errore; viene usato l’inglese per impostazione predefinita.

Formato e limitifr | en | es | itEsempio o valore predefinitoen

Parametri del percorso

numberstringObbligatorio

Numero legale della fattura o nota di credito.

Formato e limitistring[1..80]Esempio o valore predefinitoINV-2026-000123
GEThttps://api.dmseurope.com/v1/invoices/{number}

Successo — Tutte le risposte HTTP includono X-Request-Id; le risposte JSON includono anche request_id.