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,PUToPATCH
- Punto final de URLSi 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ónEjemplo:--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 nameUn nombre de componente, basado en una funcionalidad comomodelingosecurity.
- versionLa versión del servicio. Versión actual para todos los servicios:v1.
- tenantEl entorno de cliente de este servicio, que indica la instancia de Adaptive Planning. Utilizardefaultpara la instancia por defecto del usuario en la autorización.
- resource pathLa ruta al recurso, utilizando nombres comosheetyavailability. La ruta también admite parámetros de consulta, como:
- sheetNamepara especificar el nombre de una hoja en Adaptive Planning.
- columnNamepara especificar el nombre de una columna en una hoja de Adaptive Planning.
- limitpara especificar el límite de entradas de datos de objeto incluidas en una sola respuesta.
- offsetpara 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'