Operazioni aggiuntive additional-operations

Ordinamento sorting

L’ordinamento è disponibile per impostazione predefinita in ordine crescente. Per ordinare in ordine decrescente, aggiungere %20desc al valore del parametro _order.

Per sapere se un campo può essere ordinato, controlla il parametro "sortable" nei metadati della risorsa. Per ulteriori informazioni al riguardo, consulta questa sezione.

Richieste di esempio

  • Richiesta GET di esempio per recuperare le e-mail nel database in ordine alfabetico.

    code language-none
    -X GET https://mc.adobe.io/<ORGANIZATION>/campaign/profileAndServices/profile/email?_order=email \
    -H 'Content-Type: application/json' \
    -H 'Authorization: Bearer <ACCESS_TOKEN>' \
    -H 'Cache-Control: no-cache' \
    -H 'X-Api-Key: <API_KEY>'
    

    Risposta alla richiesta.

    code language-none
    {
    "content": [
        "adam@email.com",
        "allison.durance@example.com",
        "amy.dakota@mail.com",
        "andrea.johnson@mail.com",
        ...
    ]
    ...
    }
    
  • Richiesta GET di esempio per recuperare l’e-mail nel database in ordine alfabetico decrescente.

    code language-none
    -X GET https://mc.adobe.io/<ORGANIZATION>/campaign/profileAndServices/profile/email?_order=email%20desc \
    -H 'Content-Type: application/json' \
    -H 'Authorization: Bearer <ACCESS_TOKEN>' \
    -H 'Cache-Control: no-cache' \
    -H 'X-Api-Key: <API_KEY>'
    

    Risposta alla richiesta.

    code language-none
    {
    "content": [
        "tombinder@example.com",
        "tombinder@example.com",
        "timross@example.com",
        "john.smith@example.com",
        ...
    ]
    }
    

Filtro filtering

Recupero metadati filtri

I filtri sono disponibili per ogni risorsa. Per identificare i filtri associati a una risorsa, devi eseguire una richiesta GET sui metadati della risorsa. Questa richiesta restituisce l’URL in cui sono definiti tutti i filtri per una determinata risorsa. Per ulteriori informazioni sui metadati, consulta questa sezione.

Per identificare i metadati di un filtro e determinare come utilizzarlo, è necessario eseguire una richiesta GET sull’URL restituito in precedenza.

Richiesta di esempio

I payload di esempio seguenti mostrano come recuperare i metadati del filtro "byText" per la risorsa "profile". Esegui prima una richiesta GET sulla metada della risorsa "profile".

-X GET https://mc.adobe.io/<ORGANIZATION>/campaign/profileAndServices/resourceType/profile \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer <ACCESS_TOKEN>' \
-H 'Cache-Control: no-cache' \
-H 'X-Api-Key: <API_KEY>'

Restituisce l’URL in cui sono descritti i filtri.

{
"filters": {
        "href": "https://mc.adobe.io/<ORGANIZATION>/campaign/profileAndServices/resourceType/<PKEY>/filters/"
    }
  }

Esegui una richiesta GET sull’URL. Restituisce l’elenco dei filtri per la risorsa profilo, con i metadati associati a ciascun filtro.

