Zum Hauptinhalt wechseln
Adaptive Planning
Zuletzt aktualisiert: 2024-05-03
Konzept: Mit JSON formatierte APIs

Konzept: Mit JSON formatierte APIs

Nur eine begrenzte Anzahl von REST-APIs von Adaptive Planning kann das JSON-Format zum Übermitteln und Abrufen von Daten aus Adaptive Planning verwenden. In zukünftigen Versionen werden weitere APIs das JSON-Format verwenden.

JSON-Anforderungen

Jede JSON-Anforderung erfordert Folgendes:
  • HTTP-Verb oder -Methode.
    Beispiel:
    GET
    ,
    PUT
    oder
    PATCH
  • URL-Endpunkt.
    If your instance uses non-US based, regional authentication, then your authorization URLs and API endpoints vary based on your region. See Reference: Regional Authentication URLs.
    Beispiel:
    HTTPS://api.adaptiveplanning.com/api/rest/modeling/v1/globosales/sheet/availability
  • Autorisierungs-Header
    Beispiel:
    --header 'Authorization: Basic c5RldmVjQLdsb2JvLmNabTpjaGFuZ2VtZQ=='

HTTP-Verben oder -Methoden

Die verfügbaren Methoden oder Verben variieren je nach Service und Ressource:
Methode
Beschreibung
GET
Ruft eine Sammlung von Daten oder ein einzelnes Objekt ab.
POST
Erstellt eine einzelne Dateninstanz mit den angegebenen Daten.
PATCH
Aktualisiert teilweise vorhandene Daten.
PUT
Aktualisiert vorhandene Daten und ersetzt die vorhandenen Daten durch die angegebenen Daten im Anforderungstext.
DELETE
Löscht eine vorhandene Dateninstanz.

URL-Endpunkt

If your instance uses non-US based, regional authentication, then your authorization URLs and API endpoints vary based on your region. See Reference: Regional Authentication URLs.
https://api.adaptiveplanning.com/rest/<service name>/<version>/<tenant>/<resource path>
  • service name
    Einen Komponentennamen, der auf Funktionalität wie basiert
    modeling
    ,
    security
    oder
    report
    .
  • version
    Die Version des Service. Aktuelle Version für alle Services:
    v1
    .
  • tenant
    Der Mandant für diesen Service, indem die Adaptive Planning-Instanz angegeben wird. Verwenden
    default
    für die Standardinstanz des Benutzers in der Autorisierung.
  • resource path
    Der Pfad zur Ressource unter Verwendung von Nomen wie
    sheet
    und
    availability
    . Der Pfad unterstützt auch Abfrageparameter, z. B.:
    • sheetName
      um den Namen eines Tabellenblatts in Adaptive Planning anzugeben.
    • columnName
      , um den Namen einer Spalte in einem Tabellenblatt aus Adaptive Planning anzugeben.
    • limit
      um den Grenzwert für die in einer einzelnen Antwort enthaltenen Objektdateneingaben anzugeben.
    • offset
      , um den Zeitversatz zum ersten Objekt in einer Sammlung anzugeben, das in die Antwort aufgenommen werden soll.
Beispiel:
https://api.adaptiveplanning.com/api/rest/modeling/v1/globosales/sheet/availability?sheetName=Expense Cube&columnName=Level&columnType=Level

Beispiel: POST-Anforderung mit JSON-Text

curl --location --request POST 'https://api.adaptiveplanning.com/api/rest/modeling/v1/default/sheet/availability?sheetName=Sales Cube&columnName=account&columnType=Account' \ --header 'Authorization: Basic c5RldmVjQLdsb2JvLmNabTpjaGFuZ2VtZQ==' \ --header 'Content-Type: application/json' \ --data-raw '[ { "name": "Discount Percent", "code": "SalesCube.DiscountPercent", "accountGroup": false, "available": true } ]'

Einzug

Ressourcen stellen in der Regel eine Sammlung von Geschäftsobjekten aus dar
Adaptive Planning
als JSON-Sammlung zurückgegeben wird. Die Sammlung kann in Entwicklungs-Frameworks verwendet werden, um Listen der Geschäftsobjekte zu erstellen. Auf ein bestimmtes Objekt aus der Sammlung wird über einen ID zugegriffen.
Die Sortierreihenfolge der Objekte in einer Sammlung wird von festgelegt
Adaptive Planning
und ist nicht konfigurierbar.
Das Paging von Einzügen wird durch die beiden optionalen Abfrageparameter "Limit" und "Offset" gesteuert.
Abfrageparameter
Beschreibung
limit
Den Grenzwert für die Objektdateneingaben, die in einer einzelnen Antwort enthalten sind. Der Standardwert ist 20 und der Höchstwert ist 100.
offset
Der Offset zum ersten Objekt in einer Sammlung, das in die Antwort aufgenommen werden soll. Der Standardwert ist 0.

