Nozioni di base sulle API di Adobe Workfront Planning

IMPORTANT
Le informazioni contenute in questo articolo si riferiscono ad Adobe Workfront Planning, una funzionalità aggiuntiva di Adobe Workfront.
Per accedere a Workfront Planning, è necessario disporre dei seguenti elementi:
  • Un nuovo piano e una nuova licenza Workfront. Workfront Planning non è disponibile per i piani o le licenze legacy di Workfront.
  • Una licenza aggiuntiva per Workfront Planning.
  • L’istanza di Workfront della tua organizzazione deve essere integrata in Adobe Unified Experience.
Per un elenco completo dei requisiti per accedere a Workfront Planning, vedere Panoramica dell'accesso.
Per ulteriori informazioni su Workfront Planning, vedere Panoramica di Adobe Workfront Planning.

L’obiettivo per l’API di pianificazione di Adobe Workfront è semplificare la creazione di integrazioni con Planning introducendo un’architettura REST-ful che funziona tramite HTTP. Questo documento presuppone che tu abbia familiarità con le risposte REST e JSON e descrive l’approccio adottato dall’API di Planning.

La familiarità con lo schema di Workfront Planning consente di comprendere le relazioni tra i database che possono essere utilizzate per estrarre i dati da Workfront Planning a scopo di integrazione.

Puoi richiamare l’API di pianificazione da un campo di ricerca Esterna in un modulo personalizzato Workfront.

Per ulteriori informazioni sui campi di ricerca esterna, vedere Esempi di campi di ricerca esterna in un modulo personalizzato.

URL API di Workfront Planning

Operazioni

Gli oggetti vengono manipolati inviando una richiesta HTTP al relativo URI univoco. L'operazione da eseguire è specificata dal metodo HTTP.

I metodi HTTP standard corrispondono alle operazioni seguenti:

  • GET - Recupera un oggetto per ID, cerca tutti gli oggetti tramite una query
  • POST - Inserisce un nuovo oggetto
  • PUT - Modifica un oggetto esistente
  • DELETE - Elimina un oggetto

Per ulteriori dettagli ed esempi di ciascuna operazione, vedere la documentazione per gli sviluppatori API di Workfront Planning.

Tipi di campi e modificatori di ricerca utilizzati con tali campi

È possibile utilizzare modificatori e filtri con i campi per controllare quali dati verranno restituiti nei risultati.

Utilizzo dei modificatori di ricerca

Workfront Planning supporta i seguenti modificatori di ricerca:

Modificatore
Esempio
Descrizione
Valori possibili
$contains
"fieldId": { "$contains": "product" }
Restituisce record il cui valore di campo contiene il filtro
"Lancio di nuovi prodotti"
$doesNotContain
"fieldId": { "$doesNotContain": "product" }
Restituisce record in cui il valore del campo non contiene il filtro
"Nuovo lancio"
$is
  • "fieldId" : { "$is": "new product launch" }
  • "fieldId" : { "new product launch" }
Restituisce record il cui valore di campo corrisponde esattamente al filtro
"Lancio di nuovi prodotti"
$isNot
"fieldId": { "$isNot": "product" }
Restituisce record il cui valore di campo non corrisponde esattamente al filtro
"Lancio di nuovi prodotti"
$isEmpty
  • "fieldId": "$isEmpty"
  • "fieldId": { "$isEmpty": null }
Restituisce record il cui valore di campo non è vuoto
  • “”
  • nulle
$isNotEmpty
  • "fieldId": "$isNotEmpty"
  • "fieldId": { "$isNotEmpty": null }
Restituisce record il cui valore di campo non è vuoto
"Lancio di nuovi prodotti"
$GREATERThan
"fieldId": { "$greaterThan": 10 }
Restituisce record il cui valore di campo è maggiore del filtro
  • 20
  • 25
$majorThanOrEqual
"fieldId": { "$greaterThanOrEqual": 10 }
Restituisce record il cui valore di campo è maggiore o uguale al filtro
  • 10
  • 20
  • 25
$lessThan
"fieldId": { "$lessThan": 10 }
Restituisce record il cui valore di campo è minore del filtro
  • 5
  • 9
$lessThanOrEqual
"fieldId": { "$lessThanOrEqual": 10 }
Restituisce record il cui valore di campo è minore o uguale al filtro
  • 5
  • 9
    • 10
