Passer au contenu

API de l'appareil

registerDevice

Anchor link to

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

Appelée en interne depuis le SDK. Enregistre un appareil pour l’application.

En-têtes de la requête
Anchor link to
NomRequisValeurDescription
AuthorizationOuiToken XXXXJeton d’API Appareil (API Device Token) pour accéder à l’API Appareil. Remplacez XXXX par votre jeton d’API Appareil.
Corps de la requête
Anchor link to
NomTypeDescription
application*stringCode d’application Pushwoosh
push_tokenstringJeton push pour l’appareil.
languagestringLocale de la langue de l’appareil. Doit être un code de deux lettres en minuscules conforme à la norme ISO-639-1.
hwid*stringChaîne de caractères unique pour identifier l’appareil (IDFV sur iOS, valeur générée aléatoirement sur Android). En savoir plus
timezoneintegerDécalage horaire en secondes pour l’appareil.
device_type*integerType d’appareil. Voir les valeurs possibles ci-dessous.
emailstringAdresse e-mail à enregistrer (à utiliser pour les utilisateurs d’e-mail à la place du HWID et du jeton push).
tagsobjectValeurs des tags à assigner à l’appareil enregistré.
{
"status_code": 200,
"status_message": "OK",
"response": null
}
Exemple
{
"request": {
"application": "XXXXX-XXXXX", // requis. Code d'application Pushwoosh
"push_token": "dec301908b9ba8XXXXX57a58e40f96f5XXXXX2068674f5XXXXa25cdc250a2a41", // optionnel.
"hwid": "1CA6XXXXX-8DAC-XXXXX-XXXXX-B756288B6D3C", // requis. ID matériel de l'appareil
"idfa": "AEBE52E7-0XXXXX-455A-XXXXX-E57283966239", // optionnel.
"timezone": 3600, // optionnel. Décalage en secondes
"device_type": 1, // requis. Voir les valeurs possibles ci-dessous. Pour les e-mails,
// utilisez les paramètres "emails" comme décrit ci-dessous.
"email": "email_address@domain.com", // à utiliser à la place de "hwid" et "push_token" pour enregistrer
// l'adresse e-mail pour votre projet d'e-mail
"language": "en", // optionnel. Code de langue ISO 639-1|639-2
"userId": "Alex", // optionnel.
"tags": { // optionnel. Valeurs des tags à définir pour l'appareil enregistré
"StringTag": "string value",
"IntegerTag": 42,
"ListTag": ["string1", "string2"], // définit la liste de valeurs pour les Tags 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
},
// tags système, optionnels
"app_version": "1.2.3",
"device_model": "Samsung SM-G355H",
"os_version": "2.3",
// clés de chiffrement optionnelles pour Chrome/Firefox
"public_key": "BNmDO4BTKEMJqaqprTf7t/HBXXXXX/orcXXXXX/scS5CFP6XXXXXHI1/GgRQD8c4kTxTEEF0quvIUiLQqoBY0/Qo=",
"auth_token": "RlRmCXXXXX/s7XXXXXjKFzoQ==",
// clés FCM optionnelles pour Chrome (pour XMPP)
"fcm_token": "BNmDO4BTKEMJXXXXXprTf7t/XXXXXBQ/orXXXXXc/scS5CFP6zhQGIHI1/GgRQD8c4kTxTEEF0quvIUiLQqoBY0/Qo=",
"fcm_push_set": "RlXXXXXGM/s7XXXXXjKFzoQ=="
}
}

Types d’appareils possibles :

  • 1 – iOS
  • 3 – Android
  • 7 – Mac OS X
  • 8 – Windows
  • 9 – Amazon
  • 10 – Safari
  • 11 – Chrome
  • 12 – Firefox
  • 14 – Email
  • 17 – Huawei
  • 18 – SMS
  • 21 – WhatsApp

Enregistrement des appareils e-mail

Anchor link to

Pour enregistrer un abonné par e-mail pour votre application, envoyez le paramètre "email": "email_address@domain.com" dans votre requête /registerDevice ou /registerEmail comme suit :

