Passer au contenu

API E-mail

createEmailMessage

Anchor link to

Crée un message e-mail.

POST https://api.pushwoosh.com/json/1.3/createEmailMessage

Paramètres du corps de la requête

Anchor link to
NomType
RequisDescription
authstringOuiJeton d’accès API depuis le Panneau de configuration Pushwoosh.
applicationstringOuiCode d’application Pushwoosh
notificationsarrayOuiTableau JSON contenant les détails du message e-mail. Voir le tableau Paramètres de notifications ci-dessous.

Paramètres de notifications

Anchor link to
NomType
RequisDescription
send_datestringOuiDéfinit quand envoyer l’e-mail. Format : YYYY-MM-DD HH:mm ou "now".
presetstringOuiCode de préréglage E-mail. Copiez-le depuis la barre d’URL de l’Éditeur de contenu E-mail dans le Panneau de configuration Pushwoosh.
subjectstring ou objectNonLigne d’objet de l’e-mail. L’e-mail sera toujours dans la langue du contenu. Si subject ne contient pas de langue correspondante pour content, l’objet sera vide.
contentstring ou objectNonLe contenu du corps de l’e-mail. Peut être une chaîne pour du contenu HTML brut ou un objet pour des versions localisées.
attachmentsarrayNonLes pièces jointes de l’e-mail. Seules deux pièces jointes sont disponibles. Chaque pièce jointe ne doit pas dépasser 1 Mo (encodé en base64).
list_unsubscribestringNonPermet de définir une URL personnalisée pour l’en-tête « Link-Unsubscribe ».
campaignstringNonCode de campagne pour associer l’e-mail à une campagne spécifique.
ignore_user_timezonebooleanNonSi true, envoie l’e-mail immédiatement, en ignorant les fuseaux horaires des utilisateurs.
timezonestringNonEnvoie l’e-mail selon le fuseau horaire de l’utilisateur. Exemple : "America/New_York".
filterstringNonEnvoie l’e-mail aux utilisateurs correspondant à une condition de filtre spécifique.
devicesarrayNonListe d’adresses e-mail (max 1000) pour envoyer des e-mails ciblés. Si utilisé, le message est envoyé uniquement à ces adresses. Ignoré si le Groupe d’applications est utilisé.
use_auto_registrationbooleanNonSi true, enregistre automatiquement les e-mails du paramètre devices.
usersarrayNonSi défini, le message e-mail sera uniquement livré aux ID utilisateur spécifiés (enregistrés via l’appel /registerEmail). Pas plus de 1000 ID utilisateur dans un tableau. Si le paramètre « devices » est spécifié, le paramètre « users » sera ignoré.
dynamic_content_placeholdersobjectNonEspaces réservés pour le contenu dynamique au lieu des valeurs de balises d’appareil.
conditionsarrayNonConditions de segmentation utilisant des balises. Exemple : [["Country", "EQ", "BR"]].
fromobjectNonSpécifiez un nom et un e-mail d’expéditeur personnalisés, remplaçant ceux par défaut dans les propriétés de l’application.
reply-toobjectNonSpécifiez un e-mail de réponse personnalisé, remplaçant celui par défaut dans les propriétés de l’application.
transactionIdstringNonIdentifiant unique de message pour empêcher le renvoi en cas de problèmes réseau. Stocké du côté de Pushwoosh pendant 5 minutes.
capping_daysintegerNonLe nombre de jours (max 30) pour appliquer le plafonnement de fréquence par appareil. Note : Assurez-vous que le Plafonnement de fréquence global est configuré dans le Panneau de configuration.
capping_countintegerNonLe nombre max d’e-mails pouvant être envoyés depuis une application spécifique vers un appareil particulier au cours d’une période capping_days. Si le message créé dépasse la limite capping_count pour un appareil, il ne sera pas envoyé à cet appareil.
capping_excludebooleanNonSi défini sur true, cet e-mail ne sera pas comptabilisé dans le plafonnement pour les futurs e-mails.
capping_avoidbooleanNonSi défini sur true, le plafonnement ne sera pas appliqué à cet e-mail spécifique.
send_rateintegerNonLimite le nombre de messages pouvant être envoyés par seconde à tous les utilisateurs. Aide à prévenir la surcharge du backend lors d’envois volumineux.
send_rate_avoidbooleanNonSi défini sur true, la limite de débit ne sera pas appliquée à cet e-mail spécifique.