$isAfter
"fieldId": { "$isAfter": "2024-05-14T20:00:00.000Z" }
Restituisce record il cui valore di campo è dopo il filtro
"2024-05-15T20:00:00.000Z"
$isBefore
"fieldId": { "$isBefore": "2024-05-14T20:00:00.000Z" }
Restituisce record il cui valore di campo è precedente al filtro
"2024-05-12T20:00:00.000Z"
$isBetween
"fieldId": { "$isBetween": ["2024-05-10T20:00:00.000Z", "2024-05-15T20:00:00.000Z"] }
Restituisce record il cui valore di campo è compreso tra il filtro
  • "2024-05-12T20:00:00.000Z"
  • "2024-05-14T20:00:00.000Z"
$isNotBetween
"fieldId": { "$isNotBetween": ["2024-05-10T20:00:00.000Z", "2024-05-15T20:00:00.000Z"] }
Restituisce record il cui valore di campo non è compreso tra il filtro
  • "2024-05-09T20:00:00.000Z"
  • "2024-05-17T20:00:00.000Z"
$isAnyOf
"fieldId": { "$isAnyOf": ["active", "completed"] }
Restituisce record il cui valore di campo corrisponde a uno qualsiasi dei filtri
  • "active"
  • "completato"
$isNoneOf
"fieldId": { "$isNoneOf": ["active", "completed"] }
Restituisce record il cui valore di campo non è incluso nel filtro
  • "completato"
  • "fisso"
$hasAnyOf
"fieldId": { "$hasAnyOf": ["active", "completed"] }
Restituisce record il cui valore di campo include uno dei filtri
  • ["attivo", "fisso"]
  • ["fisso", "completato", "finito"]
$hasAllOf
"fieldId": { "$hasAllOf": ["active", "completed"] }
Restituisce record il cui valore di campo include tutto il filtro
  • ["attivo", "completato"]
  • ["attivo", "completato", "finito"]
$hasNoneOf
"fieldId": { "$hasNoneOf": ["active", "completed"] }
Restituisce record il cui valore di campo non contiene alcun filtro
["fisso", "completato"]
$isExexact
"fieldId": { "$isExactly": ["active", "completed"] }
Restituisce record il cui valore di campo è esattamente il filtro
["attivo", "completato"]

Tipi di campo

Di seguito è riportato l’elenco dei tipi di campo supportati e i modificatori di ricerca che è possibile utilizzare con ciascuno di questi tipi di campo

Tipo di campo
Modificatori di ricerca supportati
text
$contains, $doesNotContain, $is, $isNot, $isEmpty, $isNotEmpty
testo lungo
$contains, $doesNotContain, $is, $isNot, $isEmpty, $isNotEmpty
numero
$is, $isNot, $majorThan, $majorThanOrEqual, $lessThan, $lessThanOrEqual, $isEmpty, $isNotEmpty
percentuale
$is, $isNot, $majorThan, $majorThanOrEqual, $lessThan, $lessThanOrEqual, $isEmpty, $isNotEmpty
valuta
$is, $isNot, $majorThan, $majorThanOrEqual, $lessThan, $lessThanOrEqual, $isEmpty, $isNotEmpty
data
$is, $isNot, $isAfter, $isBefore, $isBetween, $isNotBetween, $isEmpty, $isNotEmpty
selezione singola
$is, $isNot, $isAnyOf, $isNoneOf, $isEmpty, $isNotEmpty
selezione multipla
$hasAnyOf, $hasAllOf, $isExexact, $hasNoneOf, $isEmpty, $isNotEmpty
booleano
$is
utente
$hasAnyOf, $hasAllOf, $isExexact, $hasNoneOf, $isEmpty, $isNotEmpty
formula
$contains, $doesNotContain, $is, $isNot, $isEmpty, $isNotEmpty
url
$contains, $doesNotContain, $is, $isNot, $isEmpty, $isNotEmpty
creato da
$is, $isNot, $isAnyOf, $isNoneOf
creato a
$is, $isNot, $isAfter, $isBefore, $isBetween, $isNotBetween
aggiornato da
$is, $isNot, $isAnyOf, $isNoneOf, $isEmpty, $isNotEmpty
update-at
$is, $isNot, $isAfter, $isBefore, $isBetween, $isNotBetween, $isEmpty, $isNotEmpty
riferimento
$hasAnyOf, $hasAllOf, $isExexact, $hasNoneOf, $isEmpty, $isNotEmpty
ricerca
Dipende dal campo collegato