Exemple de requête
Anchor link to
{
"request":{
"application": "XXXXX-XXXXX", // requis. Code d'application Pushwoosh
"email": "email_address@domain.com", // requis. Adresse e-mail à enregistrer pour votre projet d'e-mail
"language": "en", // optionnel. Code de langue ISO 639-1|639-2
"userId": "Alex", // optionnel.
"tags": { // optionnel. Valeurs des tags à définir pour l'appareil enregistré
"StringTag": "string value",
"IntegerTag": 42,
"ListTag": ["string1", "string2"], // définit la liste de valeurs pour les Tags 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
}
}
}

Enregistrement des appareils WhatsApp

Anchor link to

Pour enregistrer un appareil WhatsApp pour votre application, suivez ces directives :

  • hwid : Assurez-vous que ce champ inclut le préfixe whatsapp: suivi du numéro de téléphone au format E.164 (par ex., whatsapp:+0000000000). Le numéro de téléphone doit être valide, ce que Pushwoosh vérifiera.

  • Jeton push : Un jeton push n’est pas requis, car le hwid fonctionnera automatiquement comme jeton push.

  • device_type : Définissez ce champ sur 21 pour spécifier WhatsApp comme plateforme.

Exemple de requête
Anchor link to
{
"request": {
"application": "XXXXX-XXXXX", // requis. Code d'application Pushwoosh
"hwid": "whatsapp:+0000000000", // requis. Préfixe WhatsApp et numéro de téléphone valide
"timezone": 3600, // optionnel. Décalage horaire en secondes
"device_type": 21, // requis. Le type d'appareil WhatsApp est 21
"language": "en", // optionnel. Code de langue ISO 639-1|639-2
"userId": "Alex", // optionnel. Identifiant de l'utilisateur
"tags": { // optionnel. Valeurs des tags pour une segmentation personnalisée
"StringTag": "string value",
"IntegerTag": 42,
"ListTag": ["string1", "string2"],
"DateTag": "2024-10-02 22:11", // Format UTC
"BooleanTag": true
},
"app_version": "1.2.3", // optionnel. Version de l'application
"device_model": "Samsung SM-G355H", // optionnel. Modèle de l'appareil
"os_version": "2.3" // optionnel. Version du système d'exploitation
}
}

Enregistrement des appareils SMS

Anchor link to

Pour enregistrer un appareil SMS pour votre application, suivez ces directives :

  • hwid : Assurez-vous que ce champ inclut le numéro de téléphone au format E.164 (par ex., +0000000000). Le numéro de téléphone doit être valide, ce que Pushwoosh vérifiera.

  • Jeton push : Un jeton push n’est pas requis, car le hwid fonctionnera automatiquement comme jeton push.

  • device_type : Définissez ce champ requis sur 18 pour désigner SMS comme plateforme.

Exemple de requête
Anchor link to
{
"request": {
"application": "XXXXX-XXXXX", // requis. Code d'application Pushwoosh
"hwid": "+0000000000", // requis. Numéro de téléphone valide au format E.164
"timezone": 3600, // optionnel. Décalage horaire en secondes
"device_type": 18, // requis. Le type d'appareil SMS est 18
"language": "en", // optionnel. Code de langue ISO 639-1|639-2
"userId": "Alex", // optionnel. Identifiant de l'utilisateur
"tags": { // optionnel. Valeurs des tags pour une segmentation personnalisée
"StringTag": "string value",
"IntegerTag": 42,
"ListTag": ["string1", "string2"],
"DateTag": "2024-10-02 22:11", // Format UTC
"BooleanTag": true
},
"app_version": "1.2.3", // optionnel. Version de l'application
"device_model": "Samsung SM-G355H", // optionnel. Modèle de l'appareil
"os_version": "2.3" // optionnel. Version du système d'exploitation
}
}

Codes de statut :

Code de statut HTTPstatus_codeDescription
200200Appareil enregistré avec succès
200210Erreur d’argument. Voir status_message pour plus d’infos.
400N/AChaîne de requête malformée
500500Erreur interne

