Point d’entrée des plannings
Les planifications sont un outil qui peut être utilisé pour exécuter automatiquement des traitements de segmentation par lots une fois par jour. Vous pouvez utiliser le point d’entrée /config/schedules pour récupérer une liste de planifications, créer une nouvelle planification, récupérer les détails d’une planification spécifique, mettre à jour une planification spécifique ou supprimer une planification spécifique.
Prise en main
Les points d’entrée utilisés dans ce guide font partie de l’API Adobe Experience Platform Segmentation Service. Avant de poursuivre, consultez le guide de prise en main pour obtenir des informations importantes à connaître afin d’effectuer avec succès des appels vers l’API, y compris les en-têtes requis et la manière de lire des exemples d’appels API.
Récupération d’une liste de plannings retrieve-list
Vous pouvez récupérer une liste de tous les plannings pour votre organisation en envoyant une requête GET au point d’entrée /config/schedules.
Format d’API
Le point d’entrée /config/schedules prend en charge plusieurs paramètres de requête pour vous aider à filtrer vos résultats. Bien que ces paramètres soient facultatifs, leur utilisation est vivement recommandée pour réduire les frais généraux élevés. Si vous effectuez un appel à ce point d’entrée sans paramètre, toutes les planifications disponibles pour votre organisation sont récupérées. Plusieurs paramètres peuvent être inclus et séparés par des esperluettes (&).
GET /config/schedules
GET /config/schedules?{QUERY_PARAMETERS}
Paramètres de requête
| table 0-row-3 1-row-3 2-row-3 | ||
|---|---|---|
| Paramètre | Description | Exemple |
start |
Spécifie la page à partir de laquelle le décalage commencera. Par défaut, cette valeur sera définie sur 0. | start=5 |
limit |
Indique le nombre de plannings renvoyés. Par défaut, cette valeur sera définie sur 100. | limit=20 |
Requête
La requête suivante récupère les dix dernières planifications publiées au sein de votre organisation.
| code language-shell |
|---|
|
Réponse
Une réponse réussie renvoie le statut HTTP 200 avec une liste de plannings pour l’organisation spécifiée au format JSON.
| code language-json |
|---|
|
| table 0-row-2 1-row-2 2-row-2 3-row-2 4-row-2 5-row-2 6-row-2 7-row-2 8-row-2 9-row-2 10-row-2 11-row-2 12-row-2 13-row-2 14-row-2 15-row-2 | |
|---|---|
| Propriété | Description |
_page.totalCount |
Nombre total de plannings renvoyés. |
_page.pageSize |
Taille de la page des plannings. |
children.id |
L’identifiant du planning. |
children.imsOrgId |
ID d’organisation du planning. |
children.sandbox |
Objet contenant des informations sur le sandbox pour le planning. |
children.name |
Nom du planning sous forme de chaîne. |
children.state |
Chaîne contenant l’état du planning. Les deux états pris en charge sont « actif » et « inactif ». Par défaut, l’état est défini sur « inactif ». |
children.type |
Type de traitement sous forme de chaîne. Les deux types pris en charge sont batch_segmentation et export. |
children.schedule |
Chaîne contenant le planning du traitement. Les tâches ne peuvent être planifiées pour s’exécuter qu’une seule fois par jour, ce qui signifie que vous ne pouvez pas planifier une tâche pour qu’elle s’exécute plus d’une fois sur une période de 24 heures. Pour plus d’informations sur les plannings cron, consultez l’annexe sur le format d’expression cron. Dans cet exemple, « 0 0 1 * * » signifie que cette planification s’exécutera à 1 heure du matin tous les jours. |
children.frequency |
Fréquence d’exécution du planning. Les valeurs possibles sont daily, weekly, monthly et yearly. |
children.properties |
Objet contenant des propriétés supplémentaires liées au planning. |
children.properties.segments |
Identifiants des définitions de segment appartenant au planning. |
children.owner |
Propriétaire du planning. Les valeurs possibles sont les suivantes : user si la planification est créée par l’utilisateur ou l’utilisatrice et system si la planification est créée par le système. |
children.createEpoch |
Heure de création de l’époque pour le planning, en secondes. |
children.updateEpoch |
Heure de la dernière mise à jour du planning dans secondes. |
Création d’un nouveau planning create
Vous pouvez créer un nouveau planning en effectuant une requête POST au point d’entrée /config/schedules.
Format d’API
POST /config/schedules
Requête
| code language-shell |
|---|
|
| table 0-row-2 1-row-2 2-row-2 3-row-2 4-row-2 5-row-2 6-row-2 | |
|---|---|
| Propriété | Description |
name |
Obligatoire. Nom du planning sous forme de chaîne. |
type |
Obligatoire. Type de traitement sous forme de chaîne. Les deux types pris en charge sont batch_segmentation et export. |
properties |
Obligatoire. Objet contenant des propriétés supplémentaires liées au planning. |
properties.segments |
Requis lorsque la type est égale à « batch_segmentation ». Identifiants des définitions de segment que vous souhaitez inclure dans le planning. |
schedule |
Obligatoire. Chaîne contenant le planning du traitement. Les tâches ne peuvent être planifiées pour s’exécuter qu’une seule fois par jour, ce qui signifie que vous ne pouvez pas planifier une tâche pour qu’elle s’exécute plus d’une fois sur une période de 24 heures. La planification des tâches détermine la fréquence de la planification. Pour plus d’informations sur les plannings cron, consultez l’annexe sur le format d’expression cron. Dans cet exemple, « 0 0 1 * * » signifie que cette planification s’exécutera à 1 heure du matin tous les jours. |
state |
Facultatif. Chaîne contenant l’état du planning. Les deux états pris en charge sont active et inactive. Par défaut, l’état est défini sur inactive. |
Réponse
Une réponse réussie renvoie un état HTTP 200 avec les détails de votre nouveau planning.
| code language-json |
|---|
|
| table 0-row-2 1-row-2 2-row-2 3-row-2 4-row-2 5-row-2 6-row-2 7-row-2 8-row-2 9-row-2 10-row-2 11-row-2 12-row-2 13-row-2 14-row-2 15-row-2 16-row-2 | |
|---|---|
| Propriété | Description |
id |
L’identifiant du planning nouvellement créé. |
imsOrgId |
ID d’organisation de l’utilisateur qui a créé le planning. |
sandbox |
Objet contenant les informations du sandbox pour le planning. Pour plus d’informations sur les sandbox, consultez la présentation des sandbox. |
sandbox.sandboxId |
Identifiant du sandbox qui contient votre planning. |
sandbox.sandboxName |
Nom du sandbox qui contient votre planning. |
sandbox.type |
Type du sandbox. Les valeurs possibles sont production et development. |
sandbox.default |
Valeur booléenne qui indique si le sandbox est le sandbox par défaut. |
name |
Nom que vous avez donné au planning. |
state |
État du planning. Les valeurs possibles sont active et inactive. Si vous ne l’avez pas défini dans le corps de la requête, l’état sera défini sur inactive. |
type |
Type de tâche pour la planification. Les valeurs possibles sont batch_segmentation et export. |
schedule |
Expression cron qui représente le moment où votre planning s’exécute. Pour plus d’informations sur la création d’expressions cron, consultez la section Format d’expression cron . |
frequency |
Fréquence d’exécution du planning. Cela dépend directement de l’expression cron du planning. Les valeurs possibles sont daily, weekly, monthly et yearly. |
properties |
Objet contenant les identifiants de définition de segment pour le planning, si le planning est de type batch_segmentation. |
owner |
Type d’entité propriétaire du planning. Depuis la création du planning, cette valeur est user. |
createEpoch |
Heure de création de l’époque pour le planning, en secondes. |
updateEpoch |
Heure de la dernière mise à jour du planning dans secondes. |
Récupération d’un planning spécifique get
Vous pouvez récupérer des informations détaillées sur un planning spécifique en adressant une requête GET au point d’entrée /config/schedules et en fournissant l’identifiant du planning que vous souhaitez récupérer dans le chemin de requête.
Format d’API
GET /config/schedules/{SCHEDULE_ID}
{SCHEDULE_ID}id du planning que vous souhaitez récupérer.Requête
| code language-shell |
|---|
|
Réponse
Une réponse réussie renvoie un état HTTP 200 avec des informations détaillées sur le planning spécifié.
| code language-json |
|---|
|
| table 0-row-2 1-row-2 2-row-2 3-row-2 4-row-2 5-row-2 6-row-2 7-row-2 8-row-2 9-row-2 10-row-2 11-row-2 12-row-2 13-row-2 14-row-2 15-row-2 16-row-2 17-row-2 | |
|---|---|
| Propriété | Description |
id |
L’identifiant du planning. |
imsOrgId |
Identifiant de l’organisation à laquelle appartient le planning. |
sandbox |
Objet contenant les informations du sandbox pour le planning. Pour plus d’informations sur les sandbox, consultez la présentation des sandbox. |
sandbox.sandboxId |
Identifiant du sandbox qui contient votre planning. |
sandbox.sandboxName |
Nom du sandbox qui contient votre planning. |
sandbox.type |
Type du sandbox. Les valeurs possibles sont production et development. |
sandbox.default |
Valeur booléenne qui indique si le sandbox est le sandbox par défaut. |
name |
Nom du planning sous forme de chaîne. |
state |
Chaîne contenant l’état du planning. Les deux états pris en charge sont active et inactive. Par défaut, l’état est défini sur inactive. |
type |
Type de traitement sous forme de chaîne. Les deux types pris en charge sont batch_segmentation et export. |
schedule |
Chaîne contenant le planning du traitement. Vous ne pouvez planifier qu’une seule exécution de tâche par jour, ce qui signifie que vous ne pouvez pas planifier l’exécution d’une tâche plus d’une fois au cours d’une période de 24 heures. Pour plus d’informations sur les plannings cron, consultez l’annexe sur le format d’expression cron. Dans cet exemple, « 0 0 1 * * » signifie que cette planification s’exécutera à 1 heure du matin tous les jours. |
frequency |
Fréquence d’exécution du planning. Cette valeur dépend directement de l’expression cron du planning. Les valeurs possibles sont daily, weekly, monthly et yearly. |
properties |
Objet contenant des propriétés supplémentaires liées au planning. |
properties.segments |
Liste des identifiants de définition de segment qui font partie du planning. |
owner |
Type d’entité propriétaire du planning. Si un utilisateur ou une utilisatrice a créé le planning, cette valeur est user. Si le planning est un planning créé par le système, cette valeur est system. |
createEpoch |
Heure de création de l’époque pour le planning, en secondes. |
updateEpoch |
Heure de la dernière mise à jour du planning dans secondes. |
Mettre à jour les détails d’un planning spécifique update
Vous pouvez mettre à jour un planning spécifique en adressant une requête PATCH au point d’entrée /config/schedules et en fournissant l’identifiant du planning que vous tentez de mettre à jour dans le chemin de requête.
La requête PATCH vous permet de mettre à jour la planification state ou cron pour une planification individuelle.
Format d’API
PATCH /config/schedules/{SCHEDULE_ID}
{SCHEDULE_ID}id du planning que vous souhaitez mettre à jour.Vous pouvez utiliser une opération Correctif JSON pour mettre à jour l’état du planning. Pour mettre à jour l’état, vous déclarez la propriété path comme /state et définissez l’value sur active ou inactive. Pour plus d’informations sur le correctif JSON, consultez la documentation du correctif JSON.
Requête
| accordion | ||
|---|---|---|
| Exemple de requête pour mettre à jour l’état du planning. | ||
|
| table 0-row-2 1-row-2 2-row-2 | |
|---|---|
| Propriété | Description |
path |
Chemin d’accès de la valeur que vous souhaitez mettre à jour. Dans ce cas, puisque vous mettez à jour l’état du planning, vous devez définir la valeur de path sur « /state ». |
value |
Valeur mise à jour de l’état du planning. Cette valeur peut être définie comme « active » ou « inactive » pour activer ou désactiver le planning. Notez que vous ne pouvez pas désactiver un planning si l’organisation a été activée pour la diffusion en continu. |
Réponse
Une réponse réussie renvoie un état HTTP 204 (No Content).
path comme /schedule et définissez la value sur un planning cron valide. Pour plus d’informations sur le correctif JSON, consultez la documentation du correctif JSON. Pour plus d’informations sur les plannings cron, consultez l’annexe sur le format d’expression cron.Requête
| code language-shell |
|---|
|
| table 0-row-2 1-row-2 2-row-2 | |
|---|---|
| Propriété | Description |
path |
Chemin d’accès de la valeur à mettre à jour. Dans ce cas, puisque vous mettez à jour la planification cron, vous devez définir la valeur de path sur /schedule. |
value |
Valeur mise à jour du planning cron. Cette valeur doit se présenter sous la forme d’un planning cron. Dans cet exemple, le planning se déroulera le deuxième jour de chaque mois. |
Réponse
Une réponse réussie renvoie un état HTTP 204 (No Content).
Suppression d’un planning spécifique
Vous pouvez demander la suppression d’un planning spécifique en adressant une requête DELETE au point d’entrée /config/schedules et en fournissant l’identifiant du planning que vous souhaitez supprimer du chemin de requête.
Format d’API
DELETE /config/schedules/{SCHEDULE_ID}
{SCHEDULE_ID}id du planning que vous souhaitez supprimer.Requête
| code language-shell |
|---|
|
Réponse
Une réponse réussie renvoie un état HTTP 204 (No Content).
Ajouter des audiences à planifier add-audiences
Vous pouvez ajouter des audiences à un planning spécifique en effectuant une requête POST vers le point d’entrée /config/schedules/add-audiences .
Format d’API
POST /config/schedules/add-audiences
Requête
| code language-shell |
|---|
|
idsegmentsRéponse
Une réponse réussie renvoie un état HTTP 200 avec des informations détaillées sur l’opération.
| code language-json |
|---|
|
| table 0-row-2 1-row-2 2-row-2 3-row-2 4-row-2 | |
|---|---|
| Propriété | Description |
added |
Un tableau contenant les identifiants des définitions de segment qui ont été ajoutées au planning. |
existing |
Un tableau contenant les identifiants des définitions de segment qui figuraient déjà dans le planning. |
invalid |
Un tableau contenant des identifiants de définition de segment non valides qui faisaient partie du corps de la requête. |
segmentCount |
Objet contenant le nombre de définitions de segment qui faisaient auparavant partie du planning (previous), le nombre de définitions de segment qui font désormais partie du planning (current) et la différence entre ces deux valeurs (diff). |
Supprimer des audiences du planning remove-audiences
Vous pouvez supprimer des audiences d’un planning spécifique en effectuant une requête POST vers le point d’entrée /config/schedules/remove-audiences .
Format d’API
POST /config/schedules/remove-audiences
Requête
| code language-shell |
|---|
|
idsegmentsRéponse
Une réponse réussie renvoie un état HTTP 200 avec des informations détaillées sur l’opération.
| code language-json |
|---|
|
| table 0-row-2 1-row-2 2-row-2 3-row-2 | |
|---|---|
| Propriété | Description |
removed |
Un tableau contenant les identifiants des définitions de segment qui ont été supprimées du planning. |
notFound |
Un tableau contenant les identifiants des définitions de segment introuvables dans le planning. |
segmentCount |
Objet contenant le nombre de définitions de segment qui faisaient auparavant partie du planning (previous), le nombre de définitions de segment qui font désormais partie du planning (current) et la différence entre ces deux valeurs (diff). |
Obtenir le mappage de l’audience get-audience-map
Vous pouvez obtenir la carte des audiences de vos audiences en effectuant une requête POST vers le point d’entrée /config/schedules/audience-map . La carte d’audience représente un mappage entre les identifiants de définition de segment et les plannings auxquels ces identifiants appartiennent.
Format d’API
POST /config/schedules/audience-map
Requête
| code language-shell |
|---|
|
segmentsRéponse
Une réponse réussie renvoie un état HTTP 200 avec des informations détaillées sur le mappage de l’audience et du planning.
| code language-json |
|---|
|
| table 0-row-2 1-row-2 2-row-2 | |
|---|---|
| Propriété | Description |
audienceMap |
Mappage des identifiants de définition de segment avec les plannings auxquels ils appartiennent. |
schedules |
Un objet contenant des informations sur les plannings répertoriés dans le mappage d’audience. |
Déclencher la tâche de planning trigger
Vous pouvez déclencher manuellement un planning à activer en effectuant une requête POST vers le point d’entrée /config/schedules/trigger.
Format d’API
POST /config/schedules/trigger
Requête
| code language-shell |
|---|
|
idRéponse
Une réponse réussie renvoie un état HTTP 200 sans contenu.
Étapes suivantes
Après avoir lu ce guide, vous comprenez mieux le fonctionnement des plannings.
Annexe appendix
L’annexe suivante explique le format des expressions cron utilisées dans les plannings.
Format
Une expression cron est une chaîne composée de 6 ou 7 champs. L’expression se présente comme suit :
0 0 12 * * ?
Dans une chaîne d’expression cron, le premier champ représente les secondes, le second les minutes, le troisième les heures, le quatrième le jour du mois, le cinquième le mois et le sixième le jour de la semaine. Vous pouvez également inclure éventuellement un septième champ, qui représente l’année.
, - * /, - * /, - * /, - * ? / L W, - * /, - * ? / L #, - * /SUN équivaut à utiliser sun.Les caractères spéciaux autorisés ont la signification suivante :
** dans le champ heures signifierait toutes les heures.?3 dans le champ jour du mois et ? dans le champ jour de la semaine.-9-15 dans le champ heures, cela signifie que les heures incluent 9, 10, 11, 12, 13, 14 et 15.,MON, FRI, SAT dans le champ jour de la semaine , cela signifie que les jours de la semaine incluent le lundi, le vendredi et le samedi.// détermine l’endroit à partir duquel il incrémente, tandis que la valeur placée après le / détermine son incrémentation. Par exemple, si vous mettez 1/7 dans le champ des procès-verbaux, cela signifie que les procès-verbaux comprendraient 1, 8, 15, 22, 29, 36, 43, 50 et 57.LLast et a une signification différente selon le champ par lequel elle est utilisée. S’il est utilisé avec le champ Jour du mois, il représente le dernier jour du mois. S’il est utilisé seul avec le champ Jour de la semaine, il représente le dernier jour de la semaine, à savoir samedi (SAT). S’il est utilisé avec le champ Jour de la semaine, en conjonction avec une autre valeur, il représente le dernier jour de ce type pour le mois. Par exemple, si vous placez 5L dans le champ jour de la semaine, cela uniquement inclure le dernier vendredi du mois.W18W dans le champ jour du mois, et que le 18 de ce mois était un samedi, cela se déclencherait le vendredi 17, qui est le jour de la semaine le plus proche. Si le 18 de ce mois-là était un dimanche, cela se déclencherait le lundi 19, qui est le jour de la semaine le plus proche. Veuillez noter que si vous placez 1W dans le champ jour du mois et que le jour de la semaine le plus proche se trouve dans le mois précédent, l’événement se déclenchera toujours le jour de la semaine le plus proche du mois en cours.De plus, vous pouvez combiner
L et W pour effectuer des LW, ce qui spécifie le dernier jour de la semaine du mois.## représente le jour de la semaine, tandis que la valeur placée après le # représente l’occurrence du mois en question. Par exemple, si vous placez 1#3, l’événement se déclenche le troisième dimanche du mois. Veuillez noter que si vous mettez X#5 et qu’il n’y a pas de cinquième occurrence de ce jour de la semaine dans ce mois-là, l’événement sera pas déclenché Par exemple, si vous mettez 1#5 et qu’il n’y a pas de cinquième dimanche dans ce mois-là, l’événement sera pas déclenchéExemples
Le tableau suivant présente des exemples de chaînes d’expression cron et explique ce qu’elles signifient.
0 0 13 * * ?0 30 9 * * ? 20220 * 18 * * ?0 0/10 17 * * ?0 13,38 5 ? 6 WED0 30 12 ? * 4#30 30 12 ? * 6L0 45 11 ? * MON-THU