Passer au contenu principal
Tous les SDK serveur OneSignal sont générés à partir de la même spécification OpenAPI, donc ils partagent une interface cohérente quelle que soit la langue. Chaque SDK encapsule la OneSignal REST API et fournit des modèles typés pour les requêtes et réponses.

SDK disponibles


Installation

npm install @onesignal/node-onesignal

Configuration

Chaque SDK nécessite une authentification via des clés API. Deux types de clés sont disponibles :
  • Clé REST API — requise pour la plupart des points de terminaison (envoi de notifications, gestion des utilisateurs, etc.). Trouvée dans Paramètres > Clés et identifiants de votre application.
  • Clé API d’organisation — requise uniquement pour les points de terminaison au niveau de l’organisation, comme la création ou la liste des applications. Trouvée dans Paramètres d’organisation.
const OneSignal = require('@onesignal/node-onesignal');

const configuration = OneSignal.createConfiguration({
  restApiKey: 'YOUR_REST_API_KEY',
  organizationApiKey: 'YOUR_ORGANIZATION_API_KEY',
});

const client = new OneSignal.DefaultApi(configuration);
Stockez vos clés API dans des variables d’environnement ou un gestionnaire de secrets. Ne les commitez jamais dans le contrôle de source.

Envoyer une notification push

Envoyez des notifications push aux Abonnements web et mobiles en ciblant un segment.
const notification = new OneSignal.Notification();
notification.app_id = 'YOUR_APP_ID';
notification.contents = { en: 'Hello from OneSignal!' };
notification.headings = { en: 'Push Notification' };
notification.included_segments = ['Subscribed Users'];

const response = await client.createNotification(notification);
console.log('Notification ID:', response.id);

Envoyer un e-mail

Envoyez des e-mails aux Abonnements avec le canal email.
const notification = new OneSignal.Notification();
notification.app_id = 'YOUR_APP_ID';
notification.email_subject = 'Important Update';
notification.email_body = '<h1>Hello!</h1><p>This is an HTML email.</p>';
notification.included_segments = ['Subscribed Users'];
notification.channel_for_external_user_ids = 'email';

const response = await client.createNotification(notification);

Envoyer un SMS

Envoyez des messages texte SMS aux Abonnements avec le canal sms.
const notification = new OneSignal.Notification();
notification.app_id = 'YOUR_APP_ID';
notification.contents = { en: 'Your SMS message content here' };
notification.included_segments = ['Subscribed Users'];
notification.channel_for_external_user_ids = 'sms';
notification.sms_from = '+15551234567';

const response = await client.createNotification(notification);

Référence API complète

Chaque SDK serveur prend en charge le même ensemble de points de terminaison API. Consultez la documentation API de votre SDK pour la liste complète des méthodes, incluant les utilisateurs, abonnements, segments, modèles et plus encore. Pour l’API REST sous-jacente, consultez la référence API complète.

FAQ

Quel SDK serveur devrais-je choisir ?

Utilisez le SDK correspondant à votre langage backend. Tous les SDK serveur sont générés à partir de la même spécification OpenAPI et prennent en charge les mêmes points de terminaison, donc la fonctionnalité est identique entre les langages.

Quelle est la différence entre la clé REST API et la clé API d’organisation ?

La clé REST API est limitée à une seule application et est requise pour la plupart des opérations comme l’envoi de notifications et la gestion des utilisateurs. La clé API d’organisation est limitée à votre organisation et n’est nécessaire que pour créer ou lister des applications. La plupart des intégrations n’ont besoin que de la clé REST API.

Puis-je utiliser directement la REST API plutôt qu’un SDK ?

Oui. Les SDK serveur sont des wrappers pratiques autour de la OneSignal REST API. Vous pouvez appeler l’API directement en utilisant n’importe quel client HTTP avec l’authentification Bearer token.

Ces SDK sont-ils auto-générés ?

Oui. Tous les SDK serveur sont générés à partir de la spécification OpenAPI de OneSignal en utilisant OpenAPI Generator. Cela garantit une couverture API cohérente dans tous les langages.