Passer au contenu principal

Qu’est-ce que Segment ?

Segment est une Customer Data Platform (CDP). Elle simplifie la collecte et l’utilisation des données provenant des utilisateurs de vos propriétés numériques (sites web, applications, etc.). Elle vous permet de collecter, transformer, envoyer et archiver vos données clients de première partie. Vous pouvez également enrichir les données clients que vous collectez en connectant les données de vos autres outils, puis les agréger pour suivre les performances, informer les processus de prise de décision et créer des expériences utilisateurs personnalisées. Toutes ces données peuvent être facilement envoyées à Hyperline pour collecter l’usage de vos clients et automatiser la facturation et l’émission de factures basées sur l’usage.

Envoyer l’usage de Segment vers Hyperline

Pour faciliter la transmission des données d’usage vers Hyperline, nous allons générer et utiliser une Function personnalisée dans Segment.
Pour en savoir plus sur les functions, consultez la documentation de Segment.
1

Allez dans le Catalog de Segment, accédez à l'onglet Functions et cliquez sur Create Function

2

Sélectionnez Destination comme type de function et cliquez sur Build Function

3

Requête POST vers l'API Hyperline

Remplacez la fonction onTrack pré-écrite dans l’éditeur de code par le code suivant.Le code fourni capture un événement Track de Segment et le publie sur Hyperline avec les propriétés requises sélectionnées dans l’événement Segment.Vous pouvez ajouter toutes les propriétés (avec une valeur de type string, number, boolean ou tableau des mêmes types) que vous souhaitez ingérer dans Hyperline en les ajoutant dans l’objet record. Le champ my_property est un exemple de propriété supplémentaire poussée vers Hyperline.
async function onTrack(event, settings) {
  const endpoint = "https://ingest.hyperline.co/v1/events";

  // https://docs.hyperline.co/api-reference/endpoints/billable-events/create-billable-event
  const event = {
    customer_id: event.userId,
    event_type: event.event,
    timestamp: event.timestamp,
    record: {
      id: event.messageId,
      my_property: event.properties.customProperty,
      // add any custom properties you want to ingest in Hyperline
    },
  };

  try {
    // Post request
    const response = await fetch(endpoint, {
      method: "POST",
      headers: {
        Authorization: `Bearer ${settings.apiKey}`,
        "Content-Type": "application/json",
      },
      body: JSON.stringify(event),
    });

    // Retry on 5xx (server errors) and 429s (rate limits)
    if (response.status >= 500 || response.status === 429) {
      throw new RetryError(`Failed with ${response.status}`);
    }

    return response.json();
  } catch (error) {
    // Retry on connection error
    throw new RetryError(error.message);
  }
}
Cet exemple de code transmettra tous les types d’événements à Hyperline. Si vous souhaitez limiter les événements envoyés, vous pouvez utiliser les Destination Filters de Segment, ou modifier le code pour filtrer les données que vous ne voulez pas envoyer.
4

Configurez vos paramètres secrets

Dans l’extrait de code fourni, la clé API est un secret configuré dans l’onglet Settings du panneau de droite. Cette approche vous évite de coder en dur des variables privées directement dans la fonction.Pour l’implémenter :
  1. Cliquez sur Add Setting
  2. Saisissez API Key comme libellé (ce qui génère le nom apiKey)
  3. Choisissez le type String
  4. Saisissez votre clé API Hyperline dans le champ à droite. Vous pouvez générer une clé en suivant ce guide.
  5. Activez les options Required et Sensitive
  6. Enregistrez votre paramètre
Finalisez la création de la fonction avec un nom (« Test Function » dans l’exemple ci-dessous) et une description optionnelle. Après avoir créé la fonction, vous pouvez l’utiliser comme Destination d’une source existante (dans l’exemple ci-dessous, il s’agit de la source Backend - Staging). Veillez à l’activer pour commencer à recevoir des événements depuis Segment dans Hyperline.