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 trois parties principales.

{
  "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_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_namestringNom de l’évènement.
event_propertiesobjectDonnées liées à l’évènement suivi. La liste des propriétés possibles est indiquée ci-dessous.
user_propertiesobjectDonnées liées au profil de l’utilisateur. La liste des propriétés possibles est indiquée ci-dessous.

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. Valeurs possibles : article, home, search, search_results.
placementIdstringIdentifiant de l’emplacement du widget.
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.

Nom de l’évènement

account_creation

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

c, ca, clientId, cm, device, du, l ou customlead, lang, 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.

Nom de l’évènement

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.

Nom de l’évènement

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.

Nom de l’évènement

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.

Consultation d’une page

L’évènement pageview doit être envoyé lors de la consultation d’une page.

Nom de l’évènement

pageview

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

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

Propriétés de l’utilisateur

uid, uis.

Consultation d’une page article

L’évènement pageview doit être envoyé lors de la consultation d’une page article.

Nom de l’évènement

pageview

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

c, ca, clientId, cm, device, du, globalId, isArticleUnlocked, l ou customlead, lang, navigationType, pt, ref, u.

Propriétés de l’utilisateur

uid, uis.

Lecture d’un article

L’évènement read doit être envoyé lors de la lecture d’un article.

Nom de l’évènement

read

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

c, ca, clientId, cm, device, du, globalId, isArticleUnlocked, l ou customlead, lang, navigationType, pt, r, ref, t, u.

Propriétés de l’utilisateur

uid, uis.

Conversion

L’évènement conversion doit être envoyé lors d’une conversion (abonnement).

Nom de l’évènement

conversion

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

c, ca, clientId, cm, device, du, formula, l ou customlead, lang, lastArticleUrl, lastTeaserUrl, navigationType, ref, u.

Propriétés de l’utilisateur

uid, uis.

Accès au tunnel

L’évènement tunnel_access doit être envoyé lors de l’accès au tunnel d’achat.

Nom de l’évènement

tunnel_access

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

c, ca, clientId, cm, device, du, formula, l ou customlead, lang, lastArticleUrl, lastTeaserUrl, navigationType, ref, u.

Propriétés de l’utilisateur

uid, uis.

Commentaire

L’évènement comment doit être envoyé lorsqu’un utilisateur poste un commentaire.

Nom de l’évènement

comment

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

c, ca, clientId, cm, device, du, globalId, isArticleUnlocked, l ou customlead, lang, navigationType, pt, ref, u.

Propriétés de l’utilisateur

uid, uis.

Partage

L’évènement share doit être envoyé lorsqu’un utilisateur partage un contenu.

Nom de l’évènement

share

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

c, ca, clientId, cm, device, du, globalId, isArticleUnlocked, l ou customlead, lang, navigationType, pt, ref, u.

Propriétés de l’utilisateur

uid, uis.

Réception d’un cadeau

L’évènement gift_receive doit être envoyé lors de la réception d’un article offert.

Nom de l’évènement

gift_receive

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

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

Propriétés de l’utilisateur

uid, uis.

Partage d’un cadeau

L’évènement gift_share doit être envoyé lors du partage d’un article offert.

Nom de l’évènement

gift_share

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

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

Propriétés de l’utilisateur

uid, uis.

Désabonnement effectif

L’évènement unsubscribe_effective doit être envoyé lorsque le désabonnement est effectif.

Nom de l’évènement

unsubscribe_effective

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

c, ca, clientId, cm, device, du, l ou customlead, isVoluntary, lang, navigationType, reason_code, ref, u.

Propriétés de l’utilisateur

uid, uis.

Demande de désabonnement

L’évènement unsubscribe_request doit être envoyé lors d’une demande de désabonnement.

Nom de l’évènement

unsubscribe_request

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

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

Propriétés de l’utilisateur

uid, uis.

Changement du consentement

L’évènement consent_change doit être envoyé lors d’un changement de consentement.

Nom de l’évènement

consent_change

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

c, ca, clientId, cm, du, l ou customlead, navigationType, u.

Propriétés de l’utilisateur

uid, uis.



Spécification OpenAPI