Le pianificazioni sono uno strumento che può essere utilizzato per eseguire automaticamente i 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.
Gli endpoint utilizzati in questa guida fanno parte dell'API Adobe Experience Platform Segmentation Service. Prima di continuare, controlla la guida introduttiva per informazioni importanti che devi conoscere per effettuare correttamente le chiamate all'API, comprese le intestazioni richieste e come leggere le chiamate API di esempio.
È possibile recuperare un elenco di tutte le pianificazioni per la propria organizzazione IMS effettuando una richiesta di GET all'endpoint /config/schedules
.
Formato API
L'endpoint /config/schedules
supporta diversi parametri di query per facilitare il filtro dei risultati. Anche se questi parametri sono opzionali, il loro utilizzo è fortemente consigliato per ridurre i costi di sovraccarico. Effettuando una chiamata a questo endpoint senza parametri, tutte le pianificazioni disponibili per l'organizzazione verranno recuperate. È possibile includere più parametri, separati da e-mail (&
).
GET /config/schedules
GET /config/schedules?start={START}
GET /config/schedules?limit={LIMIT}
Parametro | Descrizione |
---|---|
{START} |
Specifica da quale pagina inizia l'offset. Per impostazione predefinita, questo valore è 0. |
{LIMIT} |
Specifica il numero di pianificazioni restituite. Per impostazione predefinita, questo valore è 100. |
Richiesta
La richiesta seguente recupererà gli ultimi dieci programmi pubblicati all'interno della tua organizzazione IMS.
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: {IMS_ORG}' \
-H 'x-api-key: {API_KEY}' \
-H 'x-sandbox-name: {SANDBOX_NAME}'
Risposta
Una risposta corretta restituisce lo stato HTTP 200 con un elenco di pianificazioni per l’organizzazione IMS specificata come JSON.
La risposta seguente è stata troncata per lo spazio e mostra solo la prima pianificazione restituita.
{
"_page": {
"totalCount": 10,
"pageSize": 1
},
"children": [
{
"id": "4e538382-dbd8-449e-988a-4ac639ebe72b",
"imsOrgId": "{IMS_ORG}",
"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": {}
}
}
Proprietà | Descrizione |
---|---|
_page.totalCount |
Numero totale di programmi restituiti. |
_page.pageSize |
Dimensione della pagina dei programmi. |
children.name |
Nome della pianificazione come stringa. |
children.type |
Il tipo di processo come stringa. I due tipi supportati sono "batch_segmentation" e "export". |
children.properties |
Un oggetto contenente proprietà aggiuntive correlate alla pianificazione. |
children.properties.segments |
L’utilizzo di ["*"] assicura che tutti i segmenti siano inclusi. |
children.schedule |
Una stringa contenente la pianificazione del processo. È possibile pianificare l’esecuzione dei processi solo una volta al giorno, pertanto non è possibile pianificare l’esecuzione di un processo più volte durante un periodo di 24 ore. Per ulteriori informazioni sulle pianificazioni cron, leggere la documentazione formato di espressione cron. In questo esempio, "0 0 1 * * *" significa che questa pianificazione si terrà a mezzanotte il primo di ogni mese. |
children.state |
Una stringa contenente lo stato di pianificazione. I due stati supportati sono "attivi" e "inattivi". Per impostazione predefinita, lo stato è impostato su "inactive". |
Puoi creare una nuova pianificazione effettuando una richiesta di 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: {IMS_ORG}' \
-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"
}'
Proprietà | Descrizione |
---|---|
name |
Obbligatorio. Nome della pianificazione come stringa. |
type |
Obbligatorio. Il tipo di processo come stringa. I due tipi supportati sono "batch_segmentation" e "export". |
properties |
Obbligatorio. Un oggetto contenente proprietà aggiuntive correlate alla pianificazione. |
properties.segments |
Obbligatorio se type è uguale a “batch_segmentation”. L’utilizzo ["*"] assicura che tutti i segmenti siano inclusi. |
schedule |
Facoltativo. Una stringa contenente la pianificazione del processo. È possibile pianificare l’esecuzione dei processi solo una volta al giorno, pertanto non è possibile pianificare l’esecuzione di un processo più volte durante un periodo di 24 ore. Per ulteriori informazioni sulle pianificazioni cron, leggere la documentazione formato di espressione cron. In questo esempio, "0 0 1 * * *" significa che questa pianificazione si terrà a mezzanotte il primo di ogni mese. Se questa stringa non viene fornita, verrà generata automaticamente una pianificazione generata dal sistema. |
state |
Facoltativo. Una stringa contenente lo stato di pianificazione. I due stati supportati sono "attivi" e "inattivi". Per impostazione predefinita, lo stato è impostato su "inactive". |
Risposta
Una risposta corretta restituisce lo stato HTTP 200 con i dettagli della nuova pianificazione creata.
{
"id": "4e538382-dbd8-449e-988a-4ac639ebe72b",
"imsOrgId": "{IMS_ORG}",
"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
}
Potete recuperare informazioni dettagliate su una pianificazione specifica effettuando una richiesta di GET all'endpoint /config/schedules
e fornendo l'ID della pianificazione che desiderate recuperare nel percorso della richiesta.
Formato API
GET /config/schedules/{SCHEDULE_ID}
Parametro | Descrizione |
---|---|
{SCHEDULE_ID} |
Il valore 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: {IMS_ORG}' \
-H 'x-api-key: {API_KEY}' \
-H 'x-sandbox-name: {SANDBOX_NAME}'
Risposta
Una risposta corretta restituisce lo stato HTTP 200 con informazioni dettagliate sulla pianificazione specificata.
{
"id": "4e538382-dbd8-449e-988a-4ac639ebe72b",
"imsOrgId": "{IMS_ORG}",
"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
}
Proprietà | Descrizione |
---|---|
name |
Nome della pianificazione come stringa. |
type |
Il tipo di processo come stringa. I due tipi supportati sono batch_segmentation e export . |
properties |
Un oggetto contenente proprietà aggiuntive correlate alla pianificazione. |
properties.segments |
L’utilizzo di ["*"] assicura che tutti i segmenti siano inclusi. |
schedule |
Una stringa contenente la pianificazione del processo. È possibile pianificare l’esecuzione dei processi solo una volta al giorno, pertanto non è possibile pianificare l’esecuzione di un processo più volte durante un periodo di 24 ore. Per ulteriori informazioni sulle pianificazioni cron, leggere la documentazione formato di espressione cron. In questo esempio, "0 0 1 * * *" significa che questa pianificazione si terrà a mezzanotte il primo di ogni mese. |
state |
Una stringa contenente lo stato di pianificazione. I due stati supportati sono active e inactive . Per impostazione predefinita, lo stato è impostato su inactive . |
Puoi aggiornare una pianificazione specifica effettuando una richiesta di PATCH all'endpoint /config/schedules
e fornendo l'ID della pianificazione che stai tentando di aggiornare nel percorso della richiesta.
La richiesta PATCH consente di aggiornare la pianificazione state o la pianificazione del cron cron per una singola pianificazione.
Potete utilizzare un'operazione di 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, consultate la documentazione JSON Patch.
Formato API
PATCH /config/schedules/{SCHEDULE_ID}
Parametro | Descrizione |
---|---|
{SCHEDULE_ID} |
Il valore id della pianificazione da aggiornare. |
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: {IMS_ORG}' \
-H 'x-api-key: {API_KEY}' \
-H 'x-sandbox-name: {SANDBOX_NAME}'
-d '
[
{
"op": "add",
"path": "/state",
"value": "active"
}
]'
Proprietà | Descrizione |
---|---|
path |
Percorso del valore da applicare alla patch. In questo caso, poiché state aggiornando lo stato della pianificazione, è necessario impostare il valore di path su "/state". |
value |
Valore aggiornato dello stato della pianificazione. Questo valore può essere impostato come "attivo" o "inattivo" per attivare o disattivare la pianificazione. |
Risposta
Una risposta corretta restituisce lo stato HTTP 204 (nessun contenuto).
Potete utilizzare un'operazione di patch JSON per aggiornare la pianificazione cron. Per aggiornare la pianificazione, dichiarare la proprietà path
come /schedule
e impostare la proprietà value
su una pianificazione cron valida. Per ulteriori informazioni sulla patch JSON, consultate la documentazione JSON Patch. Per ulteriori informazioni sulle pianificazioni cron, leggere la documentazione formato di espressione cron.
Formato API
PATCH /config/schedules/{SCHEDULE_ID}
Parametro | Descrizione |
---|---|
{SCHEDULE_ID} |
Il valore id 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: {IMS_ORG}' \
-H 'x-api-key: {API_KEY}' \
-H 'x-sandbox-name: {SANDBOX_NAME}'
-d '
[
{
"op":"add",
"path":"/schedule",
"value":"0 0 2 * *"
}
]'
Proprietà | Descrizione |
---|---|
path |
Percorso del valore da aggiornare. In questo caso, poiché si sta aggiornando la pianificazione cron, è necessario impostare il valore di path su /schedule . |
value |
Valore aggiornato della pianificazione cron. Questo valore deve essere sotto forma di programmazione cron. In questo esempio, la pianificazione verrà eseguita il secondo di ogni mese. |
Risposta
Una risposta corretta restituisce lo stato HTTP 204 (nessun contenuto).
Puoi richiedere di eliminare una pianificazione specifica eseguendo una richiesta DELETE all'endpoint /config/schedules
e fornendo l'ID della pianificazione che desideri eliminare nel percorso della richiesta.
Formato API
DELETE /config/schedules/{SCHEDULE_ID}
Parametro | Descrizione |
---|---|
{SCHEDULE_ID} |
Il valore 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: {IMS_ORG}' \
-H 'x-api-key: {API_KEY}' \
-H 'x-sandbox-name: {SANDBOX_NAME}'
Risposta
Una risposta corretta restituisce lo stato HTTP 204 (nessun contenuto).
Dopo aver letto questa guida è ora possibile comprendere meglio come funzionano i programmi.