Passer au contenu

API Geozones

getNearestZone

Anchor link to

Appelée en interne depuis le SDK. Récupère les paramètres de la géozone la plus proche et la distance qui l’en sépare. Enregistre également l’emplacement de l’appareil pour les notifications push géolocalisées.

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

Paramètres du corps de la requête

Anchor link to
ParamètreType
RequisDescription
applicationstringOuiCode d’application Pushwoosh
hwidstringOuiID de l’appareil matériel (HWID) utilisé dans la requête /registerDevice.
latstringOuiLatitude de l’appareil.
lngstringOuiLongitude de l’appareil.

Exemple de requête

Anchor link to
{
"request": {
"application": "APPLICATION_CODE",
"hwid": "HWID",
"lat": 10.12345,
"lng": 28.12345
}
}

Exemple en PHP

Anchor link to
// Voir http://gomoob.github.io/php-pushwoosh/get-nearest-zone.html
use Gomoob\Pushwoosh\Model\Request\GetNearestZoneRequest;
// Crée l'instance de la requête
$request = GetNearestZoneRequest::create()
->setHwid('HWID')
->setLat(10.12345)
->setLng(28.12345);
// Appelle le service web '/getNearestZone'
$response = $pushwoosh->getNearestZone($request);
if ($response->isOk()) {
print 'Zone name : ' . $response->getResponse()->getName();
print 'Latitude : ' . $response->getResponse()->getLat();
print 'Longitude : ' . $response->getResponse()->getLng();
print 'Range : ' . $response->getResponse()->getRange();
print 'Distance : ' . $response->getResponse()->getDistance();
} else {
print 'Oops, the operation failed :-(';
print 'Status code : ' . $response->getStatusCode();
print 'Status message : ' . $response->getStatusMessage();
}

addGeoZone

Anchor link to

Ajoute une Geozone à une application spécifique.

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

Paramètres du corps de la requête

Anchor link to
Paramètre
Type
RequisDescription
authstringOuiJeton d’accès API depuis le Panneau de Contrôle Pushwoosh.
applicationstringOuiCode d’application Pushwoosh
geozonesarrayOuiParamètres de la Geozone sous forme de tableau JSON.
geozones.namestringOuiNom de la Geozone.
geozones.latstringOuiLatitude de la Geozone.
geozones.lngstringOuiLongitude de la Geozone.
geozones.cooldownintegerOuiPériode de silence après l’envoi d’une notification (en secondes).
geozones.rangeintegerOuiPortée de la Geozone en mètres. Minimum 50.
geozones.contentstring or objectRequis si presetCode est vide.Contenu du message de la Geozone.
geozones.presetCodestringRequis si content est vide.Preset de push à utiliser à la place de content.
geozones.clusterstringNonSpécifiez null pour dissocier un cluster de la Geozone.
geozones.campaignstringNonSpécifiez null pour dissocier une campagne de la Geozone. Si omis, la valeur de la campagne reste inchangée. Note : A une priorité plus élevée que la campagne dans le preset.
geozones.timetableobjectNonDéfinit les intervalles de l’horaire.

Exemple de requête

Anchor link to
{
"request": {
"auth": "yxoPUlwqm............pIyEX4H", // Jeton d'accès API depuis le Panneau de Contrôle Pushwoosh
"application": "XXXXX-XXXXX", // Code d'application Pushwoosh
"geozones": [{
"name": "Statue of George", // requis. Nom de la Geozone.
"lat": "40.70087797", // requis. Latitude de la Geozone.
"lng": "-73.931851387", // requis. Longitude de la Geozone.
"cooldown": 60, // en secondes, requis. Période de silence après l'envoi d'une notification
"range": 50, // en mètres, minimum 50, requis. Portée de la géozone.
"content": "Lorem ipsum dolor sit amet,
consectetur adipiscing elit.", // ou objet
"presetCode": "AAAAA-BBBBB", // optionnel. Le preset de push peut être utilisé à la place du contenu
"cluster": "GEOZONE CLUSTER CODE", // optionnel. La période de silence du cluster sera appliquée
"campaign": "CAMPAIGN_CODE", // optionnel. Spécifiez null pour dissocier la Campagne de la Geozone
"timetable": { // optionnel
"timezone": 1234, // en secondes
"Mon": [ // jours disponibles : Mon, Tue, Wed, Thu, Fri, Sat, Sun. Envoi de push
{
"start": "04:11",
"stop": "12:00"
}
],
"Sun": [
{ // un ou deux intervalles
"start": "01:11",
"stop": "17:00"
},
{
"start": "18:01",
"stop": "23:59"
}
]
}
}]
}
}

updateGeoZone

Anchor link to

Met à jour les propriétés d’une Geozone.

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

Paramètres du corps de la requête

Anchor link to
Paramètre
Type
RequisDescription
authstringOuiJeton d’accès API depuis le Panneau de Contrôle Pushwoosh.
geoZoneIdstringOuiID de la Geozone depuis la requête /addGeoZone.
namestringNonNouveau nom de la Geozone.
cooldownintegerNonDélai de réactivation à mettre à jour, en secondes.
statusintegerNon0 - désactivé, 1 - activé.
contentstringNonContenu de la notification push de la Geozone. Ne peut pas être utilisé avec presetCode.
clusterstringNonNouveau nom de cluster. Spécifiez null pour dissocier le cluster de la Geozone.
campaignstringNonNouvel ID de campagne. Spécifiez null pour dissocier la Campagne de la Geozone. Si omis, la valeur de la Campagne ne sera pas modifiée. A une priorité plus élevée qu’une Campagne d’un preset.
latnumberNonLatitude de la Geozone.
lngnumberNonLongitude de la Geozone.
rangeintegerNonNouvelle portée en mètres.
timetableobjectNonHoraire de la Geozone. Voir plus d’informations ci-dessous.

