Passer au contenu

API centrée sur l'utilisateur

L’API centrée sur l’utilisateur fonctionne avec des utilisateurs plutôt qu’avec des appareils individuels. Un utilisateur est identifié par un User ID que vous attribuez, et un utilisateur peut avoir plusieurs appareils. Utilisez ces méthodes pour associer un User ID à un appareil, supprimer un utilisateur avec tous ses appareils et publier les événements effectués par un utilisateur.

registerUser

Anchor link to

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

Associe un ID utilisateur externe à un appareil spécifié.

En-têtes de la requête

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

Corps de la requête

Anchor link to
NomRequisTypeDescription
userIdNonstringID utilisateur à associer à un appareil. Si vide, utilisez hwid.
applicationOuistringCode d’application Pushwoosh
hwidOuistringHWID Pushwoosh
tz_offsetNonintegerDécalage de fuseau horaire en secondes pour l’appareil.
device_typeNonintegerType d’appareil. Voir les valeurs possibles dans /registerDevice.

Peut être utilisé ultérieurement dans l’appel API /createMessage (le paramètre users).
Vous pouvez appeler cette fonction avant d’avoir le jeton push et avant l’appel /registerDevice.

Exemple de requête

Anchor link to
{
"request": {
"userId": "user_3078a", // optionnel. Si vide, utilisez hwid
"application": "XXXXX-XXXXX", // requis. Code d'application Pushwoosh
"hwid": "8f65b16df378e7a6bece9614e1530fb2", // requis. ID d'appareil matériel
"tz_offset": -3600, // optionnel. Décalage de fuseau horaire en secondes
"device_type": 3 // optionnel. Type d'appareil, voir /registerDevice
// pour les types d'appareils
}
}

Exemple de réponse

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

deleteUser

Anchor link to

POST https://api.pushwoosh.com/api/v2/device-api/deleteUser

Supprime un utilisateur et tous les appareils associés à l’ID utilisateur spécifié dans l’application. La requête est traitée de manière asynchrone, et le point de terminaison renvoie 200 OK dès que la demande de suppression a été acceptée pour traitement.

En-têtes de la requête

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

Corps de la requête

Anchor link to
NomRequisTypeDescription
applicationOuistringCode d’application Pushwoosh
user_idOuistringID utilisateur à supprimer. Tous les appareils associés à cet utilisateur dans l’application spécifiée seront supprimés.

Exemple de requête

Anchor link to
{
"application": "XXXXX-XXXXX", // requis. Code d'application Pushwoosh
"user_id": "user_3078a" // requis. ID utilisateur à supprimer
}

Exemple de réponse

Anchor link to
{
"status_code": 200,
"status_message": "OK",
"response": null
}
Codes de statut
Anchor link to
Code de statut HTTPstatus_codeDescription
200200Demande de suppression acceptée
200210Erreur d’argument. Voir status_message pour plus d’informations.
400N/AChaîne de requête malformée
401N/AJeton d’autorisation manquant ou invalide
500500Erreur interne

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

Déclenche un événement.

En-têtes de la requête

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

Corps de la requête

Anchor link to
NomRequisTypeDescription
hwidOuistringID d’appareil matériel utilisé dans une requête /registerDevice. Peut être utilisé avec ‘userId’ pour identifier un utilisateur qui a déclenché un événement.
applicationOuistringCode d’application Pushwoosh
eventOuistringNom de l’événement exactement tel que créé dans le Control Panel de Pushwoosh.
attributesOuiobjectObjet JSON avec les attributs de l’événement. Laissez-le vide si aucun attribut ne doit être passé.
timestampUTCNonintegerHorodatage en UTC.
timestampCurrentNonintegerHorodatage en heure locale.
userIdOuistringID utilisateur associé à un utilisateur qui a déclenché l’événement. Peut être remplacé par ou utilisé avec un HWID.
device_typeNonintegerVoir les valeurs possibles

Le nom de l’événement dans la requête doit correspondre au nom de l’événement dans le Control Panel de Pushwoosh. Notez que la propriété « attributes » peut être vide (mais pas omise) si l’événement n’a pas d’attributs.

Exemple de requête

Anchor link to
{
"request":{
"hwid": "8f65b16df378e7a6bece9614e1530fb2", // requis. ID d'appareil matériel utilisé dans une API /registerDevice.
// Peut être utilisé avec un userId pour identifier un
// utilisateur qui a déclenché un événement.
"application": "XXXXX-XXXXX", // requis. Code d'application Pushwoosh
"event": "activityCompleted", // requis. Nom de l'événement exactement tel que créé dans le Control Panel de Pushwoosh
"attributes": { // requis. Laissez vide si aucun attribut ne doit être passé.
"login": "facebook",
"success": "yes",
"internet": "wifi"
},
"timestampUTC": 1435228403, // optionnel. Horodatage en UTC
"timestampCurrent": 1435253603, // optionnel. Horodatage en heure locale
"userId": "someuser@user.com", // requis. Un ID utilisateur qui est utilisé pour l'identification des
// utilisateurs sur plusieurs appareils. Peut être remplacé par
// ou utilisé avec un HWID.
"device_type": 1 // optionnel.
}
}

Exemple de réponse

Anchor link to
{
"status_code": 200,
"status_message": "OK",
"response": {
"code": "61BC9-84DD0"
}
}

Envoi d’événements de conversion

Anchor link to

Pour déclarer les revenus directement au lieu de suivre les revenus d’un événement existant, envoyez postEvent avec PW_Conversion comme nom d’événement et la value (valeur) et la currency (devise) de la transaction dans les attributes :

{
"request":{
"hwid": "8f65b16df378e7a6bece9614e1530fb2",
"application": "XXXXX-XXXXX",
"event": "PW_Conversion",
"attributes": {
"value": 49.99, // requis. Montant de la transaction
"currency": "USD", // requis. Code de devise ISO 4217
"transaction_id": "txn_8f21", // optionnel. Votre propre référence de transaction
"product_id": "prod_premium" // optionnel
},
"userId": "someuser@user.com"
}
}

Mappage automatique des revenus

Anchor link to

Si un événement porte les attributs __amount et __currency, Pushwoosh le mappe automatiquement sur PW_Conversion dès la première arrivée d’un tel événement, et active le suivi des revenus pour celui-ci, sans nécessiter de configuration des revenus manuelle. Cela s’applique à tout nom d’événement autre que PW_Conversion lui-même.