Beispielanforderung mit Grenzwert und Zeitversatz

Das Beispiel ruft eine Sammlung von Benutzerinstanzen mit ab
instanceCode
von
GLOBO
.
@GET @PATH("/users/instances?instanceCode=GLOBO&limit=20&offset=0") @Produces(MediaType.APPLICATION_JSON) public List<User> getUsers(@PathParam("instanceCode") String instanceCode,@PathParam("limit")int limit,@PathParam("offset")int offset)

Beispielantwort mit Grenzwert und Zeitversatz

{ "total": 25, "link": { "next": "https://api.adaptiveplanning.com/api/rest/security/v1/default/users/instances?instanceCode=GLOBO&offset=4&limit=2", "previous": "https://api.adaptiveplanning.com/api/rest/security/v1/default/users/instances?instanceCode=GLOBO&offset=0&limit=2" }, "users": [ { "userId": 14, "userGuid": "474C4F424F000000000000000100000E", "userName": "asiaboss@globo.com", "instances": [ { "code": "GLOBO", "default": true } ] }, { "userId": 21, "userGuid": "474C4F424F0000000000000001000015", "userName": "Bob@globo.com", "instances": [ { "code": "GLOBOSALES" }, { "code": "GLOBOSUB" }, { "code": "GLOBO", "default": true } ] } ] } Note: -Default offset = 0 and limit = 500

Zugangsdatenarten, Authentifizierung und Autorisierung

Alle API-Anforderungen sind statuslose Anforderungen mit einer Aktion. Der Benutzer muss bei jedem separaten Aufruf authentifiziert werden, damit ein Eindringling nicht versucht, eine vorhandene Webservice-Sitzung zu umgehen.
Die Authentifizierung eines Benutzers in einer API-Anforderung erstellt keine persistente Sitzung für diesen Benutzer. Jeder separate Webservice-Aufruf muss seinen Benutzer separat authentifizieren.
Die
Adaptive Planning
Mit JSON formatierte APIs unterstützen sowohl die Methode der einfachen als auch der Token-basierten Authentifizierung (TBA).
Adaptive Planning
unterstützt reale REST-APIs im JSON-Format, deren Autorisierung im Anforderungs-Header und nicht im Anforderungstext wie bei XML-APIs angegeben wird. Beispiele für XML-APIs finden Sie unter Request and Response Message Formats und Create Adaptive Planning API Requests with Workday Credentials .

Einfache Authentifizierung

Die Basisauthentifizierung verwendet Base64-codierten Benutzernamen und Kennwort im Authentifizierungs-Header.
Beispiel:
'Authorization': 'Basic <insert base64 encoded string>'
Beispiel:
xyz@demo.com:password
codiert in
eHl6QGRlbW8uY29tOnBhc3N3b3Jk

Token-basierte Authentifizierung (TBA)

Wenn Sie Benutzer aus Workday mit Adaptive Planning synchronisieren, müssen Sie Token-basierte Authentifizierungsmethoden verwenden. Um Ihr Token abzurufen, führen Sie die Schritte unter Stellen Sie eine Adaptive Planning-API-Anforderung mit Workday-Zugangsdaten aus. Nachdem Sie Ihr Token erhalten haben, geben Sie es im Header weiter.
Beispiel:'Autorisierung': 'Bearer <hier Token einfügen>'
Beispiel: '
Authorization: Bearer eyJjdHkiOiJ0ZXh0L3BsYWluIiwiYWxnIjoiSFMyNTYifQ.eyJsb2dpbl9pZCI6InN0ZXZlY0BheWdsb2JvLmNvbSIsIm5iZiI6MTU4NjEzMDA2NywibXVsdGlfdXNlIjoiMCIsImlzX2F1dGgiOiIxIiwiZXhwIjoxODg2MTMwMTg3LCJpYXQiOjE2MDM5NDYwMjEsImp0aSI6IjM0YzFkZDY2LTY2MTMtNDk0Ny05MjFhLTliZDQ2ZDVmZDkwNyJ9.FZnLHGQ3dNfpzvW-A9ILi53z6YLGNNI45Mlc-4NT3As'