Point de terminaison des planifications
Créé pour :
- Développeur
Les planifications sont un outil qui peut être utilisé pour exécuter automatiquement des tâches de segmentation par lots une fois par jour. Vous pouvez utiliser le point de terminaison /config/schedules
pour récupérer une liste de planifications, créer une planification, récupérer les détails d’une planification spécifique, mettre à jour une planification spécifique ou supprimer une planification spécifique.
Commencer
Les points de terminaison 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 comment lire des exemples d’appels API.
Obtention d’une liste de plannings
Vous pouvez récupérer une liste de tous les plannings de votre organisation en envoyant une requête de GET au point de terminaison /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. Un appel à ce point de terminaison sans paramètres permet de récupérer toutes les plannings disponibles pour votre organisation. 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
Liste des paramètres de requête disponibles.
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 derniers plannings publiés au sein de votre organisation.
Exemple de requête pour récupérer une liste de plannings.
curl -X GET https://platform.adobe.io/data/core/ups/config/schedules?limit=10 \
-H 'Authorization: Bearer {ACCESS_TOKEN}' \
-H 'x-gw-ims-org-id: {ORG_ID}' \
-H 'x-api-key: {API_KEY}' \
-H 'x-sandbox-name: {SANDBOX_NAME}'
Réponse
Une réponse réussie renvoie un état HTTP 200 avec une liste de plannings pour l’organisation spécifiée comme JSON.
{
"_page": {
"totalCount": 10,
"pageSize": 1
},
"children": [
{
"id": "4e538382-dbd8-449e-988a-4ac639ebe72b",
"imsOrgId": "{ORG_ID}",
"sandbox": {
"sandboxId": "28e74200-e3de-11e9-8f5d-7f27416c5f0d",
"sandboxName": "prod",
"type": "production",
"default": true
},
"name": "Batch Segmentation",
"state": "active",
"type": "batch_segmentation",
"schedule": "0 0 1 * * ?",
"properties": {
"segments": []
},
"createEpoch": 1573158851,
"updateEpoch": 1574365202
}
],
"_links": {
"next": {}
}
}
_page.totalCount
_page.pageSize
children.name
children.type
children.properties
children.properties.segments
["*"]
permet de s’assurer que tous les segments sont inclus.children.schedule
children.state
Création d’un nouveau planning
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
curl -X POST https://platform.adobe.io/data/core/ups/config/schedules \
-H 'Authorization: Bearer {ACCESS_TOKEN}' \
-H 'Content-Type: application/json' \
-H 'x-gw-ims-org-id: {ORG_ID}' \
-H 'x-api-key: {API_KEY}' \
-H 'x-sandbox-name: {SANDBOX_NAME}'
-d '
{
"name":"profile-default",
"type":"batch_segmentation",
"properties":{
"segments":[
"*"
]
},
"schedule":"0 0 1 * * ?",
"state":"inactive"
}'
name
type
properties
properties.segments
type
est égal à "batch_segmentation". L’utilisation de ["*"]
permet de s’assurer que tous les segments sont inclus.schedule
Si cette chaîne n’est pas fournie, un planning généré par le système sera automatiquement généré.
state
Réponse
Une réponse réussie renvoie un état HTTP 200 avec les détails de votre nouveau planning.
{
"id": "4e538382-dbd8-449e-988a-4ac639ebe72b",
"imsOrgId": "{ORG_ID}",
"sandbox": {
"sandboxId": "e7e17720-c5bb-11e9-aafb-87c71c35cac8",
"sandboxName": "prod",
"type": "production",
"default": true
},
"name": "{SCHEDULE_NAME}",
"state": "inactive",
"type": "batch_segmentation",
"schedule": "0 0 1 * * ?",
"properties": {
"segments": [
"*"
]
},
"createEpoch": 1568267948,
"updateEpoch": 1568267948
}
Récupération d’un planning spécifique
Vous pouvez récupérer des informations détaillées sur un planning spécifique en envoyant une requête GET au point de terminaison /config/schedules
et en fournissant l’identifiant du planning que vous souhaitez récupérer dans le chemin d’accès de la requête.
Format d’API
GET /config/schedules/{SCHEDULE_ID}
{SCHEDULE_ID}
id
du planning que vous souhaitez récupérer.Requête
curl -X GET https://platform.adobe.io/data/core/ups/config/schedules/4e538382-dbd8-449e-988a-4ac639ebe72b
-H 'Authorization: Bearer {ACCESS_TOKEN}' \
-H 'x-gw-ims-org-id: {ORG_ID}' \
-H 'x-api-key: {API_KEY}' \
-H 'x-sandbox-name: {SANDBOX_NAME}'
Réponse
Une réponse réussie renvoie un état HTTP 200 avec des informations détaillées sur le planning spécifié.
{
"id": "4e538382-dbd8-449e-988a-4ac639ebe72b",
"imsOrgId": "{ORG_ID}",
"sandbox": {
"sandboxId": "e7e17720-c5bb-11e9-aafb-87c71c35cac8",
"sandboxName": "prod",
"type": "production",
"default": true
},
"name": "{SCHEDULE_NAME}",
"state": "inactive",
"type": "batch_segmentation",
"schedule": "0 0 1 * * ?",
"properties": {
"segments": [
"*"
]
},
"createEpoch": 1568267948,
"updateEpoch": 1568267948
}
name
type
batch_segmentation
et export
.properties
properties.segments
["*"]
permet de s’assurer que tous les segments sont inclus.schedule
state
active
et inactive
. Par défaut, l’état est défini sur inactive
.Mise à jour des détails d’un planning spécifique
Vous pouvez mettre à jour un planning spécifique en envoyant une requête de PATCH au point de terminaison /config/schedules
et en fournissant l’identifiant du planning que vous essayez de mettre à jour dans le chemin d’accès de la requête.
La requête du PATCH vous permet de mettre à jour state ou la planification 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 de 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 value
sur active
ou inactive
. Pour plus d’informations sur le correctif JSON, consultez la documentation JSON Patch .
Requête
curl -X PATCH https://platform.adobe.io/data/core/ups/config/schedules/4e538382-dbd8-449e-988a-4ac639ebe72b \
-H 'Authorization: Bearer {ACCESS_TOKEN}' \
-H 'x-gw-ims-org-id: {ORG_ID}' \
-H 'x-api-key: {API_KEY}' \
-H 'x-sandbox-name: {SANDBOX_NAME}'
-d '
[
{
"op": "add",
"path": "/state",
"value": "active"
}
]'
path
path
sur "/state".value
Réponse
Une réponse réussie renvoie un état HTTP 204 (No Content).
path
comme /schedule
et définissez value
sur un planning cron valide. Pour plus d’informations sur le correctif JSON, consultez la documentation JSON Patch . Pour plus d’informations sur les plannings cron, veuillez lire l’annexe sur le format d’expression cron.Requête
curl -X PATCH https://platform.adobe.io/data/core/ups/config/schedules/4e538382-dbd8-449e-988a-4ac639ebe72b \
-H 'Authorization: Bearer {ACCESS_TOKEN}' \
-H 'x-gw-ims-org-id: {ORG_ID}' \
-H 'x-api-key: {API_KEY}' \
-H 'x-sandbox-name: {SANDBOX_NAME}'
-d '
[
{
"op":"add",
"path":"/schedule",
"value":"0 0 2 * * ?"
}
]'
path
path
sur /schedule
.value
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 envoyant une requête de DELETE au point de terminaison /config/schedules
et en fournissant l’identifiant du planning que vous souhaitez supprimer dans le chemin d’accès de la requête.
Format d’API
DELETE /config/schedules/{SCHEDULE_ID}
{SCHEDULE_ID}
id
du planning que vous souhaitez supprimer.Requête
curl -X DELETE https://platform.adobe.io/data/core/ups/config/schedules/4e538382-dbd8-449e-988a-4ac639ebe72b \
-H 'Authorization: Bearer {ACCESS_TOKEN}' \
-H 'x-gw-ims-org-id: {ORG_ID}' \
-H 'x-api-key: {API_KEY}' \
-H 'x-sandbox-name: {SANDBOX_NAME}'
Réponse
Une réponse réussie renvoie un état HTTP 204 (No Content).
Étapes suivantes
Après avoir lu ce guide, vous comprenez mieux le fonctionnement des plannings.
Annexe
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 ressemble à ce qui 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 un septième champ, qui représente l’année.
, - * /
, - * /
, - * /
, - * ? / L W
, - * /
, - * ? / L #
, - * /
SUN
équivaut à utiliser sun
.Les caractères spéciaux autorisés représentent les significations suivantes :
*
*
dans le champ des heures signifierait toutes les heures.?
3
dans le champ du jour du mois et ?
dans le champ du jour de la semaine.-
9-15
dans le champ "heures", cela signifie que les heures comprennent 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 comprennent le lundi, le vendredi et le samedi./
/
détermine son incrément, tandis que la valeur placée après le /
détermine son incrémentation. Par exemple, si vous placez 1/7
dans le champ minutes, cela signifie que les minutes comprennent 1, 8, 15, 22, 29, 36, 43, 50 et 57.L
Last
et a une signification différente selon le champ utilisé. 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, qui est samedi (SAT
). S’il est utilisé avec le champ Jour de la semaine, conjointement 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, uniquement inclut le dernier vendredi du mois.W
18W
dans le champ du jour du mois et que le 18 du mois était un samedi, il se déclenche le vendredi 17, qui est le jour de semaine le plus proche. Si le 18 de ce mois était un dimanche, il se déclencherait le lundi 19, qui est le jour de semaine le plus proche. Notez que si vous placez 1W
dans le champ Jour du mois et que le jour de semaine le plus proche se trouve dans le mois précédent, l’événement se déclenche toujours le jour de semaine le plus proche du mois actif.De plus, vous pouvez combiner
L
et W
pour créer LW
, ce qui spécifie le dernier jour de 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 qu’elle est. Par exemple, si vous mettez 1#3
, l’événement se déclenche le troisième dimanche du mois. Notez que si vous mettez X#5
et qu’il n’y a pas de cinquième occurrence de ce jour de la semaine ce mois-ci, l’événement sera et non déclenché. Par exemple, si vous mettez 1#5
et qu’il n’y a pas cinq dimanches pendant ce mois, l’événement sera not déclenché.Exemples
Le tableau suivant présente des exemples de chaînes d’expression cron et explique leur signification.
0 0 13 * * ?
0 30 9 * * ? 2022
0 * 18 * * ?
0 0/10 17 * * ?
0 13,38 5 ? 6 WED
0 30 12 ? * 4#3
0 30 12 ? * 6L
0 45 11 ? * MON-THU