Grundlagen der Adobe Workfront-Planungs-API

IMPORTANT
Die Informationen in diesem Artikel beziehen sich auf Adobe Workfront Planning, ein neues Angebot von Adobe Workfront.
Für den Zugriff auf die Workfront-Planung benötigen Sie Folgendes:
  • Ein neuer Workfront-Plan und eine neue -Lizenz. Die Workfront-Planung ist nicht für ältere Workfront-Pläne oder -Lizenzen verfügbar.
  • Eine zusätzliche Lizenz für Workfront Planning.
  • Die Workfront-Instanz Ihres Unternehmens muss in das Adobe Unified Experience integriert sein.
Eine vollständige Liste der Anforderungen für den Zugriff auf die Workfront-Planung finden Sie unter Zugriffsübersicht.
Weitere Informationen zur Workfront-Planung finden Sie unter Übersicht über die Adobe Workfront-Planung.

Das Ziel der Adobe Workfront Planning API besteht darin, das Erstellen von Integrationen mit der Planung zu vereinfachen, indem eine REST-fähige Architektur eingeführt wird, die über HTTP ausgeführt wird. In diesem Dokument wird davon ausgegangen, dass Sie mit REST- und JSON-Antworten vertraut sind, und der von der Planungs-API verfolgte Ansatz beschrieben.

Die Kenntnis des Workfront-Planungs-Schemas hilft Ihnen dabei, die Datenbankbeziehungen zu verstehen, die zum Abrufen von Daten aus der Workfront-Planung für Integrationszwecke genutzt werden können.

Sie können die Planungs-API über ein externes Suchfeld in einem benutzerdefinierten Workfront-Formular aufrufen.

Weitere Informationen zu externen Suchfeldern finden Sie unter Beispiele für das externe Suchfeld in einem benutzerdefinierten Formular.

API-URL für die Workfront-Planung

Vorgänge

Objekte werden bearbeitet, indem eine HTTP-Anfrage an ihren eindeutigen URI gesendet wird. Der auszuführende Vorgang wird durch die HTTP-Methode angegeben.

Die standardmäßigen HTTP-Methoden entsprechen den folgenden Vorgängen:

  • GET - Ruft ein Objekt nach ID ab, sucht mithilfe einer Abfrage nach allen Objekten
  • POST - Fügt ein neues Objekt ein
  • PUT - Bearbeiten eines vorhandenen Objekts
  • DELETE - Löscht ein Objekt

Weitere Informationen und Beispiele zu den einzelnen Vorgängen finden Sie in der Dokumentation zur Workfront Planning API für Entwickler .

Feldtypen und Suchmodifikatoren, die mit ihnen verwendet werden

Sie können Modifikatoren und Filter mit Feldern verwenden, um zu steuern, welche Daten in den Ergebnissen zurückgegeben werden.

Verwenden von Suchmodifikatoren

Workfront Planning unterstützt die folgenden Suchmodifikatoren:

Modifikator
Beispiel
Beschreibung
Mögliche Werte
$contains
"fieldId": { "$contains": "product" }
Gibt Datensätze aus, deren Feldwert den Filter enthält
"New Product Launch"
$doesNotContain
"fieldId": { "$doesNotContain": "product" }
Gibt Datensätze aus, für die der Feldwert den Filter nicht enthält
"New Launch"
$is
  • "fieldId" : { "$is": "new product launch" }
  • "fieldId" : { "new product launch" }
Gibt Datensätze zurück, deren Feldwert exakt mit dem Filter übereinstimmt
"New Product Launch"
$isNot
"fieldId": { "$isNot": "product" }
Gibt Datensätze zurück, deren Feldwert exakt nicht mit dem Filter übereinstimmt
"New Product Launch"
$isEmpty
  • "fieldId": "$isEmpty"
  • "fieldId": { "$isEmpty": null }
Gibt Datensätze zurück, deren Feldwert nicht leer ist
  • „“
  • null
