Saltar al contenido principal
Adaptive Planning
Última actualización: 2024-05-03
Concepto: API con formato JSON

Concepto: API con formato JSON

Solo un número limitado de API de REST de Adaptive Planning puede usar el formato JSON para enviar y obtener datos de Adaptive Planning. Más API utilizarán el formato JSON en futuras versiones.

Solicitudes JSON

Cada solicitud JSON requiere:
  • Verbo o método HTTP.
    Ejemplo:
    GET
    ,
    PUT
    o
    PATCH
  • Punto final de URL
    Si su instancia utiliza autenticación regional fuera de EE. UU., las URL de autorización y los puntos finales de API variarán en función de su región. Consulte Referencia: URL de autenticación regional.
    Ejemplo:
    HTTPS://api.adaptiveplanning.com/api/rest/modeling/v1/globosales/sheet/availability
  • Cabecera de autorización
    Ejemplo:
    --header 'Authorization: Basic c5RldmVjQLdsb2JvLmNabTpjaGFuZ2VtZQ=='

Verbos o métodos HTTP

Los métodos o verbos disponibles varían en función del servicio y el recurso:
Método
Descripción
GET
Recupera una recopilación de datos o un solo objeto.
POST
Crea una instancia de datos única con los datos especificados.
PATCH
Actualiza parcialmente los datos existentes.
PUT
Actualiza los datos existentes y los sustituye por los datos especificados en el cuerpo de la solicitud.
ELIMINAR
Elimina una instancia de datos existente.

Punto final de URL

Si su instancia utiliza autenticación regional fuera de EE. UU., las URL de autorización y los puntos finales de API variarán en función de su región. Consulte Referencia: URL de autenticación regional.
https://api.adaptiveplanning.com/rest/<service name>/<version>/<tenant>/<resource path>
  • service name
    Un nombre de componente, basado en una funcionalidad como
    modeling
    o
    security
    .
  • version
    La versión del servicio. Versión actual para todos los servicios:
    v1
    .
  • tenant
    El entorno de cliente de este servicio, que indica la instancia de Adaptive Planning. Utilizar
    default
    para la instancia por defecto del usuario en la autorización.
  • resource path
    La ruta al recurso, utilizando nombres como
    sheet
    y
    availability
    . La ruta también admite parámetros de consulta, como:
    • sheetName
      para especificar el nombre de una hoja en Adaptive Planning.
    • columnName
      para especificar el nombre de una columna en una hoja de Adaptive Planning.
    • limit
      para especificar el límite de entradas de datos de objeto incluidas en una sola respuesta.
    • offset
      para especificar el desplazamiento del primer objeto de una colección para incluirlo en la respuesta.
Ejemplo:
https://api.adaptiveplanning.com/api/rest/modeling/v1/globosales/sheet/availability?sheetName=Expense Cube&columnName=Level&columnType=Level

Ejemplo: solicitud POST con cuerpo JSON

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

Cobros

Los recursos suelen representar una colección de objetos de gestión de
Adaptive Planning
devuelto como una colección JSON. La colección se puede utilizar en marcos de desarrollo para crear listas de objetos de gestión. Se accede a un objeto específico de la colección a través de un identificador.
El criterio de ordenación de los objetos de una colección se establece mediante
Adaptive Planning
y no es configurable.
La paginación de las recopilaciones se controla mediante dos parámetros de consulta opcionales, limit y offset.
Parámetro de consulta
Descripción
limit
El límite de entradas de datos de objeto incluidas en una sola respuesta. El valor por defecto es 20 y el máximo es 100.
offset
La compensación del primer objeto de una colección que se incluirá en la respuesta. El valor por defecto es 0.

Solicitud de muestra con límite y compensación

El ejemplo recupera una colección de instancias de usuario con el
instanceCode
de
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)

Respuesta de muestra con límite y compensación

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

Tipos de credenciales, autenticación y autorización

Todas las solicitudes de API son solicitudes sin estado y de acción única. El usuario debe autenticarse en cada invocación independiente, por lo que no hay posibilidad de que un intruso intente secuestrar ninguna sesión de servicio web existente.
La autenticación de un usuario en una solicitud de API no crea una sesión persistente para este usuario. Cada llamada de servicio web independiente debe autenticar a su usuario por separado.
El
Adaptive Planning
Las API con formato JSON admiten los métodos Basic y Token Based Authentication (TBA).
Adaptive Planning
admite API de REST reales en formato JSON con la autorización indicada en la cabecera de la solicitud y no en el cuerpo de la solicitud como las API de XML. Consulte Formatos de mensajes de solicitud y respuesta y Realización de solicitudes de API de Adaptive Planning con credenciales de Workday para ejemplos de API XML.

Autenticación básica

La autenticación básica utiliza un nombre de usuario y una contraseña codificados en base64 en la cabecera de autenticación.
Muestra:
'Authorization': 'Basic <insert base64 encoded string>'
Ejemplo:
xyz@demo.com:password
codifica para
eHl6QGRlbW8uY29tOnBhc3N3b3Jk

Autenticación basada en token (TBA)

Si sincroniza usuarios de Workday con Adaptive Planning, debe usar métodos de autenticación basada en token. Para obtener su token, siga los pasos de Realización de solicitudes de API de Adaptive Planning con credenciales de Workday. Después de obtener su token, páselo en la cabecera.
Sample:'Authorization': 'Bearer <insert token here>'
Ejemplo: "
Authorization: Bearer eyJjdHkiOiJ0ZXh0L3BsYWluIiwiYWxnIjoiSFMyNTYifQ.eyJsb2dpbl9pZCI6InN0ZXZlY0BheWdsb2JvLmNvbSIsIm5iZiI6MTU4NjEzMDA2NywibXVsdGlfdXNlIjoiMCIsImlzX2F1dGgiOiIxIiwiZXhwIjoxODg2MTMwMTg3LCJpYXQiOjE2MDM5NDYwMjEsImp0aSI6IjM0YzFkZDY2LTY2MTMtNDk0Ny05MjFhLTliZDQ2ZDVmZDkwNyJ9.FZnLHGQ3dNfpzvW-A9ILi53z6YLGNNI45Mlc-4NT3As'