unregisterDevice

Anchor link to

POST https://go.pushwoosh.com/json/1.3/unregisterDevice

Supprime le jeton push de l’appareil. L’appareil désinscrit est toujours comptabilisé dans le nombre total d’appareils (Total Devices) et peut être atteint avec des messages In-App. Appelée en interne depuis le SDK.

En-têtes de la requête
Anchor link to
NomRequisValeurDescription
AuthorizationOuiToken XXXXJeton d’API Appareil (API Device Token) pour accéder à l’API Appareil. Remplacez XXXX par votre jeton d’API Appareil.
Corps de la requête
Anchor link to
NomTypeDescription
application*stringCode d’application Pushwoosh
hwid*stringID matériel de l’appareil utilisé dans la requête /registerDevice.
{
"status_code": 200,
"status_message": "OK",
"response": null
}
Exemple
{
"request": {
"application": "XXXXX-XXXXX", // requis. Code d'application Pushwoosh
"hwid": "8f65b16XXXXXe7a6beceXXXXX530fb2" // requis. ID matériel de l'appareil utilisé dans l'API /registerDevice
}
}

Codes de statut :

Code de statut HTTPstatus_codeDescription
200200Appareil désinscrit avec succès
200210Erreur d’argument. Voir status_message pour plus d’infos.
400N/AChaîne de requête malformée
500500Erreur interne

POST https://go.pushwoosh.com/json/1.3/setTags

Définit les valeurs des tags pour l’appareil. Appelée depuis le SDK.

En-têtes de la requête
Anchor link to
NomRequisValeurDescription
AuthorizationOuiToken XXXXJeton d’API Appareil (API Device Token) pour accéder à l’API Appareil. Remplacez XXXX par votre jeton d’API Appareil.
Corps de la requête
Anchor link to
NomTypeDescription
application*stringCode d’application Pushwoosh
hwid*stringID matériel de l’appareil utilisé dans la requête /registerDevice.
tags*objectObjet JSON des tags à définir, envoyez “null” pour supprimer la valeur.
{
"status_code": 200,
"status_message": "OK",
"response": null
}
Exemple
{
"request":{
"application": "XXXXX-XXXXX", // requis. Code d'application Pushwoosh
"hwid": "8f65b16XXXXXe7a6becXXXXXe1530fb2", // requis. ID matériel de l'appareil utilisé dans l'API /registerDevice
"tags": { // requis.
"StringTag": "string value",
"IntegerTag": 42,
"ListTag": ["string1", "string2"], // définit la liste de valeurs pour les Tags de type Liste
"DateTag": "2024-10-02 22:11", // notez que l'heure est en UTC
"BooleanTag": true // les valeurs valides sont - true, false
}
}
}

Incrémenter les valeurs du tag Entier (Integer)

Anchor link to

Pour incrémenter une valeur du tag Entier (Integer), utilisez le paramètre operation avec la valeur “increment” comme suit :

{
"request":{
"application": "12345-67890", // requis. Code d'application Pushwoosh
"hwid": "21AB7628-XXXX-XXXX-CCC0-PO287CS24CA4", // requis. ID matériel de l'appareil utilisé dans l'API /registerDevice
"tags": { // requis.
"Level": { // Nom du Tag
"operation": "increment", // remplace le tag entier par incréments de la valeur suivante
"value": 1 // incrément pour la valeur du tag
}
}
}
}

Décrémenter les valeurs du tag Entier (Integer)

Anchor link to

Pour décrémenter, utilisez des nombres négatifs comme valeur pour l’opération “increment” (-1, -2, -3,-n) :

{
"request":{
"application": "12345-67890", // requis. Code d'application Pushwoosh
"hwid": "21AB7628-XXXX-XXXX-CCC0-PO287CS24CA4", // requis. ID matériel de l'appareil utilisé dans l'API /registerDevice
"tags": { // requis
"Level": { // Nom du Tag
"operation": "increment", // remplace le tag entier par décréments de la valeur suivante
"value": -1 // décrément pour la valeur du tag
}
}
}
}