Exemple de requête

Anchor link to
{
"request": {
"auth": "API_ACCESS_TOKEN", // requis. Jeton d'accès API depuis le Panneau de configuration Pushwoosh
"application": "APPLICATION_CODE", // requis. Code d'application Pushwoosh.
"notifications": [{
"send_date": "now", // requis. YYYY-MM-DD HH:mm OU 'now'
"preset": "ERXXX-32XXX", // requis. Copiez le code de préréglage E-mail depuis la barre d'URL de
// la page de l'éditeur de contenu E-mail dans le Panneau de configuration Pushwoosh.
"subject": { // optionnel. Ligne d'objet du message e-mail.
"de": "subject de",
"en": "subject en"
},
"content": { // optionnel. Contenu du corps de l'e-mail.
"de": "<html><body>de Hello, moto</body></html>",
"default": "<html><body>default Hello, moto</body></html>"
},
"attachments": [{ // optionnel. Pièces jointes de l'e-mail
"name": "image.png", // "name" - nom du fichier
"content": "iVBANA...AFTkuQmwC" // "content" - contenu du fichier encodé en base64
}, {
"name": "file.pdf",
"content": "JVBERi...AFTarEGC"
}],
"list_unsubscribe": "URL", // optionnel. Permet de définir une URL personnalisée pour l'en-tête "Link-Unsubscribe"
"campaign": "CAMPAIGN_CODE", // optionnel. Pour assigner ce message e-mail à une campagne particulière,
// ajoutez un code de campagne ici.
"ignore_user_timezone": true, // optionnel.
"timezone": "America/New_York", // optionnel. Spécifiez pour envoyer le message selon le
// fuseau horaire défini sur l'appareil de l'utilisateur.
"filter": "FILTER_NAME", // optionnel. Envoyer le message à des utilisateurs spécifiques répondant aux conditions de filtre.
"devices": [ // optionnel. Spécifiez les adresses e-mail pour envoyer des messages e-mail ciblés.
"email_address1", // Pas plus de 1000 adresses dans un tableau.
"email_address2" // Si défini, le message sera envoyé uniquement aux adresses de la
], // liste. Ignoré si le Groupe d'applications est utilisé.
"use_auto_registration": true, // optionnel. Enregistrer automatiquement les e-mails spécifiés dans le paramètre "devices"
"users": [ // optionnel. Si défini, le message e-mail sera uniquement livré aux
"userId1", // ID utilisateur spécifiés (enregistrés via l'appel /registerEmail).
"userId2" // Pas plus de 1000 ID utilisateur dans un tableau.
], // Si le paramètre "devices" est spécifié,
// le paramètre "users" sera ignoré.
"dynamic_content_placeholders": { // optionnel. Espaces réservés pour le contenu dynamique au lieu des valeurs de balises d'appareil.
"firstname": "John",
"firstname_en": "John"
},
"conditions": [ // optionnel. Conditions de segmentation, voir remarque ci-dessous.
["Country", "EQ", "BR"],
["Language", "EQ", "pt"]
],
"from": { // optionnel. Spécifiez un nom et une adresse e-mail d'expéditeur
"name": "alias from", // pour remplacer le "Nom d'expéditeur" et l'"E-mail d'expéditeur" par défaut
"email": "from-email@email.com" // configurés dans les propriétés de l'application.
},
"reply-to": { // optionnel. Spécifiez une adresse e-mail pour remplacer le
"name": "alias reply to ", // "Répondre à" par défaut configuré dans les propriétés de l'application.
"email": "reply-to@email.com"
},
"transactionId": "unique UUID", // optionnel. Identifiant unique de message pour empêcher le renvoi
// en cas de problèmes réseau. Stocké du côté
// de Pushwoosh pendant 5 minutes.
// Paramètres de plafonnement de fréquence. Assurez-vous que le plafonnement de fréquence global est configuré dans le Panneau de configuration.
"capping_days": 30, // optionnel. Nombre de jours pour le plafonnement de fréquence (max 30 jours)
"capping_count": 10, // optionnel. Le nombre max d'e-mails pouvant être envoyés depuis une
// application spécifique vers un appareil particulier au cours d'une période 'capping_days'.
// Si le message créé dépasse la limite
// 'capping_count' pour un appareil, il ne sera pas
// envoyé à cet appareil.
"capping_exclude": true, // optionnel. Si défini sur true, cet e-mail ne sera pas
// comptabilisé dans le plafonnement pour les futurs e-mails.
"capping_avoid": true, // optionnel. Si défini sur true, le plafonnement ne sera pas appliqué à
// cet e-mail spécifique.
"send_rate": 100, // optionnel. Limite de débit.
// Limite le nombre de messages pouvant être envoyés par seconde à tous les utilisateurs.
// Aide à prévenir la surcharge du backend lors d'envois volumineux.
"send_rate_avoid": true, // optionnel. Si défini sur true, la limite de débit ne sera pas appliquée à
// cet e-mail spécifique.
}]
}
}