Utilizzo delle istruzioni "And" e "Or"

Nella chiamata API è possibile avere filtri basati su diversi criteri combinati da istruzioni $and" e "$or"

{
  "recordTypeId": "recordTypeId",
  "offset": "integer",
  "limit": "integer",
  "filters": [
    {
      "$or": [
        {
          "launch_date": {
            "$isBetween": [
              "2024-03-31T20:00:00.000Z",
              "2024-04-01T20:00:00.000Z"
            ]
          }
        },
        {
          "$and": [
            {
              "launch_date": {
                "$isBetween": [
                  "2024-03-31T20:00:00.000Z",
                  "2024-04-01T20:00:00.000Z"
                ]
              }
            },
            {
              "status": "active"
            }
          ]
        },
        {
          "$and": [
            {
              "launch_date": {
                "$isBetween": [
                  "2024-04-15T00:00:00.000Z",
                  "2024-04-16T00:00:00.000Z"
                ]
              }
            },
            {
              "status": "planned"
            }
          ]
        }
      ]
    }
  ]
}

Utilizzo del parametro della richiesta fields

Puoi utilizzare il parametro di richiesta fields per specificare un elenco separato da virgole di campi specifici da restituire. Questi nomi di campo fanno distinzione tra maiuscole e minuscole.

Ad esempio, la richiesta

/v1/records/search?attributes=data,createdBy

{
    "records": [
        {
            "id": "Rc6527ecb35df57c441d92ba00",
            "createdBy": "61a9cc0500002f9fdaa7a6f824f557e1",
            "createdAt": null,
            "updatedBy": null,
            "updatedAt": null,
            "customerId": null,
            "imsOrgId": null,
            "recordTypeId": null,
            "data": {
                "F666c0b58b6fee61a2ea6ea81": [
                    {
                        "externalId": null,
                        "id": "Rc665728ff95730b58bc757b13",
                        "value": null
                    },
....

restituisce una risposta simile alla seguente:

{
    "priority": 2,
    "name": "first task",
    "ID": "4c7c08fa0000002ff924e298ee148df4",
    "plannedStartDate": "2010-08-30T09:00:00:000-0600"
}

Ordinamento dei risultati della query nell’API

Puoi ordinare i risultati in base a qualsiasi campo se aggiungi quanto segue alla chiamata API:

/v1/records/search

Corpo della richiesta:

{
    "recordTypeId": "Rt6527ecb25df57c441d92b9fa",
    "filters": [],
    "sorting": [
        {
            "fieldId": "F6527ecb25df57c441d92b9fc",
            "direction": "asc"
        },
        {
            "fieldId": "F658afcbd4a0273c67c346fd5",
            "direction": "desc"
        }
    ],
    "limit": 500,
    "offset": 0,
    "rowOrderViewId": "V6527ecb75df57c441d92ba03",
    "groupingFieldIds": []
}

Limiti delle query e risposte impaginate

Per impostazione predefinita, le richieste API di Planning restituiscono 500 risultati, a partire dall’inizio dell’elenco. Per ignorare il limite predefinito per il numero di risultati, è possibile utilizzare il parametro limit nelle richieste e impostarlo su un numero diverso, fino a 2.000 risultati.

È consigliabile considerare l'utilizzo di risposte impaginate per set di dati di grandi dimensioni aggiungendo il parametro offset alle richieste. Le risposte impaginate consentono di specificare la posizione del primo risultato che deve essere restituito.

Ad esempio, se si desidera restituire i risultati 2001-4000, è possibile utilizzare la seguente richiesta. In questo esempio vengono restituiti 2000 record con stato attivo, a partire dal risultato 2001:

POST /v1/records/search

Corpo della richiesta:

{
    "recordTypeId": "recordTypeId",
    "offset": "2001",
    "limit": "2000",
    "filters": [
        { "status": "active" }
    ]
}

Per assicurarti che i risultati siano impaginati correttamente, utilizza un parametro di ordinamento. Questo consente di restituire i risultati nello stesso ordine, in modo che l’impaginazione non si ripeta né salti i risultati.

Per ulteriori informazioni sull'ordinamento, vedere Ordinamento dei risultati della query nell'API in questo articolo.

recommendation-more-help
5f00cc6b-2202-40d6-bcd0-3ee0c2316b43