Exemple de requête

Anchor link to
{
"request": {
"auth": "yxoPUlwqm............pIyEX4H", // requis, jeton d'accès API depuis le Panneau de Contrôle Pushwoosh
"geoZoneId": 100016750, // requis, depuis la méthode /addGeoZone
"name": "new geozone name", // optionnel
"cooldown": 222, // en secondes, optionnel
"status": 0, // optionnel, 0 - désactivé, 1 - activé
"presetCode": "BBBBB-AAAAA", // optionnel, ne peut pas être utilisé avec "content"
"content": "new geozone content", // optionnel, ne peut pas être utilisé avec "presetCode"
"cluster": "GEOZONE CLUSTER CODE", // optionnel. Spécifiez null pour dissocier le cluster de la Geozone
"campaign": "CAMPAIGN_CODE", // optionnel. Spécifiez null pour dissocier la Campagne de la Geozone
"lat": 10.56, // optionnel, latitude de la géozone
"lng": 12.523, // optionnel, longitude de la géozone
"range": 500, // optionnel, portée de la géozone
"timetable": { // optionnel
"timezone": 1234, // en secondes
"Mon": [ // jours disponibles : Mon, Tue, Wed, Thu, Fri, Sat, Sun. Envoi de push
{
"start": "04:11",
"stop": "12:00"
}
],
"Sun": [
{ // un ou deux intervalles
"start": "01:11",
"stop": "17:00"
},
{
"start": "18:01",
"stop": "23:59"
}
]
}
}
}

deleteGeoZone

Anchor link to

Supprime des Geozones de l’application.

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

Paramètres du corps de la requête

Anchor link to
Paramètre
Type
RequisDescription
authstringOuiJeton d’accès API depuis le Panneau de Contrôle Pushwoosh.
applicationstringOuiCode d’application Pushwoosh
geozonesstringOuiTableau d’ID ou un ID unique d’une Geozone à supprimer.

Exemple de requête

Anchor link to
{
"request": {
"auth": "yxoPUlwqm............pIyEX4H", // requis, jeton d'accès API depuis le Panneau de Contrôle Pushwoosh
"application": "XXXXX-XXXXX", // requis, code d'application Pushwoosh
"geozones": [550, 526] // requis, ID des géozones
}
}

addGeoZoneCluster

Anchor link to

Ajoute un Cluster de Geozones à l’application.

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

Paramètres du corps de la requête

Anchor link to
Paramètre
Type
RequisDescription
authstringOuiJeton d’accès API depuis le Panneau de Contrôle Pushwoosh.
applicationstringOuiCode d’application Pushwoosh
namestringOuiNom du cluster.
cooldownintegerOuiUn délai avant qu’un utilisateur unique puisse recevoir le même message du Cluster de Geozones, en secondes.

Exemple de requête

Anchor link to
{
"request": {
"auth": "yxoPUlwqm............pIyEX4H", // requis, jeton d'accès API depuis le Panneau de Contrôle Pushwoosh
"application": "XXXXX-XXXXX", // requis, code d'application Pushwoosh
"name": "Raccoon city", // requis, nom du cluster
"cooldown": 3210 // requis, en secondes
}
}

deleteGeoZoneCluster

Anchor link to

Supprime un Cluster de Geozones de l’application.

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

Paramètres du corps de la requête

Anchor link to
Paramètre
Type
RequisDescription
authstringOuiJeton d’accès API depuis le Panneau de Contrôle Pushwoosh.
applicationstringOuiCode d’application Pushwoosh
geoZoneClusterstringOuiID du cluster de Geozones à supprimer.

Exemple de requête

Anchor link to
{
"request": {
"auth": "yxoPUlwqm............pIyEX4H", // requis, jeton d'accès API depuis le Panneau de Contrôle Pushwoosh
"application": "XXXXX-XXXXX", // requis, code d'application Pushwoosh
"geoZoneCluster": "EA1CE-69405" // requis, ID du cluster obtenu depuis la requête /addGeoZoneCluster
}
}

listGeoZones

Anchor link to

Récupère une liste de Geozones pour l’application.

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

Paramètres du corps de la requête

Anchor link to
Paramètre
Type
RequisDescription
authstringOuiJeton d’accès API depuis le Panneau de Contrôle Pushwoosh.
applicationstringOuiCode d’application Pushwoosh

Exemple de requête

Anchor link to
{
"request": {
"auth": "yxoPUlwqm............pIyEX4H", // requis, jeton d'accès API depuis le Panneau de Contrôle Pushwoosh
"application": "XXXXX-XXXXX" // requis, code d'application Pushwoosh
}
}

listGeoZoneClusters

Anchor link to

Récupère une liste de clusters de Geozones pour l’application.

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

Paramètres du corps de la requête

Anchor link to
Paramètre
Type
RequisDescription
authstringOuiJeton d’accès API depuis le Panneau de Contrôle Pushwoosh.
applicationstringOuiCode d’application Pushwoosh

Exemple de requête

Anchor link to
{
"request": {
"auth": "yxoPUlwqm............pIyEX4H", // requis, jeton d'accès API depuis le Panneau de Contrôle Pushwoosh
"application": "XXXXX-XXXXX" // requis, code d'application Pushwoosh
}
}