API E-mail
createEmailMessage Obsolète
Anchor link toCré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| Nom | Type | Requis | Description |
|---|---|---|---|
| auth | string | Oui | Jeton d’accès API depuis le Control Panel de Pushwoosh. |
| application | string | Oui | Code d’application Pushwoosh |
| notifications | array | Oui | Tableau 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| Nom | Type | Requis | Description |
|---|---|---|---|
| send_date | string | Oui | Définit quand envoyer l’e-mail. Format : AAAA-MM-JJ HH:mm ou "now". |
| preset | string | Oui | Code 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. |
| subject | string ou object | Non | Ligne 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. |
| content | string ou object | Non | Le 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. |
| attachments | array | Non | Les 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_unsubscribe | string | Non | Permet de définir une URL personnalisée pour l’en-tête “Link-Unsubscribe”. |
| campaign | string | Non | Code de campagne pour associer l’e-mail à une campagne spécifique. |
| ignore_user_timezone | boolean | Non | Si true, envoie l’e-mail immédiatement, en ignorant les fuseaux horaires des utilisateurs. |
| timezone | string | Non | Envoie l’e-mail en fonction du fuseau horaire de l’utilisateur. Exemple : "America/New_York". |
| filter | string | Non | Envoie l’e-mail aux utilisateurs correspondant à une condition de filtre spécifique. |
| devices | array | Non | Liste 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_registration | boolean | Non | Si true, enregistre automatiquement les e-mails du paramètre devices. |
| users | array | Non | Si 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_placeholders | object | Non | Espaces réservés pour le contenu dynamique au lieu des valeurs de Tag de l’appareil. |
| conditions | array | Non | Conditions de segmentation utilisant des Tags. Exemple : [["Country", "EQ", "BR"]]. |
| from | object | Non | Spé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-to | object | Non | Spécifiez un e-mail de réponse personnalisé, remplaçant la valeur par défaut dans les propriétés de l’application. |
| bcc | array | Non | CCI (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_type | string | Non | Spécifiez le type d’e-mail : "marketing" ou "transactional". Si omis, les utilisateurs avec PW_ControlGroup: true ne recevront pas le message. |
| email_category | string | Requis 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). |
| transactionId | string | Non | Identifiant 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_days | integer | Non | Le 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_count | integer | Non | Le 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_exclude | boolean | Non | Si défini sur true, cet e-mail ne sera pas comptabilisé pour le plafonnement des futurs e-mails. |
| capping_avoid | boolean | Non | Si défini sur true, le plafonnement ne s’appliquera pas à cet e-mail spécifique. |
| send_rate | integer | Non | Limite 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_avoid | boolean | Non | Si 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}{ "status_code": 403, "status_message": "Token restrictions forbid this operation", "response": null}Conditions de Tag
Anchor link toChaque condition de Tag est un tableau de type [tagName, operator, operand] où
- 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 toOpé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 toOpé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 toOpé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 toOpérateurs valides : EQ
Opérandes valides : 0, 1, true, false
Tags de type liste
Anchor link toOpé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 toEnregistre 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| Nom | Requis | Valeur | Description |
|---|---|---|---|
| Authorization | Oui | Token XXXX | Jeton 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| Nom | Type | Description |
|---|---|---|
| application* | string | Code d’application Pushwoosh |
| email* | string | Adresse e-mail. |
| language | string | Locale de langue de l’appareil. Doit être un code à deux lettres minuscules selon la norme ISO-639-1. |
| userId | string | ID utilisateur à associer à l’adresse e-mail. |
| tz_offset | integer | Décalage de fuseau horaire en secondes. |
| tags | object | Valeurs de Tag à assigner à l’appareil enregistré. |
{ "status_code": 200, "status_message": "OK", "response": null}{ "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 toSupprime 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| Nom | Requis | Valeur | Description |
|---|---|---|---|
| Authorization | Oui | Token XXXX | Jeton 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| Nom | Type | Description |
|---|---|---|
| application | string | Code d’application Pushwoosh |
| string | Adresse e-mail utilisée dans la requête /registerEmail. |
{ "status_code": 200, "status_message": "OK", "response": null}{ "request": { "application": "APPLICATION_CODE", // required. Pushwoosh application code "email": "email@domain.com" // required. Email to delete from app subscribers. }}setEmailTags
Anchor link toDé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| Nom | Requis | Valeur | Description |
|---|---|---|---|
| Authorization | Oui | Token XXXX | Jeton 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| Nom | Type | Description |
|---|---|---|
| application | string | Code d’application Pushwoosh |
| string | Adresse e-mail. | |
| tags | object | Objet JSON de Tags à définir, envoyez ‘null’ pour supprimer la valeur. |
| userId | string | ID utilisateur associé à l’adresse e-mail. |
{ "status_code": 200, "status_message": "OK", "response": { "skipped": [] }}{ "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 toAssocie 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| Nom | Requis | Valeur | Description |
|---|---|---|---|
| Authorization | Oui | Token XXXX | Jeton 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| Nom | Type | Description |
|---|---|---|
| application* | string | Code d’application Pushwoosh |
| email* | string | Adresse e-mail. |
| userId* | string | ID utilisateur à associer à l’adresse e-mail. |
| tz_offset | integer | Décalage de fuseau horaire en secondes. |
{ "status_code": 200, "status_message": "OK", "response": null}{ "status_code": 400, "status_message": "Request format is not valid."}{ "status_code": 403, "status_message": "Forbidden."}{ "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. }}