Schémas

L'API d'import des datas permet de traiter un batch de 10 items par requête dont voici les différents schémas.

Vous pouvez mixer les différents types de données dans le même batch.

User

Les objets user doivent pouvoir être manipulés avec finesse, c'est pourquoi l'API vous permet de modifier ou supprimer uniquement certains champs avec des opérateurs dédiés (set, unset, addTags, setTags, removeTags, addProperties, setProperties, removeProperties).

La plupart des champs des profils utilisateurs sont standardisés avec des formats ISO (language, country, timezone...) afin d'être exploitables par vos intégrations tierces.

Propriété

Type

Requis

Description

id

string

ID unique qui permet d'identifier les erreurs éventuelles lors du traitement.

kind

string

La valeur doit être "user".

user

object

Objet contenant les datas.

user.externalId

string

User ID externe de votre base de donnée.

user.isAuthenticated

boolean

true si le User ID provient de votre source de donnée principale.

user.createdAt

datetime

Date de création initiale du user dans votre base de donnée, au format ISO.

user.profile

object

Objet contenant les opérations de modification du profil utilisateur.

user.profile.set

object

Objet contenant les champs du profil utilisateur à modifier.

user.profile.set.signupAt

datetime

Date au format ISO de la date d'inscription dans votre source de donnée principale. Un utilisateur qui n'est pas authentifié (isAuthenticated == false) ne peut pas avoir de date signupAt.

user.profile.set.firstName

string

Prénom.

user.profile.set.lastName

string

Nom.

user.profile.set.gender

string (male/female)

Sexe (male ou female).

user.profile.set.birthday

date

Date d'anniversaire au format 2020-31-01.

user.profile.set.language

string

Langue préférée pour les communications au format ISO (fr, en...)

user.profile.set.photoURL

URL

URL de la photo de profil.

user.profile.set.email

email

Adresse email. Sert à l'unification des profils utilisateurs.

user.profile.set.emailMd5

string

Hash MD5 de l'adresse email. Calculé automatiquement depuis l'adresse email. Sert à l'unification des profils utilisateurs.

user.profile.set.emailSha1

string

Hash SHA1 de l'adresse email. Calculé automatiquement depuis l'adresse email. Sert à l'unification des profils utilisateurs.

user.profile.set.emailSha256

string

Hash SHA256 de l'adresse email. Calculé automatiquement depuis l'adresse email. Sert à l'unification des profils utilisateurs.

user.profile.set.websiteURL

URL

URL du site web. Sert à l'unification des profils utilisateurs.

user.profile.set.linkedInURL

URL

URL du profil LinkedIn. Sert à l'unification des profils utilisateurs.

user.profile.set.twitterUsername

string

Username du profil Twitter (sans le @). Sert à l'unification des profils utilisateurs.

user.profile.set.facebookUsername

string

Username du profil Facebook. Sert à l'unification des profils utilisateurs.

user.profile.set.facebookId

string

ID du profil Facebook. Sert à l'unification des profils utilisateurs.

user.profile.set.telephone

string

Numéro de téléphone.

user.profile.set.addressLine1

string

Adresse ligne 1.

user.profile.set.addressLine2

string

Adresse ligne 2.

user.profile.set.city

string

Ville.

user.profile.set.region

string

Région.

user.profile.set.postalCode

string

Code postal.

user.profile.set.state

string

État.

user.profile.set.country

string

Pays au format ISO (FR, US...)

user.profile.set.timezone

string

Fuseau horaire au format ISO (Europe/Paris...).

user.profile.set.latitude

number

Latitude.

user.profile.set.longitude

number

Longitude.

user.profile.unset

[]string

Liste des champs à supprimer.

user.profile.addTags

[]string

Liste des tags à ajouter.

user.profile.setTags

[]string

Remplace l'ensemble des tags du profil utilisateur.

user.profile.removeTags

[]string

Liste des tags à supprimer.

user.profile.addProperties

object

Map des propriétés custom à ajouter.

user.profile.setProperties

object

Remplace l'ensemble des propriétés custom du profil utilisateur.

user.profile.removeProperties

[]string

Liste des propriétés custom à supprimer.

Exemple