Ajouter des valeurs au tag Liste (List)

Anchor link to

Pour étendre le tag Liste (List) avec de nouvelles valeurs, utilisez le paramètre operation avec la valeur “append” comme suit :

Exemple
{
"request": {
"hwid": "3d124a79XXXXf189XXXX7dfd9XXXXafd", // requis. ID matériel de l'appareil utilisé dans l'API /registerDevice
"application": "6XXXX-XXXX3", // requis. Code d'application Pushwoosh
"tags": { // requis.
"ListTag": { // Nom du Tag
"operation": "append", // ajoute les valeurs suivantes à la liste de valeurs du Tag
"value": [ // valeurs à ajouter
"tag2",
"tag3"
]
}
}
}
}

Supprimer des valeurs du tag Liste (List)

Anchor link to

Pour supprimer certaines valeurs du tag Liste (List), utilisez l’opération “remove” comme suit :

{
"request":{
"application": "12345-67890", // requis. Code d'application Pushwoosh
"hwid": "21AB7628-XXXX-XXXX-CCC0-PO287CS24CA4", // requis. ID matériel de l'appareil utilisé dans l'API /registerDevice
"tags": { // requis.
"In-App Product": { // Nom du Tag
"operation": "remove", // supprime les valeurs suivantes du tag de liste
"value": "outwear_02" // valeur ou valeurs à supprimer
}
}
}
}

Définir les tags par ID utilisateur (UserID)

Anchor link to

Pour définir des tags pour tous les appareils associés à un ID utilisateur particulier, utilisez le paramètre “userId” au lieu de “hwid”.

Exemple
{
"request":{
"application": "AAAAA-BBBBB", // Code d'application Pushwoosh
"userId": "some_user", // ID utilisateur pour lequel vous souhaitez définir des tags
"tags": { // tags et valeurs à définir
"Language": "es"
}
}
}

Codes de statut :

Code de statut HTTPstatus_codeDescription
200200Les tags ont été définis avec succès
200210Erreur d’argument. Voir status_message pour plus d’infos.
400N/AChaîne de requête malformée
500500Erreur interne

POST https://go.pushwoosh.com/json/1.3/getTags

Récupère une liste de tags avec les valeurs correspondantes pour l’appareil spécifié.

En-têtes de la requête
Anchor link to
NomRequisValeurDescription
AuthorizationOuiToken XXXXJeton d’API Appareil (API Device Token) pour accéder à l’API Appareil. Remplacez XXXX par votre jeton d’API Appareil.
Corps de la requête
Anchor link to
NomTypeDescription
application*stringCode d’application Pushwoosh
userIdstringID utilisateur à utiliser à la place de “hwid”. S’il est utilisé avec un “hwid”, le “hwid” prévaut.
hwidstringID matériel de l’appareil utilisé dans la requête /registerDevice.
{
"status_code": 200,
"status_message": "OK",
"response": {
"result": {
"Language": "fr"
}
}
}
Exemple
{
"request":{
"application": "XXXXX-XXXXX", // requis. Code d'application Pushwoosh
"hwid": "HWID", // optionnel. ID matériel de l'appareil utilisé dans l'API /registerDevice
"userId": "USER_ID" // optionnel. Peut être utilisé à la place de "hwid" pour récupérer les tags d'un utilisateur spécifique
}
}

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

Envoie la valeur actuelle du badge d’un appareil à Pushwoosh. Appelée en interne depuis le SDK.

En-têtes de la requête
Anchor link to
NomRequisValeurDescription
AuthorizationOuiToken XXXXJeton d’API Appareil (API Device Token) pour accéder à l’API Appareil. Remplacez XXXX par votre jeton d’API Appareil.
Corps de la requête
Anchor link to
NomTypeDescription
application*stringCode d’application Pushwoosh
hwid*stringID matériel de l’appareil utilisé dans la requête /registerDevice.
badge*integerBadge actuel sur l’application.
{
"status_code": 200,
"status_message": "OK"
}
Exemple
{
"request":{
"application": "XXXXX-XXXXX", // requis. Code d'application Pushwoosh
"hwid": "8f65b16dXXXXe7a6XXXX9614XXXX0fb2", // requis. ID matériel de l'appareil utilisé dans l'API /registerDevice
"badge": 4 // requis. Badge actuel sur l'application
}
}

