Cette action exécute l’un de vos parcours de gains personnalisés pour un client et lui donne ses points. Utilisez-la quand un événement extérieur à JeriCommerce doit rapporter des points, comme un avis produit publié, une réponse à un sondage ou la participation à un événement.

Avant de commencer, configurez le parcours de gains personnalisé dans JeriCommerce avec le mode Tap and external trigger ou External trigger only, et notez son emplacement : de CUSTOM_1 à CUSTOM_5.

Ce qui se passe

  • Le client reçoit les points que vous avez définis dans le parcours, et le parcours apparaît comme accompli dans sa Customer App.
  • La récurrence et le nombre maximal d’exécutions du parcours s’appliquent : le déclencher deux fois ne peut donc pas donner les points deux fois quand la limite est de un.
  • Les campagnes de boost qui s’appliquent aux parcours de gains personnalisés multiplient les points.
  • Un événement Balance changed est envoyé à votre webhook d’événements.

Aucun point n’est crédité quand le parcours est désactivé, n’est pas entièrement configuré, n’est pas un parcours personnalisé, ou que le client a atteint sa limite.

Mise en place

Utilisez l’action JeriCommerce Execute earning flow dans n’importe quel workflow Shopify Flow.

1

Ajouter l’action

Dans Shopify, ouvrez Flow, créez ou modifiez un workflow, puis ajoutez Execute earning flow après votre déclencheur.

2

Remplir les champs

  • Earning flow name : l’emplacement de votre parcours de gains personnalisé, par exemple CUSTOM_1.
  • Customer email : l’adresse e-mail du client. Utilisez Add variable pour la reprendre du déclencheur.
3

Activer le workflow

Enregistrez et activez le workflow. Les points sont crédités chaque fois que le déclencheur s’exécute, dans les limites du parcours.

Action Execute earning flow configurée dans un Shopify Flow
L’action Execute earning flow reçoit l’identifiant du parcours (par ex. CUSTOM_1) et l’adresse e-mail du client

Le parcours s’exécute pendant que le workflow tourne. S’il ne peut pas être exécuté, par exemple parce que le client a atteint la limite, l’étape échoue et la raison apparaît dans l’historique d’exécution du workflow.

Ajoutez une action Webhook à votre flow Klaviyo. Remplissez le générateur ci-dessous et copiez chaque valeur dans les paramètres du webhook.

Vos informations

Retrouvez-le dans Settings > Technical > Program Information.

Créez-en une dans Settings > Technical > API Keys. Elle reste dans votre navigateur.

Détails de l’action

Identifiant d’emplacement du parcours de gains personnalisé, de CUSTOM_1 à CUSTOM_5. Ouvrez le parcours dans JeriCommerce pour le voir.

Copier et coller dans Klaviyo

Paramètres du webhook
Destination URL
https://api.jericommerce.com/v1/programs/your-program-slug/custom-earning-flows/CUSTOM_1/execute
Headers
Key
api-key
Value
your-api-key
JSON body
{
  "customerEmail": "{{ person.email|default:'' }}"
}

Klaviyo envoie la requête et ne lit pas la réponse. Si le client a atteint la limite du parcours, aucun point n’est crédité et Klaviyo n’en est pas informé.

POST https://api.jericommerce.com/v1/programs/{program_slug}/custom-earning-flows/{earningFlowId}/execute

Remplacez {earningFlowId} par l’emplacement du parcours (CUSTOM_1 à CUSTOM_5). Vous pouvez aussi utiliser l’identifiant interne du parcours, mais l’emplacement est plus pratique, car il reste le même si vous réinitialisez le parcours.

Cet endpoint accepte deux types d’authentification :

  • Clé API dans l’en-tête api-key, depuis votre serveur. Elle peut exécuter le parcours pour n’importe quel client : le corps doit donc contenir l’adresse e-mail du client. Consultez Authentification via l’API.
  • Jeton client dans l’en-tête Authorization: Bearer, depuis le navigateur ou l’application du client lui-même, comme une boutique personnalisée. Le parcours s’exécute pour ce client et le corps peut être vide. Créez le jeton avec token_type=auth comme décrit dans Jetons client.
{
  "customerEmail": "customer@example.com"
}
Champ Type Obligatoire Remarques
customerEmail string Avec une clé API Adresse e-mail d’un client déjà présent dans le programme. Ignorée avec un jeton client.

Contrairement aux autres actions, cet endpoint s’exécute immédiatement et répond 200 avec le résultat :

{
  "pointsAwarded": 100,
  "remainingExecutions": 0,
  "recurrence": "once"
}
Champ Remarques
pointsAwarded Les points crédités lors de cette exécution.
remainingExecutions Combien de fois ce client peut encore exécuter le parcours pendant la période en cours. 0 signifie qu’il a atteint la limite.
recurrence La période du parcours : once, daily, weekly, monthly, quarterly, semiannually ou yearly.
Code Signification
CUSTOMER_EMAIL_REQUIRED Vous avez utilisé une clé API sans customerEmail dans le corps.
EARNING_FLOW_NOT_FOUND L’earningFlowId n’existe pas dans ce programme.
NOT_A_CUSTOM_EARNING_FLOW L’identifiant correspond à un parcours standard, comme les achats, qui ne peut pas être déclenché de cette façon.
EARNING_FLOW_INACTIVE Le parcours existe mais il est désactivé.
EARNING_FLOW_NOT_CONFIGURED Il manque au parcours ses points, sa récurrence ou son nombre maximal d’exécutions. Ouvrez-le dans JeriCommerce et enregistrez-le.
CUSTOMER_NOT_FOUND Aucun client avec cette adresse e-mail n’existe dans le programme.
MAX_EXECUTIONS_REACHED Le client a déjà exécuté le parcours le nombre maximal de fois pendant la période en cours.

Construisez une requête prête à l’emploi avec vos propres valeurs :

Vos informations

Retrouvez-le dans Settings > Technical > Program Information.

Créez-en une dans Settings > Technical > API Keys. Elle reste dans votre navigateur.

Détails de l’action

Identifiant d’emplacement du parcours de gains personnalisé, de CUSTOM_1 à CUSTOM_5. Ouvrez le parcours dans JeriCommerce pour le voir.

Votre requête

curl --request POST \
  --url 'https://api.jericommerce.com/v1/programs/your-program-slug/custom-earning-flows/CUSTOM_1/execute' \
  --header 'api-key: your-api-key' \
  --header 'Content-Type: application/json' \
  --data '{
  "customerEmail": "customer@example.com"
}'

Collez-la dans un terminal pour tester la requête avec votre programme.