$isNotEmpty
  • "fieldId": "$isNotEmpty"
  • "fieldId": { "$isNotEmpty": null }
Gibt Datensätze zurück, deren Feldwert nicht leer ist
"New Product Launch"
$greaterThan
"fieldId": { "$greaterThan": 10 }
Gibt Datensätze zurück, deren Feldwert größer als der Filter ist
  • 20
  • 25
$greaterThanOrEqual
"fieldId": { "$greaterThanOrEqual": 10 }
Gibt Datensätze zurück, deren Feldwert größer oder gleich dem Filter ist
  • 10
  • 20
  • 25
$lessThan
"fieldId": { "$lessThan": 10 }
Gibt Datensätze zurück, deren Feldwert kleiner als der Filter ist
  • 5
  • 9
$lessThanOrEqual
"fieldId": { "$lessThanOrEqual": 10 }
Gibt Datensätze zurück, deren Feldwert kleiner oder gleich dem Filter ist
  • 5
  • 9
    • 10
$isAfter
"fieldId": { "$isAfter": "2024-05-14T20:00:00.000Z" }
Gibt Datensätze zurück, deren Feldwert hinter dem Filter liegt
"2024-05-15T20:00:00.000Z"
$isBefore
"fieldId": { "$isBefore": "2024-05-14T20:00:00.000Z" }
Gibt Datensätze zurück, deren Feldwert vor dem Filter liegt
"2024-05-12T20:00:00.000Z"
$isBetween
"fieldId": { "$isBetween": ["2024-05-10T20:00:00.000Z", "2024-05-15T20:00:00.000Z"] }
Gibt Datensätze zurück, deren Feldwert zwischen dem Filter liegt
  • "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"] }
Gibt Datensätze zurück, deren Feldwert nicht zwischen dem Filter liegt
  • "2024-05-09T20:00:00.000Z"
  • "2024-05-17T20:00:00.000Z"
$isAnyOf
"fieldId": { "$isAnyOf": ["active", "completed"] }
Gibt Datensätze zurück, deren Feldwert einem der Filter entspricht
  • "active"
  • "completed"
$isNoneOf
"fieldId": { "$isNoneOf": ["active", "completed"] }
Gibt Datensätze zurück, deren Feldwert keiner der Filter ist
  • "finished"
  • "fixed"
$hasAnyOf
"fieldId": { "$hasAnyOf": ["active", "completed"] }
Gibt Datensätze zurück, deren Feldwert einen der Filter aufweist
  • ["active", "fixed"]
  • ["fixed", "completed", "finished"]
$hasAllOf
"fieldId": { "$hasAllOf": ["active", "completed"] }
Gibt Datensätze zurück, deren Feldwert den gesamten Filter aufweist
  • ["active", "completed"]
  • ["active", "completed", "finished"]
$hasNoneOf
"fieldId": { "$hasNoneOf": ["active", "completed"] }
Gibt Datensätze zurück, deren Feldwert keinen Filter enthält
["fixed", "finished"]
$isExactly
"fieldId": { "$isExactly": ["active", "completed"] }
Gibt Datensätze zurück, deren Feldwert genau dem Filter entspricht
["active", "completed"]

Feldtypen

Nachstehend finden Sie eine Liste der unterstützten Feldtypen und darüber, welche Suchmodifikatoren mit jedem dieser Feldtypen verwendet werden können