{
    "id": "unique_batch_id",
    "projectId": "testing_demo",
    "items": [
        {
            "id": "xxxxx",
            "kind": "user",
            "user": {
                "externalId": "my_external_user_id",
                "isAuthenticated": true,
                "createdAt": "2021-03-20T13:47:28.020Z",
                "profile": {
                    "set": {
                        "signupAt": "2021-03-20T13:47:28.020Z",
                        "firstName": "John",
                        "lastName": "Doe",
                        "gender": "male",
                        "birthday": "1980-12-31",
                        "language": "en",
                        "photoURL": "https://website.com/photo.jpg",
                        "email": "[email protected]",
                        "emailMd5": "29a1df4646cb3417c19994a59a3e022a",
                        "emailSha1": "e1e8d3e4a336d4f9dc63b70a534ff10834471556",
                        "emailSha256": "06a240d11cc201676da976f7b49341181fd180da37cbe40a77432c0a366c80c3",
                        "websiteURL": "https://johndoe-website.com",
                        "linkedInURL": "https://www.linkedin.com/in/johndoe/",
                        "twitterUsername": "johndoe",
                        "facebookUsername": "johndoe",
                        "facebookId": "712764000",
                        "telephone": "+1-541-754-3010",
                        "addressLine1": "1st Captain road",
                        "addressLine2": "2nd floor, unit 4",
                        "city": "New York City",
                        "region": "Long Island",
                        "state": "New York",
                        "country": "US",
                        "timezone": "America/New_York",
                        "latitude": 40.6643,
                        "longitude": -73.9385
                    },
                    "unset": ["photoURL", "birthday"],
                    "addTags": ["tag1", "tag2"],
                    "setTags": ["tag1", "tag2"],
                    "removeTags": ["tag1", "tag2"],
                    "addProperties": {
                        "my_string": "abc",
                        "my_number": 12.21,
                        "my_boolean": true,
                        "my_date": {
                            "$date": "2021-03-27T13:51:47.020Z",
                            "$timezone": "Europe/Paris"
                        },
                        "my_list": ["a", "b", "c"]
                    },
                    "setProperties": {
                        "my_string": "abc",
                        "my_number": 12.21,
                        "my_boolean": true,
                        "my_date": {
                            "$date": "2021-03-27T13:51:47.020Z",
                            "$timezone": "Europe/Paris"
                        },
                        "my_list": ["a", "b", "c"]
                    },
                    "removeProperties": ["my_string", "my_number"]
                }
            }
        }
    ]
}

Product

Propriété

Type

Requis

Description

id

string

ID unique qui permet d'identifier les erreurs éventuelles lors du traitement.

kind

string

La valeur doit être "product".

product

object

Objet contenant les datas.

product.externalId

string

Product ID externe de votre base de donnée.

product.createdAt

datetime

Date de création initiale du product dans votre base de donnée, au format ISO.

product.catalogId

string

La valeur doit être "default".

product.title

string

Nom du produit.

product.slug

string

Slug du produit.

product.status

string

Statut du produit: active, archived, draft

product.descriptionHtml

string

Fiche de description du produit au format HTML.

product.brand

string

Marque du produit.

product.publishedAt

datetime

Date de publication du produit.

product.tags

[]string

Liste de tags.

product.variants

Liste de variantes du produit.

product.images

Liste d'images du produit.

product.coverExternalId

string

Image ID de l'image de couverture du produit.

product.updatedAt

datetime

Date de mise à jour du produit.

product.props

object

Map des propriétés custom du produit.

Product variant

Propriété

Type

Requis

Description

externalId

string

Variant ID externe de votre base de donnée.

title

string

Nom de la variante.

createdAt

datetime

Date de création initiale de la variante dans votre base de donnée.

prices

map[currency]price

Map des prix par devise. currency est au format ISO (EUR, USD, GBP...)

upc

string

Universal Product Code.

sku

string

Single Key Unit.

taxable

boolean

Soumis à taxation.

position

int

Position de tri dans le catalogue.

allowBackorder

boolean

Autoriser la vente hors-stock.

stockLevel

int

Niveau du stock.

weight

number

Poids.

weightUnit

string

Unité de poids.

updatedAt

datetime

Date de modification de la variante dans votre base de donnée.

props

object

Map des propriétés custom de la variante.

Product price

Propriété

Type

Requis

Description

price

int

Prix en centimes (ex: 10.15€ -> 1015)

priceCompare

int

Prix barré en centimes (ex: 10.15€ -> 1015). Utilisé lors des promotions.

Product image

Propriété

Type

Requis

Description

externalId

string

Image ID externe de votre base de donnée.