Exemples de réponse

Anchor link to
{
"status_code": 200,
"status_message": "OK",
"response": null
}

Conditions de balises

Anchor link to

Chaque condition de balise est un tableau comme [tagName, operator, operand]

  • tagName : nom d’une balise
  • operator : “EQ” | “IN” | “NOTEQ” | “NOTIN” | “LTE” | “GTE” | “BETWEEN”
  • operand : string | integer | array | date

Description de l’opérande

Anchor link to
  • EQ : la valeur de la balise est égale à l’opérande ;
  • IN : la valeur de la balise croise l’opérande (l’opérande doit toujours être un tableau) ;
  • NOTEQ : la valeur de la balise n’est pas égale à un opérande ;
  • NOTIN : la valeur de la balise ne croise pas l’opérande (l’opérande doit toujours être un tableau) ;
  • GTE : la valeur de la balise est supérieure ou égale à l’opérande ;
  • LTE : la valeur de la balise est inférieure ou égale à l’opérande ;
  • BETWEEN : la valeur de la balise est supérieure ou égale à la valeur minimale de l’opérande mais inférieure ou égale à la valeur maximale de l’opérande (l’opérande doit toujours être un tableau).

Balises de chaîne (String)

Anchor link to

Opérateurs valides : EQ, IN, NOTEQ, NOTIN
Opérandes valides :

  • EQ, NOTEQ : l’opérande doit être une chaîne ;
  • IN, NOTIN : l’opérande doit être un tableau de chaînes comme ["value 1", "value 2", "value N"] ;

Balises d’entier (Integer)

Anchor link to

Opérateurs valides : EQ, IN, NOTEQ, NOTIN, BETWEEN, GTE, LTE
Opérandes valides :

  • EQ, NOTEQ, GTE, LTE : l’opérande doit être un entier ;
  • IN, NOTIN : l’opérande doit être un tableau d’entiers comme [value 1, value 2, value N] ;
  • BETWEEN : l’opérande doit être un tableau d’entiers comme [min_value, max_value].

Balises de date (Date)

Anchor link to

Opérateurs valides : EQ, IN, NOTEQ, NOTIN, BETWEEN, GTE, LTE
Opérandes valides :

  • "YYYY-MM-DD 00:00" (chaîne)
  • timestamp unix 1234567890 (entier)
  • "N days ago" (chaîne) pour les opérateurs EQ, BETWEEN, GTE, LTE

Balises booléennes (Boolean)

Anchor link to

Opérateurs valides : EQ
Opérandes valides : 0, 1, true, false

Balises de liste (List)

Anchor link to

Opérateurs valides : IN
Opérandes valides : l’opérande doit être un tableau de chaînes comme ["value 1", "value 2", "value N"].

registerEmail

Anchor link to

Enregistre l’adresse e-mail pour l’application.

POST https://api.pushwoosh.com/json/1.3/registerEmail

En-têtes de requête

Anchor link to
NomRequisValeurDescription
AuthorizationOuiJeton XXXXJeton API Device pour accéder à l’API Device. Remplacez XXXX par votre jeton API Device réel.

Corps de la requête