Feldtyp
Unterstützte Suchmodifikatoren
text
$contains, $doesNotContain, $is, $isNot, $isEmpty, $isNotEmpty
long-text
$contains, $doesNotContain, $is, $isNot, $isEmpty, $isNotEmpty
number
$is, $isNot, $greaterThan, $greaterThanOrEqual, $lessThan, $lessThanOrEqual, $isEmpty, $isNotEmpty
Prozentsatz
$is, $isNot, $greaterThan, $greaterThanOrEqual, $lessThan, $lessThanOrEqual, $isEmpty, $isNotEmpty
currency
$is, $isNot, $greaterThan, $greaterThanOrEqual, $lessThan, $lessThanOrEqual, $isEmpty, $isNotEmpty
Datum
$is, $isNot, $isAfter, $isBefore, $isBetween, $isNotBetween, $isEmpty, $isNotEmpty
Einzelauswahl
$is, $isNot, $isAnyOf, $isNoneOf, $isEmpty, $isNotEmpty
Mehrfachauswahl
$hasAnyOf, $hasAllOf, $isExactly, $hasNoneOf, $isEmpty, $isNotEmpty
Boolescher Wert
$is
Benutzer
$hasAnyOf, $hasAllOf, $isExactly, $hasNoneOf, $isEmpty, $isNotEmpty
Formel
$contains, $doesNotContain, $is, $isNot, $isEmpty, $isNotEmpty
url
$contains, $doesNotContain, $is, $isNot, $isEmpty, $isNotEmpty
created-by
$is, $isNot, $isAnyOf, $isNoneOf
created-at
$is, $isNot, $isAfter, $isBefore, $isBetween, $isNotBetween
aktualisiert von
$is, $isNot, $isAnyOf, $isNoneOf, $isEmpty, $isNotEmpty
updated-at
$is, $isNot, $isAfter, $isBefore, $isBetween, $isNotBetween, $isEmpty, $isNotEmpty
reference
$hasAnyOf, $hasAllOf, $isExactly, $hasNoneOf, $isEmpty, $isNotEmpty
Nachschlagen
Hängt vom verknüpften Feld ab

Verwenden von "And"- und "Or"-Anweisungen

Im API-Aufruf können Sie Filter haben, die auf mehreren Kriterien basieren, die durch die Anweisungen $and" und "$or"kombiniert werden

{
  "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"
            }
          ]
        }
      ]
    }
  ]
}

Verwenden des Feldanfrageparameters

Mit dem Feldanforderungsparameter können Sie eine kommagetrennte Liste bestimmter Felder angeben, die zurückgegeben werden sollen. Bei diesen Feldnamen wird zwischen Groß- und Kleinschreibung unterschieden.

Beispielsweise die Anfrage

/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
                    },
....

gibt eine Antwort ähnlich der folgenden zurück:

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

Sortieren von Abfrageergebnissen in der API

Sie können Ihre Ergebnisse nach jedem Feld sortieren, wenn Sie Folgendes an Ihren API-Aufruf anhängen:

/v1/records/search

Anfrageinhalt:

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

Abfragebeschränkungen und paginierte Antworten

Standardmäßig geben API-Anfragen zur Planung 500 Ergebnisse zurück, beginnend mit dem Anfang der Liste. Um die Standardbegrenzung für die Anzahl der Ergebnisse zu überschreiben, können Sie den Parameter limit in Ihren Anforderungen verwenden und ihn auf eine andere Zahl mit bis zu 2000 Ergebnissen setzen.

Es wird empfohlen, paginierte Antworten für große Datensätze zu verwenden, indem Sie den Parameter offset zu Ihren Anforderungen hinzufügen. Paginierte Antworten ermöglichen es Ihnen, den Speicherort des ersten zurückzugebenden Ergebnisses anzugeben.

Wenn Sie beispielsweise die Ergebnisse 2001-4000 zurückgeben möchten, können Sie die folgende Anfrage verwenden. In diesem Beispiel werden seit dem 2001. Ergebnis 2000 Datensätze zurückgegeben, die sich im aktiven Status befinden:

POST /v1/records/search

Anfrageinhalt:

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

Verwenden Sie einen Sortierparameter, um sicherzustellen, dass Ihre Ergebnisse korrekt paginiert werden. Dadurch können die Ergebnisse in derselben Reihenfolge zurückgegeben werden, sodass die Paginierung die Ergebnisse nicht wiederholt oder überspringt.

Weitere Informationen zum Sortieren finden Sie unter Sortieren von Abfrageergebnissen in der API in diesem Artikel.

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