url

URL

URL de l'image.

width

int

Largeur de l'image en px.

height

int

Hauteur de l'image en px.

createdAt

datetime

Date de création initiale de l'image dans votre base de donnée.

position

int

Position de tri dans le catalogue.

alt

string

Texte alternatif lors de l'affichage de l'image.

variantExternalIds

[]string

Liste des Variant ID auxquels l'image est rattachée.

updatedAt

datetime

Date de modification de l'image dans votre base de donnée.

Exemple

{
    "id": "unique_batch_id",
    "projectId": "testing_demo",
    "items": [
        {
            "id": "xxxxx",
            "kind": "product",
            "product": {
                "externalId": "my_external_product_id",
                "createdAt": "2021-03-20T13:47:28.020Z",
                "catalogId": "default",
                "title": "iPhone 15",
                "slug": "iphone-15",
                "status": "active",
                "descriptionHtml": "<p>Awesome description...</p>",
                "brand": "Apple",
                "publishedAt": "2021-03-20T13:47:28.020Z",
                "tags": ["phone", "5g"],
                "variants": [
                    {
                        "externalId": "my_external_product_variant1_id",
                        "title": "iPhone 15 Gold 512Go",
                        "createdAt": "2021-03-20T13:47:28.020Z",
                        "prices": {
                            "USD": {
                                "price": 200000,
                                "priceCompare": 250000
                            },
                            "EUR": {
                                "price": 160000,
                                "priceCompare": 200000
                            }
                        },
                        "upc": "xxxxx",
                        "sku": "zzzzz",
                        "taxable": true,
                        "position": 2,
                        "allowBackorder": false,
                        "stockLevel": 200,
                        "weight": 300,
                        "weightUnit": "gr",
                        "updatedAt": "2021-03-20T13:47:28.020Z",
                        "props": {
                            "color": "gold",
                            "capacity": "512go"
                        }
                    }
                ],
                "images": [
                    {
                        "externalId": "my_external_image1_id",
                        "url": "https://your-website.com/images/iphone15-gold",
                        "width": 500,
                        "height": 500,
                        "createdAt": "2021-03-20T13:47:28.020Z",
                        "position": 1,
                        "alt": "iPhone 15 Gold",
                        "variantExternalIds": ["my_external_product_variant1_id"],
                        "updatedAt": "2021-03-20T13:47:28.020Z"
                    }
                ],
                "coverExternalId": "my_external_image1_id",
                "updatedAt": "2021-03-20T13:47:28.020Z",
                "props": {
                    "screen": "retina",
                    "multiSim": true
                }
            }
        }
    ]
}

Order

Un order représente une vente eCommerce, et doit être rattaché à une session pour que l'attribution multi-canal marketing soit possible. L'Agent Web JS permet de collecter les orders via le navigateur de l'internaute et ainsi joindre le Session ID, Client ID etc... automatiquement.

Lorsque la commande est mise à jour (statut, panier...) dans votre logiciel eCommerce, vous pouvez l'importer à nouveau par webhook.

Il est important de collecter les orders avec et l'Agent Web JS pour pouvoir récupérer le contexte du navigateur web indispensable à l'attribution multi-canal, et par API/webhook pour synchroniser les changements des orders dans le temps.

Propriété

Type

Requis

Description

id

string

ID unique qui permet d'identifier les erreurs éventuelles lors du traitement.

kind

string

La valeur doit être "order".

order

object

Objet contenant les datas.

order.externalId

string

Order ID externe de votre base de donnée.

order.externalUserId

string

User ID externe de votre base de donnée.

order.userIsAuthenticated

boolean

true si le User ID provient de votre source de donnée principale.

order.createdAt

datetime

Date de création initiale de l'order dans votre base de donnée.

order.updatedAt

datetime

Date de modification de l'order dans votre base de donnée.

order.domainId

string

Domain ID auquel l'order est rattaché.

order.country

string

Pays au format ISO (FR, US...).

order.conversionRuleId

string

Conversion Rule ID auquel l'order est rattaché.

order.financialStatus

string

Statut de paiement, la valeur doit être : pending, authorized, partially_paid, paid, partially_refunded, refunded, voided

order.currency

string

Devise au format ISO (EUR, USD, GBP...).

order.revenue

int

Montant de la commande en centimes HT et avant frais de port.

Ex : 10.20€ -> 1020

order.totalTips

int

