API Kakao
createKakaoMessage
Anchor link toUtilisé pour envoyer des messages Kakao aux utilisateurs
POST https://api.pushwoosh.com/json/1.3/createKakaoMessage
Prérequis
Anchor link toAvant d’utiliser ce point de terminaison, assurez-vous que :
-
La plateforme Kakao est configurée : Votre application Pushwoosh doit avoir les identifiants Kakao configurés. En savoir plus
-
Les modèles sont approuvés : Les modèles Kakao doivent être créés et approuvés avant de pouvoir être utilisés. En savoir plus
-
Les appareils sont enregistrés : Les appareils doivent être enregistrés avec le préfixe
kakao:pour être reconnus comme des points de terminaison Kakao.
Corps de la requête
Anchor link to| Nom | Requis | Type | Description |
|---|---|---|---|
| auth* | Oui | string | Jeton d’accès à l’API depuis le Panneau de Contrôle Pushwoosh. |
| application* | Oui | string | Code d’application Pushwoosh |
| notifications* | Oui | array | Tableau d’objets de notification. Voir les détails ci-dessous. |
Paramètres de notification
Anchor link to| Nom | Requis | Type | Description |
|---|---|---|---|
| send_date* | Oui | string | Date et heure d’envoi du message. Utilisez le format YYYY-MM-DD HH:MM:SS (UTC) ou "now" pour un envoi immédiat. Toutes les heures sont interprétées en UTC. |
| devices* | Requis si users n’est pas fourni | array[string] | Liste des jetons d’appareil. Chaque jeton doit être préfixé par kakao: (par ex., "kakao:user_token"). |
| users* | Requis si devices n’est pas fourni | array[string] | Liste des ID utilisateur à cibler. |
| template* | Oui | string | Nom du modèle Kakao. Doit être un modèle pré-approuvé. En savoir plus |
| kakao_content_variables | Non | object | Paires clé-valeur pour la substitution de variables de modèle. Les clés doivent correspondre aux variables définies dans votre modèle Kakao. Optionnel mais permet une personnalisation dynamique de vos messages Kakao. |
Paramètres interdits
Anchor link toLes paramètres suivants ne sont pas autorisés pour ce point de terminaison et entraîneront une erreur de validation :
platforms: La plateforme est automatiquement définie sur Kakaofilter: Le filtrage par appareil n’est pas pris en chargefilter_code: Les codes de filtre ne sont pas pris en chargeconditions: Le ciblage conditionnel n’est pas pris en charge
Exemple de requête
Anchor link to{ "request": { "auth": "your-api-access-token", // required. API access token from Pushwoosh Control Panel. "application": "XXXXX-XXXXX", // required. Pushwoosh application code. "notifications": [ { "send_date": "now", // required. YYYY-MM-DD HH:MM:SS (UTC) OR "now". "devices": ["kakao:user123@kakao.com", "kakao:device_abc"], // required if users is not provided. Device tokens with kakao: prefix. "users": ["user_001", "user_002"], // required if devices is not provided. User IDs to target. "template": "welcome_message", // required. Kakao template name (must be pre-approved). "kakao_content_variables": { // optional. Template variable substitution. "user_name": "John Doe", "order_number": "12345" } } ] }}Exemple de réponse
Anchor link to{ "status_code": 200, "response": { "Messages": ["MESSAGE_ID_1"], "Warnings": [], "UnknownDevices": {}, "UnknownUsers": {}, "FailedDevices": {}, "UnknownPhoneNumbers": {} }}| Champ | Type | Description |
|---|---|---|
Messages | array[string] | Tableau des ID de message créés pour le suivi |
Warnings | array | Tous les avertissements générés pendant le traitement |
UnknownDevices | object | Appareils qui n’ont pas pu être trouvés |
UnknownUsers | object | ID utilisateur qui n’ont pas pu être résolus |
FailedDevices | object | Appareils qui ont échoué pendant le traitement |
UnknownPhoneNumbers | object | Numéros de téléphone qui n’ont pas pu être trouvés |
{ "status_code": 210, "status_message": "Error description"}Messages d’erreur courants
Anchor link to| Message d’erreur | Cause |
|---|---|
Missing required parameter: send_date | Le champ send_date n’est pas fourni dans la notification |
Missing required parameter: devices or users | Ni le tableau devices ni le tableau users n’est fourni |
Invalid Kakao devices list | Un ou plusieurs jetons d’appareil n’ont pas le préfixe kakao: |
Invalid parameter: platforms | Tentative de définir les plateformes manuellement (non autorisé) |
Kakao template is required | Le nom du modèle n’a pas été fourni |
Invalid Kakao template | Le modèle spécifié n’existe pas |
Kakao template not approved | Le modèle existe mais n’est pas approuvé par Kakao |
Please configure Kakao platform | L’application n’a pas les identifiants Kakao configurés |
{ "status_code": 500, "status_message": "Internal server error"}Exemples de code
Anchor link tocurl -X POST "https://api.pushwoosh.com/json/1.3/createKakaoMessage" \ -H "Content-Type: application/json" \ -d '{ "request": { "auth": "your-api-access-token", "application": "XXXXX-XXXXX", "notifications": [ { "send_date": "now", "devices": ["kakao:user123@kakao.com", "kakao:device_abc"], "template": "welcome_message", "kakao_content_variables": { "user_name": "John Doe", "order_number": "12345" } } ] } }'<?php$url = 'https://api.pushwoosh.com/json/1.3/createKakaoMessage';
$data = [ 'request' => [ 'auth' => 'your-api-access-token', 'application' => 'XXXXX-XXXXX', 'notifications' => [ [ 'send_date' => 'now', 'devices' => ['kakao:user123@kakao.com', 'kakao:device_abc'], 'template' => 'welcome_message', 'kakao_content_variables' => [ 'user_name' => 'John Doe', 'order_number' => '12345' ] ] ] ]];
$options = [ 'http' => [ 'header' => "Content-Type: application/json\r\n", 'method' => 'POST', 'content' => json_encode($data) ]];
$context = stream_context_create($options);$result = file_get_contents($url, false, $context);echo $result;import requests
url = "https://api.pushwoosh.com/json/1.3/createKakaoMessage"
payload = { "request": { "auth": "your-api-access-token", "application": "XXXXX-XXXXX", "notifications": [ { "send_date": "now", "devices": ["kakao:user123@kakao.com", "kakao:device_abc"], "template": "welcome_message", "kakao_content_variables": { "user_name": "John Doe", "order_number": "12345" } } ] }}
response = requests.post(url, json=payload)print(response.json())Exemple : Envoi aux utilisateurs au lieu des appareils
Anchor link to{ "request": { "auth": "your-api-access-token", "application": "XXXXX-XXXXX", "notifications": [ { "send_date": "now", "users": ["user_001", "user_002", "user_003"], "template": "promotion_alert", "kakao_content_variables": { "discount_percent": "20", "promo_code": "SAVE20" } } ] }}Exemple : Message programmé
Anchor link to{ "request": { "auth": "your-api-access-token", "application": "XXXXX-XXXXX", "notifications": [ { "send_date": "2024-12-25 09:00:00", "devices": ["kakao:user123"], "template": "holiday_greeting" } ] }}