Passer au contenu

API E-mail

createEmailMessage Obsolète

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 Control Panel de Pushwoosh.
applicationstringOuiCode d’application Pushwoosh
notificationsarrayOuiTableau JSON contenant les détails du message e-mail. Voir le tableau Paramètres des notifications ci-dessous.

Paramètres des notifications

Anchor link to
NomType
RequisDescription
send_datestringOuiDéfinit quand envoyer l’e-mail. Format : AAAA-MM-JJ HH:mm ou "now".
presetstringOuiCode de préréglage d’e-mail. Copiez depuis la barre d’URL de l’Éditeur de contenu d’e-mail dans le Control Panel de Pushwoosh.
subjectstring ou objectNonLigne d’objet de l’e-mail. L’e-mail sera toujours dans la langue du contenu. Si l’objet ne contient pas de langue correspondante pour le contenu, l’objet sera vide.
contentstring ou objectNonLe contenu du corps de l’e-mail. Peut être une chaîne de caractères pour du contenu HTML simple 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ée 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 en fonction du 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 n’est envoyé qu’à 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 ne sera livré qu’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 Tag de l’appareil.
conditionsarrayNonConditions de segmentation utilisant des Tags. Exemple : [["Country", "EQ", "BR"]].
fromobjectNonSpécifiez un nom d’expéditeur et un e-mail personnalisés, remplaçant les valeurs par défaut dans les propriétés de l’application.
reply-toobjectNonSpécifiez un e-mail de réponse personnalisé, remplaçant la valeur par défaut dans les propriétés de l’application.
bccarrayNonCCI (Copie Carbone Invisible) : tableau d’adresses e-mail qui reçoivent une copie de l’e-mail sans que les autres destinataires ne les voient.
email_typestringNonSpécifiez le type d’e-mail : "marketing" ou "transactional". Si omis, les utilisateurs avec PW_ControlGroup: true ne recevront pas le message.
email_categorystringRequis lorsque email_type est "marketing".Spécifiez l’un des noms de catégorie configurés dans le centre de préférences d’abonnement (par ex. Newsletter, Promotionnel, Mises à jour de produit).
transactionIdstringNonIdentifiant de message unique pour éviter le ré-envoi 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 Control Panel.
capping_countintegerNonLe nombre maximum d’e-mails pouvant être envoyés depuis une application spécifique à un appareil particulier pendant une période de capping_days. Si le message créé dépasse la limite de 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é pour le plafonnement des futurs e-mails.
capping_avoidbooleanNonSi défini sur true, le plafonnement ne s’appliquera pas à 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 à grand volume.
send_rate_avoidbooleanNonSi défini sur true, la limite de régulation ne s’appliquera pas à cet e-mail spécifique.

Exemple de requête

Anchor link to
{
"request": {
"auth": "API_ACCESS_TOKEN", // required. API access token from Pushwoosh Control Panel
"application": "APPLICATION_CODE", // required. Pushwoosh application code.
"notifications": [{
"send_date": "now", // required. YYYY-MM-DD HH:mm OR 'now'
"preset": "ERXXX-32XXX", // required. Copy Email preset code from the URL bar of
// the Email Content editor page in Pushwoosh Control Panel.
"subject": { // optional. Email message subject line.
"de": "subject de",
"en": "subject en"
},
"content": { // optional. Email body content.
"de": "<html><body>de Hello, moto</body></html>",
"default": "<html><body>default Hello, moto</body></html>"
},
"attachments": [{ // optional. Email attachments
"name": "image.png", // "name" - file name
"content": "iVBANA...AFTkuQmwC" // "content" - base64 encoded content of the file
}, {
"name": "file.pdf",
"content": "JVBERi...AFTarEGC"
}],
"list_unsubscribe": "URL", // optional. Allow to set custom URL for "Link-Unsubscribe" header
"campaign": "CAMPAIGN_CODE", // optional. To assign this email message to a particular campaign,
// add a campaign code here.
"ignore_user_timezone": true, // optional.
"timezone": "America/New_York", // optional. Specify to send the message according to
// timezone set on user's device.
"filter": "FILTER_NAME", // optional. Send the message to specific users meeting filter conditions.
"devices": [ // optional. Specify email addresses to send targeted email messages.
"email_address1", // Not more than 1000 addresses in an array.
"email_address2" // If set, the message will only be sent to the addresses on
], // the list. Ignored if the Application Group is used.
"use_auto_registration": true, // optional. Automatically register emails specified in "devices" parameter
"users": [ // optional. If set, the email message will only be delivered to the
"userId1", // specified user IDs (registered via /registerEmail call).
"userId2" // Not more than 1000 user IDs in an array.
], // If the "devices" parameter is specified,
// the "users" parameter will be ignored.
"dynamic_content_placeholders": { // optional. Placeholders for dynamic content instead of device tag values.
"firstname": "John",
"firstname_en": "John"
},
"conditions": [ // optional. Segmentation conditions, see remark below.
["Country", "EQ", "BR"],
["Language", "EQ", "pt"]
],
"from": { // optional. Specify a sender name and sender email address
"name": "alias from", // to replace the default "From name" and "From email"
"email": "from-email@email.com" // set up in application properties.
},
"reply-to": { // optional. Specify an email address to replace the
"name": "alias reply to ", // default "Reply to" set up in application properties.
"email": "reply-to@email.com"
},
"bcc": [ // optional. BCC: array of email addresses that receive a copy without other recipients seeing them.
"bcc1@example.com",
"bcc2@example.com"
],
"email_type": "marketing", // optional. "marketing" or "transactional".
// If omitted, users with PW_ControlGroup: true will not receive the message.
"email_category": "category name",// required when email_type is "marketing". Category name.
"transactionId": "unique UUID", // optional. Unique message identifier to prevent re-sending
// in case of network problems. Stored on the side
// of Pushwoosh for 5 minutes.
// Frequency capping params. Ensure that Global frequency capping is configured in the Control Panel.
// Frequency capping does not apply to transactional messages.
// In all other cases, including omitted "email_type", frequency capping applies.
"capping_days": 30, // optional. Amount of days for frequency capping (max 30 days)
"capping_count": 10, // optional. The max number of emails that can be sent from a
// specific app to a particular device within a 'capping_days'
// period. In case the message created exceeds the
// 'capping_count' limit for a device, it won't
// be sent to that device.
"capping_exclude": true, // optional. If set to true, this email will not
// be counted towards the capping for future emails.
"capping_avoid": true, // optional. If set to true, capping will not be applied to
// this specific email.
"send_rate": 100, // optional. Throttling limit.
// Limit how many messages can be sent per second across all users.
// Helps prevent backend overload during high-volume sends.
"send_rate_avoid": true, // optional. If set to true, throttling limit will not be applied to
// this specific email.
}]
}
}