Montant total en centimes des pourboires.

order.totalTax

int

Montant total en centimes des taxes.

order.totalDiscounts

int

Montant total en centimes des réductions.

order.items

Liste des produits du panier.

order.discounts

Liste des discounts appliqués sur la commande.

order.refunds

Liste des remboursements appliqués sur la commande.

order.fulfillmentStatus

string

Statut de préparation de commande. La valeur doit être : fulfilled, partial, restocked

order.publicURL

URL

URL publique de la page de suivi de commande. Cette URL doit pouvoir être envoyée par SMS / Email pour améliorer l'expérience client.

order.closedAt

datetime

Date de clôture de la commande.

order.cancelledAt

datetime

Date d'annulation de la commande.

order.cancelReason

string

Raison d'annulation qui peut être transmise au client.

order.tags

[]string

Liste de tags.

order.props

object

Map des propriétés custom de la commande.

Order item

Propriété

Type

Requis

Description

externalId

string

Item ID externe de votre base de donnée.

name

string

Nom du produit.

sku

string

Single Key Unit.

brand

string

Nom de la marque.

category

string

Nom de la catégorie.

variantTitle

string

Nom de la variante.

imageURL

URL

URL de la photo du produit.

currency

string

Devise au format ISO (EUR, USD, GBP...).

price

int

Montant total en centimes avant application des réductions éventuelles.

quantity

int

Quantité.

props

object

Map des propriétés custom de l'item.

Order discount

Propriété

Type

Requis

Description

kind

string

Mode de réduction, la valeur doit être : manual, script, discountCode

title

string

Nom de la réduction.

valueType

string

Type de réduction, la valeur doit être : fixedAmount , percentage

value

int

Valeur de la réduction, en cents. Ex : 20€ -> 2000 et 5% -> 500.

code

string

requis si kind == discountCode

Code de réduction.

targetType

string

Cible de la réduction, la valeur doit être : lineItem, shippingLine

targetSelection

string

Lignes ciblées par la réduction, la valeur doit être :

  • all: la réduction s'applique sur toutes les lignes

  • entitled: la réduction s'applique uniquement sur toutes les lignes habilitées

  • explicit : la réduction s'applique sur toutes les lignes sélectionnées

allocationMethod

string

Méthode d'allocation de la valeur de la réduction :

  • across : La valeur est répartie sur toutes les lignes autorisées.

  • each : La valeur est appliquée sur chaque ligne autorisée.

  • one : La valeur est appliquée sur une seule ligne.

Order refund

Propriété

Type

Requis

Description

externalId

string

Refund ID externe de votre base de donnée.

items

Liste des refundItems

createdAt

datetime

Date de création initiale du refund dans votre base de donnée.

updatedAt

datetime

Date de modification du refund dans votre base de donnée.

note

string

Description éventuelle.

Refund item

Propriété

Type

Requis

externalId

string

Item ID externe de votre base de donnée.

quantity

int

Quantité remboursée.

subtotal

int

Montant total HT en centimes.

totalTax

int

Montant total des éventuelles taxes en centimes.

sku

string

Single Key Unit.

Exemple

{
    "id": "unique_batch_id",
    "projectId": "testing_demo",
    "items": [
        {
            "id": "xxxx",
            "kind": "order",
            "order": {
                "externalId": "order1",
                "externalUserId": "user1",
                "userIsAuthenticated": true,
                "createdAt": "2021-03-20T13:47:28.020Z",
                "updatedAt": "2021-03-20T13:47:28.020Z",
                "domainId": "website-com",
                "conversionRuleId": "sales",
                "financialStatus": "paid",
                "currency": "USD",
                "revenue": 200000,
                "totalTips": 0,
                "totalTax": 40000,
                "totalDiscounts": 10000,
                "fulfillmentStatus": "fulfilled",
                "publicURL": "https://your-website.com/view-order?token=xxxxxxx",
                "closedAt": "2021-03-20T13:47:28.020Z",
                "cancelledAt": "2021-03-20T13:47:28.020Z",
                "cancelReason": "Customer cancelled",
                "tags": ["tag1", "tag2"],
                "props": {
                    "string": "abc",
                    "number": 12.13,
                    "bool": true
                },
                "items": [
                    {
                        "externalId": "iphone-15-gold",
                        "name": "iPhone 15",
                        "sku": "xxx",
                        "brand": "Apple",
                        "category": "Phone",
                        "variantTitle": "iPhone 15 Gold",
                        "imageURL": "https://your-website.com/images/iphone15.jpg",
                        "currency": "USD",
                        "price": 200000,
                        "quantity": 1,
                        "props": {"string": "abc", "number": 12.13, "bool": false}
                    }
                ],
                "discounts": [
                    {
                        "kind": "discountCode",
                        "title": "5% off all items",
                        "valueType": "percentage",
                        "value": 500,
                        "code": "HAPPY5",
                        "targetType": "lineItem",
                        "targetSelection": "all",
                        "allocationMethod": "each"
                    }
                ],
                "refunds": [
                    {
                        "externalId": "refund1",
                        "createdAt": "2021-03-20T13:47:28.020Z",
                        "updatedAt": "2021-03-20T13:47:28.020Z",
                        "note": "Refund processed by Paypal",
                        "items": [
                            {
                                "externalId": "iphone-15-gold",
                                "quantity": 1,
                                "subtotal": 200000,
                                "totalTax": 40000,
                                "sku": "xxx"
                            }
                        ]
                    }
                ]
            }
        }
    ]
}

