Endpoint di pianificazione

Le pianificazioni sono uno strumento che può essere utilizzato per eseguire automaticamente i processi di segmentazione batch una volta al giorno. Potete utilizzare l' /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 eliminare una pianificazione specifica.

Introduzione

Gli endpoint utilizzati in questa guida fanno parte dell' Adobe Experience Platform Segmentation Service API. Prima di continuare, controllate la guida introduttiva per informazioni importanti che dovete conoscere per effettuare correttamente le chiamate all'API, comprese le intestazioni richieste e come leggere le chiamate API di esempio.

Recupero di un elenco di pianificazioni

È possibile recuperare un elenco di tutte le pianificazioni per la propria organizzazione IMS effettuando una richiesta di GET all' /config/schedules endpoint.

Formato API

L' /config/schedules endpoint supporta diversi parametri di query per facilitare il filtraggio 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.

Nota

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 ["*"] 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, consulta la documentazione sul formato delle espressioni 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".

Create a new schedule

Potete creare una nuova pianificazione effettuando una richiesta POST all' /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: {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 setypeè 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, consulta la documentazione sul formato delle espressioni 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
}

Recuperare una pianificazione specifica

Potete recuperare informazioni dettagliate su una pianificazione specifica effettuando una richiesta di GET all' /config/schedules endpoint 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 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: {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 ["*"] 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, consulta la documentazione sul formato delle espressioni 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.

Dettagli di aggiornamento per una pianificazione specifica

Potete aggiornare una pianificazione specifica effettuando una richiesta di PATCH all' /config/schedules endpoint e fornendo l'ID della pianificazione che state tentando di aggiornare nel percorso della richiesta.

La richiesta PATCH consente di aggiornare lo stato o la pianificazione cron per una singola pianificazione .

Aggiorna stato pianificazione

Potete utilizzare un'operazione di patch JSON per aggiornare lo stato della pianificazione. Per aggiornare lo stato, è necessario dichiarare la path proprietà come /state e impostare value il valore su active o inactive. Per ulteriori informazioni sulla patch JSON, consulta la documentazione relativa alla patch JSON.

Formato API

PATCH /config/schedules/{SCHEDULE_ID}
Parametro Descrizione
{SCHEDULE_ID} Il id valore 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 "/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).

Aggiorna pianificazione cron

Potete utilizzare un'operazione di patch JSON per aggiornare la pianificazione cron. Per aggiornare la pianificazione, è necessario dichiarare la path proprietà come /schedule e impostare la proprietà value su una pianificazione cron valida. Per ulteriori informazioni sulla patch JSON, consulta la documentazione relativa alla patch JSON. Per ulteriori informazioni sulle pianificazioni cron, consulta la documentazione sul formato delle espressioni cron.

Formato API

PATCH /config/schedules/{SCHEDULE_ID}
Parametro Descrizione
{SCHEDULE_ID} Il 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: {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é state aggiornando la pianificazione cron, dovete impostare il valore di path a /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).

Eliminare una pianificazione specifica

Potete richiedere di eliminare una pianificazione specifica eseguendo una richiesta DELETE all’ /config/schedules endpoint e fornendo l’ID della pianificazione che desiderate eliminare nel percorso della richiesta.

Formato API

DELETE /config/schedules/{SCHEDULE_ID}
Parametro Descrizione
{SCHEDULE_ID} Il 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: {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).

Passaggi successivi

Dopo aver letto questa guida è ora possibile comprendere meglio come funzionano i programmi.

In questa pagina