Skip to main content
Adaptive Planning
Laatst bijgewerkt: 2024-05-03
Concept: API's met JSON-indeling

Concept: API's met JSON-indeling

Slechts een beperkt aantal REST-API's voor Adaptive Planning kan de JSON-indeling gebruiken voor het verzenden en ophalen van gegevens uit Adaptive Planning. Meer API's zullen in toekomstige releases de JSON-indeling gebruiken.

JSON-aanvragen

Voor elke JSON-aanvraag is het volgende vereist:
  • HTTP-werkwoord of -methode.
    Voorbeeld:
    GET
    ,
    PUT
    , of
    PATCH
  • URL-eindpunt.
    Als uw instance gebruikmaakt van niet op de VS gebaseerde regionale verificatie, verschillen uw autorisatie-URL's en API-eindpunten op basis van uw regio. Zie Referentie: regionale verificatie-URL's.
    Voorbeeld:
    HTTPS://api.adaptiveplanning.com/api/rest/modeling/v1/globosales/sheet/availability
  • Autorisatiekop
    Voorbeeld:
    --header 'Authorization: Basic c5RldmVjQLdsb2JvLmNabTpjaGFuZ2VtZQ=='

HTTP-werkwoorden of -methoden

Welke methoden of werkwoorden beschikbaar zijn, is afhankelijk van de service en resource:
Methode
Omschrijving
GET
Hiermee wordt een verzameling gegevens of één object opgehaald.
POST
Hiermee maakt u één gegevensinstance met opgegeven gegevens.
PATCH
Bestaande gegevens worden gedeeltelijk bijgewerkt.
PUT
Hiermee worden bestaande gegevens bijgewerkt en de bestaande gegevens vervangen door de opgegeven gegevens in de hoofdtekst van de aanvraag.
DELETE
Hiermee wordt een bestaande gegevensinstance verwijderd.

URL-eindpunt

Als uw instance gebruikmaakt van niet op de VS gebaseerde regionale verificatie, verschillen uw autorisatie-URL's en API-eindpunten op basis van uw regio. Zie Referentie: regionale verificatie-URL's.
https://api.adaptiveplanning.com/rest/<service name>/<version>/<tenant>/<resource path>
  • service name
    Een componentnaam, op basis van functionaliteit zoals
    modeling
    , of
    security
    .
  • version
    De versie van de service. Huidige versie voor alle services:
    v1
    .
  • tenant
    De tenant voor deze service, die de Adaptive Planning-instance aangeeft. Gebruiken
    default
    voor de standaardinstance van de gebruiker in de autorisatie.
  • resource path
    Het pad naar de resource, met behulp van zelfstandige naamwoorden zoals
    sheet
    and
    availability
    . Het pad ondersteunt ook queryparameters, zoals:
    • sheetName
      om de naam van een blad in Adaptive Planning op te geven.
    • columnName
      om de naam van een kolom in een Adaptive Planning-blad op te geven.
    • limit
      om de limiet voor objectgegevensinvoer in één antwoord op te geven.
    • offset
      om de verschuiving op te geven voor het eerste object in een verzameling dat in het antwoord moet worden opgenomen.
Voorbeeld:
https://api.adaptiveplanning.com/api/rest/modeling/v1/globosales/sheet/availability?sheetName=Expense Cube&columnName=Level&columnType=Level

Voorbeeld: POST-aanvraag met JSON-hoofdtekst

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 } ]'

Inningen

Resources vertegenwoordigen doorgaans een verzameling bedrijfsobjecten uit:
Adaptive Planning
geretourneerd als een JSON-verzameling. De verzameling kan in ontwikkelingsframeworks worden gebruikt om lijsten met bedrijfsobjecten samen te stellen. Een specifiek object uit de verzameling is toegankelijk via een ID.
De sorteervolgorde van objecten in een verzameling wordt ingesteld op
Adaptive Planning
en kan niet worden geconfigureerd.
Het pagineren van collecties wordt beheerd door twee optionele queryparameters: limiet en verschuiving.
Queryparameter
Omschrijving
limiet
De limiet van objectgegevensinvoer in één antwoord. De standaardwaarde is 20 en het maximum is 100.
verschuiving
De verschuiving naar het eerste object in een verzameling dat in het antwoord moet worden opgenomen. De standaardwaarde is 0.

Voorbeeldaanvraag met limiet en tegenboeking

Met het voorbeeld wordt een verzameling gebruikersinstances opgehaald met de
instanceCode
van
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)

Voorbeeldantwoord met limiet en verschuiving

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

Referentietypen, verificatie en autorisatie

Alle API-aanvragen zijn staatloze aanvragen met een enkele actie. De gebruiker moet bij elke afzonderlijke aanroep worden geverifieerd, dus het is uitgesloten dat een indringer een bestaande webservicesessie probeert te kapen.
Als u een gebruiker verifieert in een API-aanvraag, wordt er geen permanente sessie voor deze gebruiker gemaakt. Voor elke afzonderlijke webserviceaanroep moet de gebruiker afzonderlijk worden geverifieerd.
De
Adaptive Planning
API's met JSON-indeling ondersteunen zowel de methoden Basic als Token Based Authentication (TBA).
Adaptive Planning
ondersteunt echte REST-API's in JSON-indeling met autorisatie aangegeven in de aanvraagkop en niet in de hoofdtekst van de aanvraag, zoals XML-API's. Zie Berichtindelingen voor aanvragen en antwoorden en API-aanvragen voor Adaptive Planning maken met Workday-referenties voor voorbeelden van XML-API's.

Basisverificatie

Basisverificatie gebruikt met base64 gecodeerde gebruikersnaam en wachtwoord in de verificatiekop.
Voorbeeld:
'Authorization': 'Basic <insert base64 encoded string>'
Voorbeeld:
xyz@demo.com:password
codeert naar
eHl6QGRlbW8uY29tOnBhc3N3b3Jk

Verificatie op basis van tokens (TBA)

Als u gebruikers van Workday naar Adaptive Planning synchroniseert, moet u verificatiemethoden op basis van tokens gebruiken. Volg de stappen in API-aanvragen voor Adaptive Planning maken met Workday-referentiesom uw token op te halen. Nadat u uw token hebt opgehaald, geeft u deze door in de kop.
Voorbeeld:'Authorization': 'Bearer <insert token here>'
Voorbeeld: '
Authorization: Bearer eyJjdHkiOiJ0ZXh0L3BsYWluIiwiYWxnIjoiSFMyNTYifQ.eyJsb2dpbl9pZCI6InN0ZXZlY0BheWdsb2JvLmNvbSIsIm5iZiI6MTU4NjEzMDA2NywibXVsdGlfdXNlIjoiMCIsImlzX2F1dGgiOiIxIiwiZXhwIjoxODg2MTMwMTg3LCJpYXQiOjE2MDM5NDYwMjEsImp0aSI6IjM0YzFkZDY2LTY2MTMtNDk0Ny05MjFhLTliZDQ2ZDVmZDkwNyJ9.FZnLHGQ3dNfpzvW-A9ILi53z6YLGNNI45Mlc-4NT3As'