Endpoint Schedules
Creato per:
- Sviluppatore
Le pianificazioni sono uno strumento che può essere utilizzato per eseguire automaticamente processi di segmentazione batch una volta al giorno. È possibile utilizzare l'endpoint /config/schedules
per recuperare un elenco di pianificazioni, creare una nuova pianificazione, recuperare i dettagli di una pianificazione specifica, aggiornare una pianificazione specifica o eliminare una pianificazione specifica.
Introduzione
Gli endpoint utilizzati in questa guida fanno parte dell'API Adobe Experience Platform Segmentation Service. Prima di continuare, consulta la guida introduttiva per informazioni importanti che devi conoscere per effettuare correttamente chiamate all'API, incluse le intestazioni richieste e la lettura delle chiamate API di esempio.
Recuperare un elenco di pianificazioni
Per recuperare un elenco di tutte le pianificazioni per l'organizzazione, eseguire una richiesta GET all'endpoint /config/schedules
.
Formato API
L'endpoint /config/schedules
supporta diversi parametri di query per 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?{QUERY_PARAMETERS}
Parametri query
Parametro | Descrizione | Esempio |
---|---|---|
start | Specifica da quale pagina inizierà l'offset. Per impostazione predefinita, questo valore è 0. | start=5 |
limit | Specifica il numero di pianificazioni restituite. Per impostazione predefinita, questo valore è 100. | limit=20 |
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
["*"]
garantisce l'inclusione di tutti i segmenti.children.schedule
children.state
Crea una nuova pianificazione
È possibile creare una nuova pianificazione effettuando una richiesta POST all'endpoint /config/schedules
.
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". L'utilizzo di ["*"]
garantisce l'inclusione di tutti i segmenti.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
Per recuperare informazioni dettagliate su una pianificazione specifica, eseguire una richiesta di GET all'endpoint /config/schedules
e fornire l'ID della pianificazione da recuperare nel percorso della richiesta.
Formato API
GET /config/schedules/{SCHEDULE_ID}
{SCHEDULE_ID}
id
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
["*"]
garantisce l'inclusione di tutti i segmenti.schedule
state
active
e inactive
. Per impostazione predefinita, lo stato è impostato su inactive
.Aggiorna i dettagli per una pianificazione specifica
È possibile aggiornare una pianificazione specifica effettuando una richiesta PATCH all'endpoint /config/schedules
e fornendo l'ID della pianificazione che si sta tentando di aggiornare nel percorso della richiesta.
La richiesta PATCH ti consente di aggiornare state o la cron schedule per una singola pianificazione.
Formato API
PATCH /config/schedules/{SCHEDULE_ID}
{SCHEDULE_ID}
id
della pianificazione da aggiornare.È possibile utilizzare un’operazione Patch JSON per aggiornare lo stato della pianificazione. Per aggiornare lo stato, dichiarare la proprietà path
come /state
e impostare value
su active
o inactive
. Per ulteriori informazioni sulla patch JSON, leggere la documentazione della patch JSON.
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
su "/state".value
Risposta
In caso di esito positivo, la risposta restituisce lo stato HTTP 204 (nessun contenuto).
path
come /schedule
e impostare value
su una pianificazione cron valida. Per ulteriori informazioni sulla patch JSON, leggere la documentazione della patch JSON. Per ulteriori informazioni sulle pianificazioni cron, leggere l'appendice nel formato di espressione cron 🔗.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
su /schedule
.value
Risposta
In caso di esito positivo, la risposta restituisce lo stato HTTP 204 (nessun contenuto).
Eliminare una pianificazione specifica
È possibile richiedere l'eliminazione di una pianificazione specifica effettuando una richiesta DELETE all'endpoint /config/schedules
e fornendo l'ID della pianificazione da eliminare nel percorso della richiesta.
Formato API
DELETE /config/schedules/{SCHEDULE_ID}
{SCHEDULE_ID}
id
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
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 significherebbe ogni ora.?
3
nel campo del giorno del mese e ?
nel campo del giorno della settimana.-
9-15
nel campo ore, significa che le ore includerebbero 9, 10, 11, 12, 13, 14 e 15.,
MON, FRI, SAT
nel campo del giorno della settimana, i giorni della settimana includeranno lunedì, venerdì e sabato./
/
determina da dove viene incrementato, mentre il valore posizionato dopo /
determina di quanto viene incrementato. Se ad esempio si inserisce 1/7
nel campo minuti, i minuti includeranno 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. Se ad esempio si inserisce 5L
nel campo del giorno della settimana, solo includerebbe l'ultimo venerdì del mese.W
18W
nel campo del giorno del mese e il 18 di quel mese è un sabato, l'attivazione avverrà 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. Tieni presente che se inserisci 1W
nel campo del giorno del mese e il giorno feriale più vicino è nel mese precedente, l'evento verrà comunque attivato nel giorno feriale più vicino del mese corrente.È inoltre possibile combinare
L
e W
per creare LW
, che specificherebbe 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. Se ad esempio si inserisce 1#3
, l'evento verrà attivato la terza domenica del mese. Tieni presente che se inserisci X#5
e non si verifica un quinto evento di quel giorno della settimana in quel mese, l'evento non verrà attivato. Ad esempio, se inserisci 1#5
e non c'è una quinta domenica in quel mese, l'evento non verrà attivato.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