Extremo de programaciones
Los programas son una herramienta que se puede utilizar para ejecutar automáticamente trabajos de segmentación por lotes una vez al día. Puede usar el extremo /config/schedules
para recuperar una lista de programaciones, crear una nueva programación, recuperar detalles de una programación específica, actualizar una programación específica o eliminar una programación específica.
Introducción
Los extremos utilizados en esta guía forman parte de la API Adobe Experience Platform Segmentation Service. Antes de continuar, revisa la guía de introducción para obtener información importante que necesitas conocer para poder realizar llamadas a la API correctamente, incluidos los encabezados requeridos y cómo leer llamadas de API de ejemplo.
Recuperación de una lista de programaciones retrieve-list
Puede recuperar una lista de todas las programaciones de su organización realizando una solicitud de GET al extremo /config/schedules
.
Formato de API
El extremo /config/schedules
admite varios parámetros de consulta para filtrar los resultados. Aunque estos parámetros son opcionales, se recomienda encarecidamente su uso para ayudar a reducir los costes generales. Si realiza una llamada a este extremo sin parámetros, se recuperarán todas las programaciones disponibles para su organización. Se pueden incluir varios parámetros, separados por el símbolo et (&
).
GET /config/schedules
GET /config/schedules?start={START}
GET /config/schedules?limit={LIMIT}
{START}
{LIMIT}
Solicitud
La siguiente solicitud recupera las diez últimas programaciones publicadas en su organización.
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}'
Respuesta
Una respuesta correcta devuelve el estado HTTP 200 con una lista de programaciones para la organización especificada como 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
["*"]
garantiza que todos los segmentos se incluyan.children.schedule
children.state
Crear una nueva programación create
Puede crear una nueva programación realizando una solicitud de POST al extremo /config/schedules
.
Formato de API
POST /config/schedules
Solicitud
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
es igual a "batch_segmentation". al usar ["*"]
se asegura de que se incluyan todos los segmentos.schedule
Si no se proporciona esta cadena, se generará automáticamente una programación generada por el sistema.
state
Respuesta
Una respuesta correcta devuelve el estado HTTP 200 con detalles de la programación recién creada.
{
"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
}
Recuperar una programación específica get
Puede recuperar información detallada sobre una programación específica realizando una solicitud de GET al extremo /config/schedules
y proporcionando el ID de la programación que desea recuperar en la ruta de solicitud.
Formato de API
GET /config/schedules/{SCHEDULE_ID}
{SCHEDULE_ID}
id
de la programación que desea recuperar.Solicitud
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}'
Respuesta
Una respuesta correcta devuelve el estado HTTP 200 con información detallada sobre la programación especificada.
{
"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
y export
.properties
properties.segments
["*"]
garantiza que todos los segmentos se incluyan.schedule
state
active
y inactive
. De manera predeterminada, el estado se establece en inactive
.Actualizar los detalles de una programación específica update
Puede actualizar una programación específica realizando una solicitud de PATCH al extremo /config/schedules
y proporcionando el ID de la programación que está intentando actualizar en la ruta de solicitud.
La solicitud del PATCH le permite actualizar el estado o la programación cron para una programación individual.
Actualizar estado de programación update-state
Puede utilizar una operación de parche JSON para actualizar el estado de la programación. Para actualizar el estado, declare la propiedad path
como /state
y establezca value
como active
o inactive
. Para obtener más información sobre el parche JSON, lea la documentación de JSON Patch.
Formato de API
PATCH /config/schedules/{SCHEDULE_ID}
{SCHEDULE_ID}
id
de la programación que desea actualizar.Solicitud
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
en "/state".value
Respuesta
Una respuesta correcta devuelve el estado HTTP 204 (sin contenido).
Actualizar programación de cron update-schedule
Puede utilizar una operación de parche de JSON para actualizar la programación de cron. Para actualizar la programación, declare la propiedad path
como /schedule
y establezca value
como una programación cron válida. Para obtener más información sobre el parche JSON, lea la documentación de JSON Patch. Para obtener más información acerca de las programaciones de cron, lea el apéndice del formato de expresión cron.
Formato de API
PATCH /config/schedules/{SCHEDULE_ID}
{SCHEDULE_ID}
id
de la programación que desea actualizar.Solicitud
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
en /schedule
.value
Respuesta
Una respuesta correcta devuelve el estado HTTP 204 (sin contenido).
Eliminar una programación específica
Puede solicitar que se elimine una programación específica realizando una solicitud de DELETE al extremo /config/schedules
y proporcionando el identificador de la programación que desea eliminar en la ruta de solicitud.
Formato de API
DELETE /config/schedules/{SCHEDULE_ID}
{SCHEDULE_ID}
id
de la programación que desea eliminar.Solicitud
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}'
Respuesta
Una respuesta correcta devuelve el estado HTTP 204 (sin contenido).
Pasos siguientes
Después de leer esta guía, ahora tiene una mejor comprensión de cómo funcionan los horarios.
Apéndice appendix
En el siguiente apéndice se explica el formato de las expresiones cron utilizadas en las programaciones.
Formato
Una expresión cron es una cadena que consta de 6 o 7 campos. La expresión tendría un aspecto similar al siguiente:
0 0 12 * * ?
En una cadena de expresión cron, el primer campo representa los segundos, el segundo campo representa los minutos, el tercer campo representa las horas, el cuarto campo representa el día del mes, el quinto campo representa el mes y el sexto campo representa el día de la semana. Si lo desea, también puede incluir un séptimo campo, que representa el año.
, - * /
, - * /
, - * /
, - * ? / L W
, - * /
, - * ? / L #
, - * /
SUN
equivale a usar sun
.Los caracteres especiales permitidos representan los siguientes significados:
*
*
en el campo de horas significaría cada hora.?
3
en el campo día del mes y ?
en el campo día de la semana.-
9-15
en el campo de horas, significaría que las horas incluirían 9, 10, 11, 12, 13, 14 y 15.,
MON, FRI, SAT
en el campo de día de la semana, significaría que los días de la semana incluirían lunes, viernes y sábado./
/
determina desde dónde se incrementa, mientras que el valor colocado después de /
determina en qué medida se incrementa. Por ejemplo, si pone 1/7
en el campo de minutos, significaría que los minutos incluirían 1, 8, 15, 22, 29, 36, 43, 50 y 57.L
Last
y tiene un significado diferente según el campo por el que lo use. Si se utiliza con el campo de día del mes, representa el último día del mes. Si se utiliza con el campo de día de la semana de forma independiente, representa el último día de la semana, que es sábado (SAT
). Si se utiliza con el campo de día de la semana, junto con otro valor, representa el último día de ese tipo para el mes. Por ejemplo, si pone 5L
en el campo de día de la semana, solo incluirá el último viernes del mes.W
18W
en el campo de día del mes y el día 18 de ese mes es sábado, entrará en déclencheur el viernes 17, que es el día más cercano entre semana. Si el 18 de ese mes fuera domingo, déclencheur el lunes 19, que es el día más cercano entre semana. Tenga en cuenta que si coloca 1W
en el campo de día del mes y el día de la semana más cercano sería el mes anterior, el evento seguirá en déclencheur el día de la semana más cercano del mes actual.Además, puede combinar
L
y W
para crear LW
, lo que especificaría el último día de la semana del mes.#
#
representa el día de la semana, mientras que el valor colocado después de #
representa qué ocurrencia del mes es. Por ejemplo, si pone 1#3
, el evento generaría déclencheur el tercer domingo del mes. Tenga en cuenta que si coloca X#5
y no hay quinta incidencia de ese día de la semana en ese mes, el evento no se activará. Por ejemplo, si pone 1#5
y no hay quinto domingo en ese mes, el evento no se activará.Ejemplos
La siguiente tabla muestra cadenas de expresión cron de muestra y explica qué significan.
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