Anchor link to
NomTypeDescription
application*stringCode d’application Pushwoosh
email*stringAdresse e-mail.
languagestringParamètres régionaux de langue de l’appareil. Doit être un code à deux lettres minuscules selon la norme ISO-639-1.
userIdstringID utilisateur à associer à l’adresse e-mail.
tz_offsetintegerDécalage horaire en secondes.
tagsobjectValeurs de balises à assigner à l’appareil enregistré.
{
"status_code": 200,
"status_message": "OK",
"response": null
}
Exemple
{
"request": {
"application": "APPLICATION_CODE", // requis. Code d'application Pushwoosh.
"email":"email@domain.com", // requis. Adresse e-mail à enregistrer.
"language": "en", // optionnel. Paramètres régionaux de langue.
"userId": "userId", // optionnel. ID utilisateur à associer à l'adresse e-mail.
"tz_offset": 3600, // optionnel. Décalage horaire en secondes.
"tags": { // optionnel. Valeurs de balises à définir pour l'appareil enregistré.
"StringTag": "string value",
"IntegerTag": 42,
"ListTag": ["string1","string2"], // définit la liste des valeurs pour les balises de type Liste
"DateTag": "2024-10-02 22:11", // notez que l'heure doit être en UTC
"BooleanTag": true // les valeurs valides sont : true, false
}
}
}

deleteEmail

Anchor link to

Supprime l’adresse e-mail de votre base d’utilisateurs.

POST https://api.pushwoosh.com/json/1.3/deleteEmail

En-têtes de requête

Anchor link to
NomRequisValeurDescription
AuthorizationOuiJeton XXXXJeton API Device pour accéder à l’API Device. Remplacez XXXX par votre jeton API Device réel.

Corps de la requête

Anchor link to
NomTypeDescription
applicationstringCode d’application Pushwoosh
emailstringAdresse e-mail utilisée dans la requête /registerEmail.
{
"status_code": 200,
"status_message": "OK",
"response": null
}
Exemple
{
"request": {
"application": "APPLICATION_CODE", // requis. Code d'application Pushwoosh
"email": "email@domain.com" // requis. E-mail à supprimer des abonnés de l'application.
}
}

setEmailTags

Anchor link to

Définit les valeurs de balises pour l’adresse e-mail.

POST https://api.pushwoosh.com/json/1.3/setEmailTags

En-têtes de requête

Anchor link to
NomRequisValeurDescription
AuthorizationOuiJeton XXXXJeton API Device pour accéder à l’API Device. Remplacez XXXX par votre jeton API Device réel.

Corps de la requête

Anchor link to
NomTypeDescription
applicationstringCode d’application Pushwoosh
emailstringAdresse e-mail.
tagsobjectObjet JSON de balises à définir, envoyez ‘null’ pour supprimer la valeur.
userIdstringID utilisateur associé à l’adresse e-mail.
{
"status_code": 200,
"status_message": "OK",
"response": {
"skipped": []
}
}
Exemple
{
"request": {
"email": "email@domain.com", // requis. Adresse e-mail pour laquelle définir les balises.
"application": "APPLICATION_CODE", // requis. Code d'application Pushwoosh.
"tags": {
"StringTag": "string value",
"IntegerTag": 42,
"ListTag": ["string1", "string2"],
"DateTag": "2024-10-02 22:11", // heure en UTC
"BooleanTag": true // les valeurs valides sont : true, false
},
"userId": "userId" // optionnel. ID utilisateur associé à l'adresse e-mail.
}
}

registerEmailUser

Anchor link to

Associe un ID utilisateur externe à une adresse e-mail spécifiée.

POST https://api.pushwoosh.com/json/1.3/registerEmailUser

Peut être utilisé dans l’appel API /createEmailMessage (le paramètre ‘users’).

En-têtes de requête

Anchor link to
NomRequisValeurDescription
AuthorizationOuiJeton XXXXJeton API Device pour accéder à l’API Device. Remplacez XXXX par votre jeton API Device réel.

Corps de la requête

Anchor link to
NomTypeDescription
application*stringCode d’application Pushwoosh
email*stringAdresse e-mail.
userId*stringID utilisateur à associer à l’adresse e-mail.
tz_offsetintegerDécalage horaire en secondes.
{
"status_code": 200,
"status_message": "OK",
"response": null
}
Exemple
{
"request": {
"application": "APPLICATION_CODE", // requis. Code d'application Pushwoosh.
"email": "email@domain.com", // requis. Adresse e-mail de l'utilisateur.
"userId": "userId", // requis. ID utilisateur à associer à l'adresse e-mail.
"tz_offset": 3600 // optionnel. Décalage horaire en secondes.
}
}