Push
Notifications push
Envoyez une notification push aux utilisateurs de votre application en un seul appel d'API, avec un SMS facultatif quand la notification ne les atteint pas.
Démarrage rapide
Vous apportez vos propres identifiants Apple et Google, enregistrez les jetons d'appareils depuis votre serveur et envoyez en un appel. Aucun SDK mobile n'est requis : votre application obtient son jeton d'Apple ou de Google comme d'habitude et votre serveur le transmet. Des paquets Swift et Android facultatifs s'occupent du jeton et du chiffrement par appareil. Commencez avec une clé de test, qui n'exige aucun vrai appareil.
- Créez une application push et téléversez votre clé APNs, votre compte de service Firebase, ou les deux.
- Enregistrez chaque jeton d'appareil depuis votre serveur avec
PUT /v1/push/devices. - Envoyez avec
POST /v1/pushà unuser_id. Chaque appareil actif de cet utilisateur reçoit la notification. - Ajoutez au besoin
fallback.smspour envoyer un SMS quand aucun appareil n'accepte la notification.
Nouveau du côté Apple et Google? Configurer votre application couvre les comptes de développeur, les clés et le code qui obtient le jeton de l'appareil.
Si vous avez accepté l’entente sur le traitement des renseignements personnels de HonkIO, acceptez la version qui couvre les notifications push (Paramètres, Entente sur le traitement des renseignements personnels) avant d’ajouter votre première application. D’ici là, la création d’une application est refusée avec un 409 DPA_PUSH_ACCEPTANCE_REQUIRED.
const { data: push, error } = await honkio.push.send({
appId: 'APP_ID',
to: { userId: 'user_1042' },
title: 'Your code',
body: '123456',
}, { idempotencyKey: 'login-code-1042-2026-11-03' })
if (error) throw new Error(error.message)
console.log(push.id, push.status, push.device_count) // queued 2from honkio import Honkio
client = Honkio() # reads HONKIO_API_KEY
push = client.push.send(
app_id="APP_ID",
to={"user_id": "user_1042"},
title="Your code",
body="123456",
idempotency_key="login-code-1042-2026-11-03",
)
print(push["id"], push["status"], push["device_count"]) # queued 2<?php
use Honkio\Honkio;
$honkio = new Honkio(); // reads HONKIO_API_KEY
$push = $honkio->push->send([
'app_id' => 'APP_ID',
'to' => ['user_id' => 'user_1042'],
'title' => 'Your code',
'body' => '123456',
], 'login-code-1042-2026-11-03');
echo $push['id'], ' ', $push['status'], ' ', $push['device_count'], PHP_EOL; // queued 2<?php
use Honkio\Laravel\Notifications\HonkioPushMessage;
use Illuminate\Notifications\Notification;
class LoginCode extends Notification
{
public function __construct(private string $code)
{
}
public function via($notifiable): array
{
return ['honkio-push'];
}
public function toHonkioPush($notifiable): HonkioPushMessage
{
return HonkioPushMessage::create()
->app('APP_ID')
->title('Your code')
->body($this->code);
}
}
// On the notifiable model: the user_id the devices were registered under.
// public function routeNotificationForHonkioPush($notification): ?string
// {
// return (string) $this->id;
// }curl -X POST https://api.honkio.ca/v1/push \
-H "Authorization: Bearer mk_test_YOUR_KEY" \
-H "Idempotency-Key: login-code-1042-2026-11-03" \
-H "Content-Type: application/json" \
-d '{
"app_id": "APP_ID",
"to": { "user_id": "user_1042" },
"title": "Your code",
"body": "123456"
}'
# Response 202: { "id": "push_...", "status": "queued", "device_count": 1, ... }Les étapes sont détaillées dans les pages suivantes : configuration de l'application, identifiants, appareils, envoi et repli, chiffrement, mode test et où vont les données.
Fonctionnement
Un appel d'envoi répond 202 avec la notification en file. honkio fait ensuite un envoi par appareil actif, directement vers APNs d'Apple ou FCM de Google avec vos identifiants, jamais avec ceux de honkio.
Une notification est queued, sending, sent, failed ou fell_back. Sent signifie qu'au moins un appareil a été accepté. Fell_back signifie qu'aucun appareil ne l'a acceptée et que le SMS de repli a été soumis.
Acceptée par Apple ou Google ne veut pas dire vue. honkio ne peut pas savoir si le téléphone était éteint ou hors ligne, si l'application a été retirée ou si les notifications étaient désactivées : il ne considère donc jamais une notification acceptée comme non remise.
Le push est conçu pour les messages transactionnels : codes de connexion, rappels, reçus et alertes.
Ensuite : identifiants, envoi et repli, chiffrement.
HonkIO