Exemples de réponse

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

Conditions de Tag

Anchor link to

Chaque condition de Tag est un tableau de type [tagName, operator, operand]

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

Description de l’opérande

Anchor link to
  • EQ : la valeur du Tag est égale à l’opérande ;
  • IN : la valeur du Tag croise l’opérande (l’opérande doit toujours être un tableau) ;
  • NOTEQ : la valeur du Tag n’est pas égale à un opérande ;
  • NOTIN : la valeur du Tag ne croise pas l’opérande (l’opérande doit toujours être un tableau) ;
  • GTE : la valeur du Tag est supérieure ou égale à l’opérande ;
  • LTE : la valeur du Tag est inférieure ou égale à l’opérande ;
  • BETWEEN : la valeur du Tag 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).

Tags de type chaîne

Anchor link to

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

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

Tags de type entier

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 [valeur 1, valeur 2, valeur N] ;
  • BETWEEN : l’opérande doit être un tableau d’entiers comme [valeur_min, valeur_max].

Tags de type date

Anchor link to

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

  • "AAAA-MM-JJ 00:00" (chaîne)
  • timestamp unix 1234567890 (entier)
  • "Il y a N jours" (chaîne) pour les opérateurs EQ, BETWEEN, GTE, LTE

Tags de type booléen

Anchor link to

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

Tags de type liste

Anchor link to

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

registerEmail

Anchor link to

Enregistre une adresse e-mail pour l’application.

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

En-têtes de la requête

Anchor link to
NomRequisValeurDescription
AuthorizationOuiToken XXXXJeton d’appareil API pour accéder à l’API de l’appareil. Remplacez XXXX par votre jeton d’appareil API réel.

Corps de la requête

Anchor link to
NomTypeDescription
application*stringCode d’application Pushwoosh
email*stringAdresse e-mail.
languagestringLocale 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 de fuseau horaire en secondes.
tagsobjectValeurs de Tag à assigner à l’appareil enregistré.
{
"status_code": 200,
"status_message": "OK",
"response": null
}
Exemple
{
"request": {
"application": "APPLICATION_CODE", // required. Pushwoosh application code.
"email":"email@domain.com", // required. Email address to be registered.
"language": "en", // optional. Language locale.
"userId": "userId", // optional. User ID to associate with the email address.
"tz_offset": 3600, // optional. Timezone offset in seconds.
"tags": { // optional. Tag values to set for the device registered.
"StringTag": "string value",
"IntegerTag": 42,
"ListTag": ["string1","string2"], // sets the list of values for Tags of List type
"DateTag": "2024-10-02 22:11", // note the time should be in UTC
"BooleanTag": true // valid values are: true, false
}
}
}

deleteEmail

Anchor link to

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

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

En-têtes de la requête

Anchor link to
NomRequisValeurDescription
AuthorizationOuiToken XXXXJeton d’appareil API pour accéder à l’API de l’appareil. Remplacez XXXX par votre jeton d’appareil API 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", // required. Pushwoosh application code
"email": "email@domain.com" // required. Email to delete from app subscribers.
}
}

setEmailTags

Anchor link to

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

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

En-têtes de la requête

Anchor link to
NomRequisValeurDescription
AuthorizationOuiToken XXXXJeton d’appareil API pour accéder à l’API de l’appareil. Remplacez XXXX par votre jeton d’appareil API réel.

Corps de la requête

Anchor link to
NomTypeDescription
applicationstringCode d’application Pushwoosh
emailstringAdresse e-mail.
tagsobjectObjet JSON de Tags à 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", // required. Email address to set tags for.
"application": "APPLICATION_CODE", // required. Pushwoosh application code.
"tags": {
"StringTag": "string value",
"IntegerTag": 42,
"ListTag": ["string1", "string2"],
"DateTag": "2024-10-02 22:11", // time in UTC
"BooleanTag": true // valid values are: true, false
},
"userId": "userId" // optional. User ID associated with the email address.
}
}

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 la requête

Anchor link to
NomRequisValeurDescription
AuthorizationOuiToken XXXXJeton d’appareil API pour accéder à l’API de l’appareil. Remplacez XXXX par votre jeton d’appareil API 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 de fuseau horaire en secondes.
{
"status_code": 200,
"status_message": "OK",
"response": null
}
Exemple
{
"request": {
"application": "APPLICATION_CODE", // required. Pushwoosh application code.
"email": "email@domain.com", // required. User email address.
"userId": "userId", // required. User ID to associate with the email address.
"tz_offset": 3600 // optional. Timezone offset in seconds.
}
}