{
"birthday": {
        "PKey": "@FL-CbDFXbnHbXcVpeCGWL46VXJLn1LqxLMPagt2vz8sCxQ52lvB15KiUaxXkxJYQw-tZXYrgUWG6K8QcB4gxVY9RKoba5bRFY3294YFshDmorRr8",
        "category": "0150_profile",
        "condition": ...,
        "data": "https://mc.adobe.io/<ORGANIZATION>/campaign/profileAndServices/profile/birthday?type=$value&precision=$value&operator=$value&day=$value&month=$value&includeStart=$value&endDay=$value&endMonth=$value&includeEnd=$value&relativeValue=$value&nextUnitsValue=$value&previousUnitsValue=$value",
        "formType": "webPage",
        "fragmentName": "",
        "label": "Birthday",
}

Filtra la struttura metadati

Per ogni filtro è disponibile la stessa struttura di metadati:

  • I campi @formType e @webPage sono campi tecnici.
  • Il campo dati fornisce un esempio di come utilizzare il filtro.
  • Il nodo metadata descrive i parametri del filtro.
  • Il nodo condizione descrive le funzioni del filtro. I parametri di filtro descritti nel nodo dei metadati vengono utilizzati per creare condizioni di filtro. Per ogni condizione di filtro, se enabledIf è true, verrà applicato expr.

Esempio di struttura dei metadati del filtro:

"byText": {
        "PKey": "...",
        "category": "99_none",
        "condition": ...,
        "data": "/profileAndServices/profile/byText?text=$value",
        "formType": "none",
        "fragmentName": "",
        "label": "By name or email",
    }

Utilizzo dei filtri

Il filtro viene eseguito con la seguente richiesta:

GET https://mc.adobe.io/<ORGANIZATION>/campaign/profileAndServices/<resourceName>/by<filterName>?<filterParam>=<filterValue>

È possibile combinare più filtri in una singola richiesta:

GET https://mc.adobe.io/<ORGANIZATION>/campaign/profileAndServices/<resourceName>/<filter1name>/<filter2name>?<filter1param>=<filter1value>&<filter2param>=<filter2value>

Richieste di esempio

  • Richiesta GET di esempio per recuperare le risorse "service" con tipo "e-mail".

    code language-none
    -X GET https://mc.adobe.io/<ORGANIZATION>/campaign/profileAndServices/service/byChannel?channel=email \
    -H 'Content-Type: application/json' \
    -H 'Authorization: Bearer <ACCESS_TOKEN>' \
    -H 'Cache-Control: no-cache' \
    -H 'X-Api-Key: <API_KEY>'
    

    Risposta alla richiesta.

    code language-none
    {
        "content": [
            {
                "PKey": "<PKEY>",
                "created": "2019-09-25 23:20:35.000Z",
                "href": "https://mc.adobe.io/<ORGANIZATION>/campaign/profileAndServices/service/@I_FIiDush4OQPc0mbOVR9USoh36Tt5CsD35lATvQjdWlXrYc0lFkvle2XIwZUbD8GqTVvSp8AfWFUvjkGMe1fPe5nok",
                "label": "Marketing Newsletter",
                "lastModified": "2019-09-25 23:20:35.000Z",
                "limitedDuration": false,
                "messageType": "email",
                "mode": "newsletter",
                ...
            },
            ...
        ],
        ...
    }
    
  • Richiesta GET di esempio per recuperare le risorse "profile" contenenti "Doe" in
    i campi e-mail o cognome (il filtro byText esegue la ricerca sia nei campi e-mail che nel campo cognome).

    code language-none
    -X GET https://mc.adobe.io/<ORGANIZATION>/campaign/profileAndServices/profile/byText?text=Doe \
    -H 'Content-Type: application/json' \
    -H 'Authorization: Bearer <ACCESS_TOKEN>' \
    -H 'Cache-Control: no-cache' \
    -H 'X-Api-Key: <API_KEY>'
    

    Risposta alla richiesta.

    code language-none
    {
        "content": [
            {
                "PKey": "<PKEY>",
                "firstName": "John",
                "lastName":"Doe",
                "birthDate": "1980-10-24",
                ...
            }
            ...
        ],
        ...
    }
    
  • Richiesta GET di esempio per recuperare le risorse dei servizi con il tipo "e-mail" e l’etichetta "sport".

    code language-none
    -X GET https://mc.adobe.io/<ORGANIZATION>/campaign/profileAndServices/service/byChannel/byText?channel=email&text=sport \
    -H 'Content-Type: application/json' \
    -H 'Authorization: Bearer <ACCESS_TOKEN>' \
    -H 'Cache-Control: no-cache' \
    -H 'X-Api-Key: <API_KEY>'
    

    Risposta alla richiesta.

    code language-none
    {
        "content": [
            {
                "PKey": "<PKEY>",
                "created": "2019-09-26 09:36:01.014Z",
                "href": "https://mc.adobe.io/<ORGANIZATION>/campaign/profileAndServices/service/<PKEY>",
                "label": "sport",
                "lastModified": "2019-09-26 09:36:01.014Z",
                "limitedDuration": false,
                "messageType": "email",
                "mode": "newsletter",
                "name": "SVC13",
                ...
            }
        ],
        ...
    }
    

Filtri personalizzati

Se desideri utilizzare un filtro personalizzato, devi crearlo e personalizzarlo nell’interfaccia di Adobe Campaign Standard. Il filtro personalizzato avrà quindi lo stesso comportamento dei filtri predefiniti:

GET https://mc.adobe.io/<ORGANIZATION>/campaign/profileAndServicesExt/<resourceName>/by<customFilterName>?<customFilterparam>=<customFilterValue>

Per ulteriori informazioni, consulta la documentazione di Campaign Standard:

Richiesta di esempio

Richiesta GET di esempio per recuperare le risorse "profile" con importi di transazione pari o superiori a 100$. Il filtro "byAmount" è stato definito per la prima volta nell’interfaccia di Adobe Campaign Standard ed è collegato alla tabella personalizzata "Transaction".

-X GET https://mc.adobe.io/<ORGANIZATION>/campaign/profileAndServicesExt/profile/byAmount?amount_parameter=100 \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer <ACCESS_TOKEN>' \
-H 'Cache-Control: no-cache' \
-H 'X-Api-Key: <API_KEY>'

Conteggio counting

L’API REST di Adobe Campaign può contare il numero di record in una richiesta. A questo scopo, utilizza l'URL restituito nel nodo count.

Richiesta di esempio

Per contare tutti i servizi con un valore messageType uguale a "sms", eseguire una richiesta GET con il filtro byChannel.

-X GET https://mc.adobe.io/<ORGANIZATION>/campaign/profileAndServices/service/byChannel?channel=sms \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer <ACCESS_TOKEN>' \
-H 'Cache-Control: no-cache' \
-H 'X-Api-Key: <API_KEY>'

Restituisce i servizi corrispondenti al filtro.

{
    "content": [
        {
            ...
            "messageType": "sms",
            "mode": "newsletter",
            "name": "SVC6",
            ...
        },
        ...
    ],
    "count": {
        "href": "https://mc.adobe.io/<ORGANIZATION>/campaign/profileAndServices/service/byChannel/_count?channel=sms&_lineStart=@iKTZ2q3IiSEDqZ5Nw1vdoGnQCqF-8DAUJRaVwR9obqqTxhMy"
    },
    "serverSidePagination": true
}

Esegui una richiesta GET sull'URL del nodo count per recuperare il numero di risultati.

-X GET https://mc.adobe.io/<ORGANIZATION>/campaign/profileAndServices/service/byChannel/_count?channel=sms&_lineStart=@iKTZ2q3IiSEDqZ5Nw1vdoGnQCqF-8DAUJRaVwR9obqqTxhMy \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer <ACCESS_TOKEN>' \
-H 'Cache-Control: no-cache' \
-H 'X-Api-Key: <API_KEY>'

Restituisce il numero di record.

{
    "count": 26
}

Paginazione pagination

Per impostazione predefinita, 25 risorse vengono caricate in un elenco.

Il parametro _lineCount ti consente di limitare il numero di risorse elencate nella risposta. Puoi quindi utilizzare il nodo next per visualizzare i risultati successivi.

NOTE
Utilizza sempre il valore URL restituito nel nodo next per eseguire una richiesta di impaginazione.
La richiesta _lineStart è calcolata e deve essere sempre utilizzata all'interno dell'URL restituito nel nodo next.

Richiesta di esempio

Richiesta GET di esempio per visualizzare 1 record della risorsa profilo.

-X GET https://mc.adobe.io/<ORGANIZATION>/campaign/profileAndServices/profile?_lineCount=1 \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer <ACCESS_TOKEN>' \
-H 'Cache-Control: no-cache' \
-H 'X-Api-Key: <API_KEY>'

Risposta alla richiesta, con il nodo next per eseguire la paginazione.

{
    "content": [
        {
            "PKey": "<PKEY>",
            "firstName": "John",
            "lastName":"Doe",
            "birthDate": "1980-10-24",
            ...
        }
    ],
    "next": {
        "href": "https://mc.adobe.io/<ORGANIZATION>/campaign/profileAndServices/profile/email?_lineCount=10&_
        lineStart=@Qy2MRJCS67PFf8soTf4BzF7BXsq1Gbkp_e5lLj1TbE7HJKqc"
    }
    ...
}

Per impostazione predefinita, il nodo next non è disponibile quando si interagisce con tabelle con grandi quantità di dati. Per poter eseguire l'impaginazione, devi aggiungere il parametro _forcePagination=true all'URL della chiamata.

-X GET https://mc.adobe.io/<ORGANIZATION>/campaign/profileAndServices/profile?_forcePagination=true \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer <ACCESS_TOKEN>' \
-H 'Cache-Control: no-cache' \
-H 'X-Api-Key: <API_KEY>'
NOTE
Il numero di record al di sopra dei quali una tabella viene considerata grande è definito nell'opzione XtkBigTableThreshold di Campaign Standard. Il valore predefinito è 100.000 record.
recommendation-more-help
35662671-8e3d-4f04-a092-029a056c566b