Event

Un event permet de tracker un événément important pour votre business, effectué par un user. Exemple : un formulaire remplis.

Propriété

Type

Requis

Description

id

string

ID unique qui permet d'identifier les erreurs éventuelles lors du traitement.

kind

string

La valeur doit être "event".

event

object

Objet contenant les datas.

event.externalId

string

Event ID externe.

event.createdAt

datetime

Date de l'événement.

event.externalUserId

string

User ID externe.

event.userIsAuthenticated

boolean

true si le User ID provient de votre source de donnée principale.

event.domainId

string

Domain ID auquel l'événement est rattaché.

event.label

string

Nom de l'événement.

event.value

integer

Valeur de l'événement.

event.externalSessionId

string

Requis si event.nonInteractive n'est pas true

Session ID auquel l'événement est rattaché.

event.nonInteractive

boolean

Mettre à true si l'événement ne provient d'une interaction du user.

event.timezoneOffset

integer

Offset du fuseau horaire du user.

event.props

object

Map des propriétés custom de l'événement.

Lead

Un lead représente une opportunité (deal, contrat...) qui va changer d'état pour soit convertir ou soit être perdue.

Pour changer le stage (= état actuel) d'un lead il faut fournir une date createdAt plus récente que le dernier état connu pour un même identifiant externalId.

Propriété
Type
Requis
Description

id

string

ID unique qui permet d'identifier les erreurs éventuelles lors du traitement.

kind

string

La valeur doit être "lead".

lead

object

Objet contenant les datas.

lead.externalId

string

Lead ID externe.

lead.createdAt

datetime

Date de changement d'état (= stageId) du lead.

lead.externalUserId

string

User ID externe.

lead.userIsAuthenticated

boolean

true si le User ID provient de votre source de donnée principale.

lead.domainId

string

Domain ID auquel l'événement est rattaché.

lead.conversionRuleId

string

Conversion Rule ID auquel l'order est rattaché.

lead.stageId

string

Stage ID du lead à la date de createdAt.

lead.publicURL

string

URL publique qui peut être communiquée au client pour suivre l'avancement de son dossier.

lead.revenue

integer

Montant en centime du deal.

lead.currency

string

Devise du revenue au format ISO.

lead.tags

[]string

Liste de tags.

lead.props

object

Map des propriétés custom de l'événement.

{
    "id": "unique_batch_id",
    "projectId": "testing_demo",
    "items": [
        {
            "id": "xxxx",
            "kind": "lead",
            "lead": {
                "externalId": "lead_1",
                "externalUserId": "user1",
                "userIsAuthenticated": true,
                "createdAt": "2021-03-21T13:47:28.020Z",
                "domainId": "website-com",
                "conversionRuleId": "leads",
                "stageId": "signed",
                "publicURL": "https://your-website.com/view-contract?id=xxx",
                "revenue": 10000,
                "currency": "EUR",
                "tags": ["vip", "car"],
                "props": {
                    "string": "abc",
                    "number": 12.13,
                    "bool": true
                }
            }
        }
    ]
}

Client

Un client représente un moyen d'accéder à votre service en ligne, ça peut être un navigateur web, une application native etc... Les interactions (sessions, pageviews, timeSpent...) doivent être rattachées à un client.