Appelée en interne depuis le SDK. Envoie la valeur actuelle du badge d’un appareil à Pushwoosh. Cela se produit en interne lorsque l’application modifie la valeur du badge sur un appareil iOS. Permet aux badges à incrémentation automatique de fonctionner correctement.

applicationOpen

Anchor link to

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

Enregistre un événement d’ouverture d’application. Appelée en interne depuis le SDK.

En-têtes de la requête
Anchor link to
NomRequisValeurDescription
AuthorizationOuiToken XXXXJeton d’API Appareil (API Device Token) pour accéder à l’API Appareil. Remplacez XXXX par votre jeton d’API Appareil.
Corps de la requête
Anchor link to
NomTypeDescription
application*stringCode d’application Pushwoosh
hwid*stringID matériel de l’appareil utilisé dans la requête /registerDevice.
{
"status_code": 200,
"status_message": "OK"
}
Exemple
{
"request": {
"application": "XXXXX-XXXXX", // requis. Code d'application Pushwoosh
"hwid": "8f65b16dXXXXe7a6XXXX9614eXXXXfb2" // requis. ID matériel de l'appareil utilisé dans l'API /registerDevice
}
}

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

Enregistre un événement d’ouverture de push. Appelée en interne depuis le SDK.

En-têtes de la requête
Anchor link to
NomRequisValeurDescription
AuthorizationOuiToken XXXXJeton d’API Appareil (API Device Token) pour accéder à l’API Appareil. Remplacez XXXX par votre jeton d’API Appareil.
Corps de la requête
Anchor link to
NomTypeDescription
application*stringCode d’application Pushwoosh
hwid*stringID matériel de l’appareil utilisé dans la requête /registerDevice.
userIdstringID utilisateur à associer à l’événement d’ouverture de push.
hashstringTag de hachage (hash) reçu dans la notification push (paramètre “p” de la charge utile du push).
{
"status_code": 200,
"status_message": "OK",
"response": null
}
Exemple
{
"request": {
"application": "XXXXX-XXXXX", // requis. Code d'application Pushwoosh
"hwid": "8f65b16dfXXXX7a6beXXXX14e1530fb2", // requis. ID matériel de l'appareil utilisé dans l'API /registerDevice
"userId": "USER012345", // optionnel. L'ID utilisateur à associer à l'événement d'ouverture du push
"hash": "HASH_TAG" // optionnel. Tag de hachage (hash) reçu dans la notification push
// (paramètre "p" dans la charge utile du push)
}
}

messageDeliveryEvent

Anchor link to

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

Enregistre l’événement de livraison de push pour l’appareil. Appelée en interne depuis le SDK.

En-têtes de la requête
Anchor link to
NomRequisValeurDescription
AuthorizationOuiToken XXXXJeton d’API Appareil (API Device Token) pour accéder à l’API Appareil. Remplacez XXXX par votre jeton d’API Appareil.
Corps de la requête
Anchor link to
NomTypeDescription
application*stringCode d’application Pushwoosh
hwid*stringID matériel de l’appareil utilisé dans la requête /registerDevice.
hashstringTag de hachage (hash) reçu dans la notification push (paramètre “p” de la charge utile du push).
{
"status_code": 200,
"status_message": "OK",
"response": null
}
Exemple
{
"request": {
"application": "XXXXX-XXXXX", // requis. Code d'application Pushwoosh
"hwid": "8f65b16dfXXXX7a6bece9XXXX1530fb2", // requis. ID matériel de l'appareil utilisé dans l'API /registerDevice
"hash": "HASH_TAG" // optionnel. Tag de hachage (hash) reçu dans la notification push
// (paramètre "p" dans la charge utile du push)
}
}