Intégration API

Spécification OpenAPI de Forecast Signals API.

Cette documentation explique comment structurer et envoyer vos données de suivi vers l’API Forecast Signals.

Structure des événements

Chaque événement envoyé à l’API Forecast Signals doit respecter une structure précise au format JSON, composée de quatre parties principales.

{
  "event_type": "",
  "event_name": "",
  "event_properties": {
    "key": "value"
  },
  "user_properties": {
    "key": "value"
  }
}

Exemple d’appel via curl :

curl -X POST https://forecast.example.com/action/v1 \
  -H "Content-Type: application/json" \
  -H "X-Forecast-Client-Key: votre_cle_client" \
  -d '{
    "event_type": "lead",
    "event_name": "account_creation",
    "event_properties": { ... },
    "user_properties": { ... }
  }'

Authentification

Certains événements nécessitent une authentification via un header HTTP :

HeaderTypeDescription
X-Forecast-Client-KeystringClé client requise pour certains types d’événements (ex: home_content).

Champs de base

ChampTypeDescription
event_typestringType de l’événement (article, lead ou page).
event_namestringNom spécifique de l’événement.

Propriétés de l’événement

L’objet event_properties contient les données liées à l’évènement suivi. Chaque événement n’utilise qu’une partie de ces propriétés.

Liste complète des propriétés disponibles :

PropriétéTypeDescription
articleIdstringIdentifiant de l’article associé à l’événement.
articleIdBagarrayListe des identifiants d’articles, triés par position d’affichage (du haut vers le bas, de gauche à droite).
cstringConsentement de l’utilisateur pour le traitement des données personnelles.
castringConsentement de l’utilisateur pour le traitement des données à des fins publicitaires.
clickedArticleIdstringIdentifiant de l’article ayant reçu un clic.
clientIdstringIdentifiant client utilisé pour identifier l’usage du service.
cmstringConsentement de l’utilisateur pour le traitement des données à des fins statitistiques. Valeurs possibles : exempt, optin, optout.
countryCodestringCode pays (ISO 3166-1). Calculé automatiquement si non fourni.
customleadstringIdentifiant personnalisé du lead. Incompatible avec l.
devicestringType d’appareil utilisé.
displayedArticleIdBagarrayListe des identifiants d’articles affichés, ordonnés par temps d’affichage.
dustringURL du document web.
editionIdstringIdentifiant de l’édition.
formulastringIdentifiant de l’offre d’abonnement.
globalIdstringIdentifiant global Sirius de l’article.
isArticleUnlockedbooleanIndique si l’article est déverrouillé dans le contexte actuel.
isVoluntarybooleanIndique si l’utilisateur s’est désabonné volontairement.
lstringIdentifiant du lead. Incompatible avec customlead.
langstringLangue de l’article.
lastArticleUrlstringDernière URL d’article (payant ou gratuit) consultée avant l’événement.
lastTeaserUrlstringDernière URL d’article payant consultée avant l’événement.
navigationTypestringType de navigation. Valeurs possibles : navigate, reload, back_forward. Référence : MDN.
ptstringType de page.
rnumberTaux de lecture de l’article par le lead (de 0 à 100).
reason_codestringCode du motif de désabonnement.
refstringURL de provenance (referer).
sourcestringSource d’origine de l’événement.
subdivisionCodestringCode de subdivision (ISO 3166-2). Calculé automatiquement si non fourni.
tintegerTemps de lecture de l’article par le lead (en secondes).
ustringURL de la page.
zoneBagarrayTableau d’objets représentant les zones. Chaque objet contient : articleIdBag (array of strings) et zoneId (string).
zoneIdstringIdentifiant de la Tracking Zone.

Propriétés de l’utilisateur

L’objet user_properties regroupe les informations relatives au profil de l’utilisateur. Comme pour les propriétés d’événement, chaque événement n’en requiert qu’un sous-ensemble.

Liste complète des propriétés disponibles :

PropriétéTypeDescription
countryCodestringCode pays de l’utilisateur.
custom_id_1stringIdentifiant personnalisé 1.
custom_id_2stringIdentifiant personnalisé 2.
custom_id_3stringIdentifiant personnalisé 3.
custom_id_4stringIdentifiant personnalisé 4.
fbcistringIdentifiant client Facebook.
formulaCodestringCode de l’offre d’abonnement.
formulaIsForStudentstringIndique si l’offre est destinée aux étudiants.
formulaIsPromoOfferstringIndique si l’offre est une promotion.
gacistringIdentifiant client Google Analytics.
subscriptionAppstringApplication d’abonnement.
subscriptionCardExpirationDatestringDate d’expiration de la carte d’abonnement.
subscriptionDevicestringAppareil d’abonnement.
subscriptionSourcestringSource de l’abonnement.
uidstringIdentifiant de l’utilisateur.
uisstringIndique si l’utilisateur est un abonné.
usedstringDate de fin d’abonnement (format date-time).
usodstringDate de commande de l’abonnement (format date-time).
ussdstringDate de début d’abonnement (format date-time).
zipCodestringCode postal de l’utilisateur.

Catalogue des événements

Cette section liste les événements disponibles et les propriétés spécifiques à chacun.

Création de compte

L’événement account_creation doit être envoyé lors de la création d’un compte utilisateur.

Champs de base
  • event_type : lead
  • event_name : account_creation
Propriétés de l’événement

c, ca, clientId, device, du, l ou customlead, navigationType, ref, source, u.

Propriétés de l’utilisateur

uid, uis.

Contenu de la page d’accueil

L’événement home_content suit l’affichage des contenus sur la page d’accueil. Il nécessite l’envoi du header HTTP X-Forecast-Client-Key.

Champs de base
  • event_type : page
  • event_name : home_content
Propriétés de l’événement

zoneBag, clientId, editionId.

Propriétés de l’utilisateur

Aucune propriété utilisateur n’est nécessaire pour cet événement.

Impression d’une zone de tracking

L’événement widget_impression suit l’affichage d’une zone de tracking.

Champs de base
  • event_type : lead
  • event_name : widget_impression
Propriétés de l’événement

articleId, articleIdBag, c, ca, clientId, cm, device, du, l ou customlead, lang, navigationType, pt, ref, u, zoneId.

Propriétés de l’utilisateur

uid, uis.

Clic dans une zone de tracking

L’événement widget_click suit le clic dans une zone de tracking.

Champs de base
  • event_type : lead
  • event_name : widget_click
Propriétés de l’événement

articleId, clickedArticleId, c, ca, clientId, cm, device, displayedArticleIdBag, du, l ou customlead, lang, navigationType, pt, ref, u, zoneId.

Propriétés de l’utilisateur

uid, uis.

Spécification OpenAPI