A moins d'injecter les données de navigation web par API, l'Agent Web JS se chargera de collecter les clients.

Propriété

Type

Requis

Description

id

string

ID unique qui permet d'identifier les erreurs éventuelles lors du traitement.

kind

string

La valeur doit être "client".

client

object

Objet contenant les datas.

client.externalId

string

Client ID externe.

client.createdAt

datetime

Date de première visite du client au format ISO.

client.externalUserId

string

User ID externe.

client.userIsAuthenticated

boolean

true si le User ID provient de votre source de donnée principale.

client.userAgent

string

Requis si les propriétés os, platform & device sont manquantes.

User agent du navigateur web.

client.os

string

Requis si le userAgent est manquant.

La valeur doit être : Unknown, WindowsPhone, Windows, MacOSX, iOS, Android, Blackberry, ChromeOS, Kindle, WebOS, Linux, Playstation, Xbox, Nintendo, Bot

client.platform

string

Requis si le userAgent est manquant.

La valeur doit être : Unknown, Windows, Mac, Linux, iPad, iPhone, iPod, Blackberry, WindowsPhone, Playstation, Xbox, Nintendo, Bot

client.device

string

Requis si le userAgent est manquant.

La valeur doit être : Unknown, Computer, Tablet, Phone, Console, Wearable, TV

client.vendor

string

Nom du vendor du navigateur web. Calculé automatiquement d'après le userAgent.

client.resolution

string

Taille d'écran au format largeurxhauteur. Ex: 1920x1080

client.resolutionAvailable

string

Taille d'écran disponible dans la fenêtre du navigateur au format largeurxhauteur. Ex: 1840x970

client.timezone

string

Fuseau horaire du client au format ISO (ex: Europe/Paris)

client.timezoneOffset

int

Décalage horaire du fuseau par rapport à UTC en minutes du navigateur web. (ex: -60), déterminé par new Date().getTimezoneOffset()

client.doNotTrack

string

Valeur du navigator.doNotTrack du navigateur web.

client.language

string

Langue au format ISO (en, fr, de...) du client.

client.languages

[]string

Liste des langues par ordre de préférence au format ISO. Ex: ["en", "fr"]

client.adBlock

boolean

Bloqueur de publicité activé.

Session

Les sessions permettent de regrouper les interactions utilisateurs (pageview, event, cart, order...) ayant eu lieu lors d'une même visite (web ou POS) et constitue une contribution au parcours de conversion lors de l'attribution des ventes.

Propriété

Type

Requis

Description

id

string

ID unique qui permet d'identifier les erreurs éventuelles lors du traitement.

kind

string

La valeur doit être "session".

session

objet

Objet contenant les datas de la session.

session.externalId

string

Session ID externe.

session.createdAt

datetime

Date de création de la session au format ISO.

session.externalUserId

string

User ID externe.

session.userIsAuthenticated

boolean

true si le User ID provient de votre source de donnée principale.

session.domainId

string

Domaine ID.

session.source

string

Source du canal ayant généré la session (=utm_source).

session.medium

string

Medium du canal ayant généré la session (=utm_medium).

session.externalClientId

string

Client ID externe.

session.timezoneOffset

integer

Offset du fuseau horaire du user.

session.campaignId

string

ID de la campagne ayant généré la session (=utm_campaign)

session.adId

string

ID de la publicité ayant généré la session (=utm_content)

session.keywordId

string

Mot clé ayant généré la session (=utm_term)

session.landingPage

string

URL de la page d'atterissage ayant généré la session, dans le cas d'une visite web.

session.referrer

string

URL de la page referrer ayant généré la session, dans le cas d'une visite web.

session.customDimension1

string

Dimension custom

Pageview

TimeSpent

Cart

WishList

Notification topics

Vous pouvez inscrire et désinscrire vos utilisateurs des topics de notification (ex: newsletter...).

Inscription

Propriété

Type

Requis

Description

id

string

kind

string

La valeur doit être subscribeToNotificationTopic

subscribeToNotificationTopic

objet

Objet contenant les datas.

subscribeToNotificationTopic.externalUserId

string

User ID externe de votre base de donnée.

subscribeToNotificationTopic.userIsAuthenticated

boolean

true si le User ID provient de votre source de donnée principale.

subscribeToNotificationTopic.createdAt

datetime

Date de création initiale de l'inscription dans votre base de donnée.

subscribeToNotificationTopic.notificationTopicId

