Endpoint Schedules
Le pianificazioni sono uno strumento che può essere utilizzato per eseguire automaticamente processi di segmentazione batch una volta al giorno. È possibile utilizzare /config/schedules
endpoint per recuperare un elenco di pianificazioni, creare una nuova pianificazione, recuperare i dettagli di una pianificazione specifica, aggiornare una pianificazione specifica o eliminarla.
Introduzione
Gli endpoint utilizzati in questa guida fanno parte del Adobe Experience Platform Segmentation Service API. Prima di continuare, controlla guida introduttiva per informazioni importanti che devi conoscere per effettuare correttamente chiamate all’API, incluse le intestazioni richieste e la lettura di esempi di chiamate API.
Recuperare un elenco di pianificazioni retrieve-list
È possibile recuperare un elenco di tutte le pianificazioni per l'organizzazione effettuando una richiesta di GET al /config/schedules
endpoint.
Formato API
Il /config/schedules
l’endpoint supporta diversi parametri di query per aiutare a filtrare i risultati. Anche se questi parametri sono facoltativi, si consiglia vivamente di utilizzarli per ridurre i costi generali. Effettuando una chiamata a questo endpoint senza parametri, verranno recuperate tutte le pianificazioni disponibili per la tua organizzazione. È possibile includere più parametri, separati da e commerciali (&
).
GET /config/schedules
GET /config/schedules?start={START}
GET /config/schedules?limit={LIMIT}
{START}
{LIMIT}
Richiesta
La seguente richiesta recupererà le ultime dieci pianificazioni registrate nella tua organizzazione.
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}'
Risposta
In caso di esito positivo, la risposta restituisce lo stato HTTP 200 con un elenco di pianificazioni per l’organizzazione specificata come 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
["*"]
assicura che tutti i segmenti siano inclusi.children.schedule
children.state
Crea una nuova pianificazione create
Per creare una nuova pianificazione, devi effettuare una richiesta POST al /config/schedules
endpoint.
Formato API
POST /config/schedules
Richiesta
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
è uguale a "batch_segmentation". Utilizzo di ["*"]
assicura che tutti i segmenti siano inclusi.schedule
Se questa stringa non viene fornita, verrà generata automaticamente una pianificazione generata dal sistema.
state
Risposta
In caso di esito positivo, la risposta restituisce lo stato HTTP 200 con i dettagli della pianificazione appena creata.
{
"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
}
Recuperare una pianificazione specifica get
Per recuperare informazioni dettagliate su una pianificazione specifica, effettua una richiesta GET al /config/schedules
e fornendo l’ID della pianificazione da recuperare nel percorso della richiesta.
Formato API
GET /config/schedules/{SCHEDULE_ID}
{SCHEDULE_ID}
id
valore della pianificazione da recuperare.Richiesta
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}'
Risposta
In caso di esito positivo, la risposta restituisce lo stato HTTP 200 con informazioni dettagliate sulla pianificazione specificata.
{
"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
e export
.properties
properties.segments
["*"]
assicura che tutti i segmenti siano inclusi.schedule
state
active
e inactive
. Per impostazione predefinita, lo stato è impostato su inactive
.Aggiorna i dettagli per una pianificazione specifica update
Per aggiornare una pianificazione specifica, effettua una richiesta PATCH al /config/schedules
e fornendo l’ID della pianificazione che stai tentando di aggiornare nel percorso della richiesta.
La richiesta PATCH ti consente di aggiornare stato o pianificazione cron per un singolo programma.
Aggiorna stato pianificazione update-state
È possibile utilizzare un’operazione Patch JSON per aggiornare lo stato della pianificazione. Per aggiornare lo stato, dichiarare path
proprietà come /state
e imposta value
a active
o inactive
. Per ulteriori informazioni sulla patch JSON, leggere Patch JSON documentazione.
Formato API
PATCH /config/schedules/{SCHEDULE_ID}
{SCHEDULE_ID}
id
valore della pianificazione da aggiornare.Richiesta
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
a "/state".value
Risposta
In caso di esito positivo, la risposta restituisce lo stato HTTP 204 (nessun contenuto).
Aggiorna pianificazione cron update-schedule
È possibile utilizzare un’operazione Patch JSON per aggiornare la pianificazione cron. Per aggiornare la pianificazione, dichiarare path
proprietà come /schedule
e imposta value
a una pianificazione cron valida. Per ulteriori informazioni sulla patch JSON, leggere Patch JSON documentazione. Per ulteriori informazioni sulle pianificazioni cron, leggere l'appendice del formato espressione cron.
Formato API
PATCH /config/schedules/{SCHEDULE_ID}
{SCHEDULE_ID}
id
valore della pianificazione da aggiornare.Richiesta
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
a /schedule
.value
Risposta
In caso di esito positivo, la risposta restituisce lo stato HTTP 204 (nessun contenuto).
Eliminare una pianificazione specifica
Per richiedere l’eliminazione di una pianificazione specifica, effettua una richiesta DELETE al /config/schedules
e fornendo l’ID della pianificazione da eliminare nel percorso della richiesta.
Formato API
DELETE /config/schedules/{SCHEDULE_ID}
{SCHEDULE_ID}
id
valore della pianificazione da eliminare.Richiesta
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}'
Risposta
In caso di esito positivo, la risposta restituisce lo stato HTTP 204 (nessun contenuto).
Passaggi successivi
Dopo aver letto questa guida, ora hai una migliore comprensione di come funzionano le pianificazioni.
Appendice appendix
Nell'appendice seguente viene illustrato il formato delle espressioni cron utilizzate nelle pianificazioni.
Formato
Un'espressione cron è una stringa composta da 6 o 7 campi. L’espressione sarà simile alla seguente:
0 0 12 * * ?
In una stringa di espressione cron, il primo campo rappresenta i secondi, il secondo campo rappresenta i minuti, il terzo campo rappresenta le ore, il quarto campo rappresenta il giorno del mese, il quinto campo rappresenta il mese e il sesto campo rappresenta il giorno della settimana. Facoltativamente, è anche possibile includere un settimo campo, che rappresenta l’anno.
, - * /
, - * /
, - * /
, - * ? / L W
, - * /
, - * ? / L #
, - * /
SUN
equivale a utilizzare sun
.I caratteri speciali consentiti rappresentano i seguenti significati:
*
*
nel campo ore indica ogni ora.?
3
nel campo del giorno del mese e ?
nel campo giorno della settimana.-
9-15
nel campo ore, questo significherebbe che le ore includerebbero 9, 10, 11, 12, 13, 14 e 15.,
MON, FRI, SAT
nel campo giorno della settimana, i giorni della settimana includeranno lunedì, venerdì e sabato./
/
determina da dove viene incrementato, mentre il valore posizionato dopo il /
determina di quanto viene incrementato. Ad esempio, se inserisci 1/7
nel campo minuti ciò significa che i minuti includono 1, 8, 15, 22, 29, 36, 43, 50 e 57.L
Last
, e ha un significato diverso a seconda del campo da cui viene utilizzato. Se viene utilizzato con il campo del giorno del mese, rappresenta l’ultimo giorno del mese. Se viene utilizzato con il campo del giorno della settimana, rappresenta l'ultimo giorno della settimana, ovvero il sabato (SAT
). Se viene utilizzato insieme al campo giorno della settimana e a un altro valore, rappresenta l'ultimo giorno di quel tipo per il mese. Ad esempio, se inserisci 5L
nel campo del giorno della settimana, solo includi l’ultimo venerdì del mese.W
18W
nel campo del giorno del mese, e il 18 di quel mese era un sabato, si attivava venerdì 17, che è il giorno feriale più vicino. Se il 18 di quel mese fosse una domenica, sarebbe attivato lunedì 19, che è il giorno feriale più vicino. Si prega di notare che se mette 1W
nel campo del giorno del mese, e il giorno feriale più vicino è nel mese precedente, l’evento si attiva ancora nel giorno feriale più vicino del mese corrente mese.Inoltre, è possibile combinare
L
e W
per effettuare LW
, che specifica l’ultimo giorno feriale del mese.#
#
rappresenta il giorno della settimana, mentre il valore inserito dopo il #
rappresenta l’occorrenza nel mese in cui si trova. Ad esempio, se inserisci 1#3
, l’evento si attiva la terza domenica del mese. Si prega di notare che se mette X#5
e non si verifica il quinto giorno della settimana in quel mese, l'evento non essere attivata. Ad esempio, se inserisci 1#5
, e non c'è una quinta domenica in quel mese, l'evento non essere attivata.Esempi
La tabella seguente mostra alcune stringhe di espressioni cron di esempio e ne spiega il significato.
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