string

ID du topic de notification.

subscribeToNotificationTopic.channel

string

Canal de communication: email ou sms

rsubscribeToNotificationTopic.recipient

string

Adresse du destinataire. Email pour le canal email, et numéro de téléphone pour le canal sms.

subscribeToNotificationTopic.collectionItemExternalId

string

ID externe de l'item concerné si le topic de notification est de type collection. Exemple: ID du produit pour un topic "Alerte retour en stock".

subscribeToNotificationTopic.skipDoubleOptIn

boolean

true pour inscrire les utilisateurs au topic sans leur demander de confirmation.

Exemple

{
    "id": "unique_batch_id",
    "projectId": "testing_demo",
    "items": [
        {
            "id": "subscribe_user1_backinstock_email",
            "kind": "subscribeToNotificationTopic",
            "subscribeToNotificationTopic": {
                "externalUserId": "user1",
                "userIsAuthenticated": true",
                "createdAt": "2021-03-20T13:47:28.020Z",
                "notificationTopicId": "productBackInStock",
                "collectionItemExternalId": "product-1",
                "channel": "email",
                "recipient": "[email protected]",
                "skipDoubleOptIn": true
            }
        }
    ]
}

Désinscription

Propriété

Type

Requis

Description

id

string

kind

string

La valeur doit être unsubscribeFromNotificationTopic

unsubscribeFromNotificationTopic

objet

Objet contenant les datas.

unsubscribeFromNotificationTopic.externalUserId

string

User ID externe de votre base de donnée.

unsubscribeFromNotificationTopic.createdAt

datetime

Date de création initiale de l'inscription dans votre base de donnée.

unsubscribeFromNotificationTopic.notificationTopicId

string

ID du topic de notification.

unsubscribeFromNotificationTopic.channel

string

Canal de communication à désinscrire: email ou sms

subscribeToNotificationTopic.collectionItemExternalId

string

ID externe de l'item concerné si le topic de notification est de type collection. Exemple: ID du produit pour un topic "Alerte retour en stock".

Exemple

{
    "id": "unique_batch_id",
    "projectId": "testing_demo",
    "items": [
        {
            "id": "unsubscribe_user1_backinstock_email",
            "kind": "unsubscribeFromNotificationTopic",
            "unsubscribeFromNotificationTopic": {
                "externalUserId": "user1",
                "createdAt": "2021-03-20T13:47:28.020Z",
                "notificationTopicId": "productBackInStock",
                "collectionItemExternalId": "product-1",
                "channel": "email"
            }
        }
    ]
}

Alias

Un alias permet de fusionner 2 users ensemble. Lors d'une fusion, tout l'historique (sessions, pageviews, events, orders...) du user source est copié vers le user de destination. Les propriétés du profil du user source manquantes dans le profil du user de destination sont également copiées.

Si de nouvelles données importées (anciennes ou futures) concernent le user source, elles seront alors automatiquement enregistrées pour le user de destination.

En général vous n'aurez jamais à utiliser cette fonction, l'Agent Web JS se charge de déclencher un alias automatiquement lorsqu'un internaute anonyme se connecte sur votre site.

De plus, lorsque 2 users possèdent une clé de réconciliation commune (email, emailMd5, emailSha1, emailSha256, websiteURL, linkedInURL, twitterUsername, facebookUsername, facebookId...), Captain Metrics va automatiquement les fusionner et créer un alias.

Propriété

Type

Requis

Description

id

string

ID unique qui permet d'identifier les erreurs éventuelles lors du traitement.

kind

string

La valeur doit être "alias".

alias

object

Objet contenant les datas.

alias.externalUserId

string

User ID externe du user "anonyme" (= source de donnée secondaire) à fusionner.

alias.toExternalUserId

string

User ID externe du user de destination, qui survrivra à la fusion.

alias.toUserIsAuthenticated

boolean

true si le User ID provient de votre source de donnée principale. Si le champ n'est pas fourni et que le user de destination n'existe pas, la requête sera rejetée.

Exemple

{
    "id": "unique_batch_id",
    "projectId": "testing_demo",
    "items": [
        {
            "id": "alias_user1_user2",
            "kind": "alias",
            "alias": {
                "externalUserId": "user1",
                "toExternalUserId": "user2",
                "toUserIsAuthenticated": true
            }
        }
    ]
}

Mis à jour

Ce contenu vous a-t-il été utile ?