Conceito: APIs no formato JSON
Somente um número limitado de APIs REST do Adaptive Planning pode usar o formato JSON para enviar e obter dados do Adaptive Planning. Mais APIs usarão o formato JSON em versões futuras.
Solicitações JSON
Cada solicitação JSON requer:
- Verbo ou método HTTP.Exemplo:GET,PUTouPATCH
- Ponto de extremidade de URLSe a sua instância usa autenticação regional não baseada nos EUA, os URLs de autorização e os pontos de extremidade de API variam de acordo com a sua região. Consulte Referência: URLs de autenticação regionais.Exemplo:HTTPS://api.adaptiveplanning.com/api/rest/modeling/v1/globosales/sheet/availability
- Cabeçalho de autorizaçãoExemplo:--header 'Authorization: Basic c5RldmVjQLdsb2JvLmNabTpjaGFuZ2VtZQ=='
Verbos ou métodos HTTP
Os métodos ou verbos disponíveis variam de acordo com o serviço e o recurso:
Método | Descrição |
|---|---|
GET | Recupera uma coleção de dados ou um único objeto. |
POST | Cria uma única instância de dados com os dados especificados. |
PATCH | Atualiza parcialmente os dados existentes. |
PUT | Atualiza os dados existentes e os substitui pelos dados especificados no corpo da solicitação. |
DELETE | Exclui uma instância de dados existente. |
Ponto de extremidade de URL
Se a sua instância usa autenticação regional não baseada nos EUA, os URLs de autorização e os pontos de extremidade de API variam de acordo com a sua região. Consulte Referência: URLs de autenticação regionais.
https://api.adaptiveplanning.com/rest/<service name>/<version>/<tenant>/<resource path>
- service nameUm nome de componente, com base em funcionalidades comomodelingousecurity.
- versionA versão do serviço. Versão atual para todos os serviços:v1.
- tenantO locatário deste serviço, indicando a instância do Adaptive Planning. Usodefaultpara a instância por padrão do usuário na autorização.
- resource pathO caminho para o recurso, usando substantivos comosheeteavailability. O caminho também oferece suporte a parâmetros de consulta, como:
- sheetNamepara especificar o nome de uma planilha no Adaptive Planning.
- columnNamepara especificar o nome de uma coluna em uma planilha do Adaptive Planning.
- limitpara especificar o limite de entradas de dados de objeto incluídas em uma única resposta.
- offsetpara especificar o deslocamento para o primeiro objeto em uma coleção a ser incluído na resposta.
Exemplo:
https://api.adaptiveplanning.com/api/rest/modeling/v1/globosales/sheet/availability?sheetName=Expense Cube&columnName=Level&columnType=Level
Exemplo: solicitação POST com corpo 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 } ]'
Cobranças
Os recursos geralmente representam uma coleção de objetos de negócios de
Adaptive Planning
retornados como uma coleção JSON. A coleção pode ser usada em estruturas de desenvolvimento para criar listas dos objetos de negócios. Um objeto específico da coleção é acessado por meio de um identificador.A ordem de classificação de objetos em uma coleção é definida por
Adaptive Planning
e não é configurável.A paginação de coleções é controlada por dois parâmetros de consulta opcionais, limite e deslocamento.
Parâmetro de consulta | Descrição |
|---|---|
limit | O limite de entradas de dados de objeto incluídas em uma única resposta. O valor por padrão é 20 e o máximo é 100. |
offset | O deslocamento para o primeiro objeto em uma coleção a ser incluído na resposta. O valor por padrão é 0. |
Solicitação de amostra com limite e deslocamento
A amostra recupera uma coleção de instâncias de usuário com o
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)
Exemplo de resposta com limite e compensação
{ "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 credencial, autenticação e autorização
Todas as solicitações de API são de ação única e sem estado. O usuário deve ser autenticado em cada invocação separada, portanto, não há possibilidade de um intruso tentar seqüestrar qualquer sessão de serviço Web existente.
Autenticar um usuário em uma solicitação de API não cria uma sessão persistente para esse usuário. Cada chamada de serviço Web separada deve autenticar seu usuário separadamente.
O
Adaptive Planning
As APIs no formato JSON oferecem suporte aos métodos Basic e Token Based Authentication (TBA). Adaptive Planning
O oferece suporte a APIs REST reais no formato JSON com a autorização indicada no cabeçalho da solicitação, e não no corpo da solicitação, como as APIs XML. Consulte Formatos de mensagem de solicitação e resposta e Fazer solicitações à API do Adaptive Planning com credenciais do Workday para obter exemplos de API XML.Autenticação básica
A autenticação básica usa nome de usuário e senha codificados em base64 no cabeçalho de autenticação.
Amostra:
'Authorization': 'Basic <insert base64 encoded string>'
Exemplo:
xyz@demo.com:password
codifica para eHl6QGRlbW8uY29tOnBhc3N3b3Jk
Autenticação baseada em token (TBA)
Se você sincroniza usuários do Workday com o Adaptive Planning, deve usar métodos de autenticação baseada em token. Para obter seu token, siga as etapas em Fazer solicitações de API do Adaptive Planning com credenciais do Workday. Depois de obter o token, passe-o no cabeçalho.
Sample:'Authorization': 'Bearer <insert token aqui>'
Exemplo: '
Authorization: Bearer eyJjdHkiOiJ0ZXh0L3BsYWluIiwiYWxnIjoiSFMyNTYifQ.eyJsb2dpbl9pZCI6InN0ZXZlY0BheWdsb2JvLmNvbSIsIm5iZiI6MTU4NjEzMDA2NywibXVsdGlfdXNlIjoiMCIsImlzX2F1dGgiOiIxIiwiZXhwIjoxODg2MTMwMTg3LCJpYXQiOjE2MDM5NDYwMjEsImp0aSI6IjM0YzFkZDY2LTY2MTMtNDk0Ny05MjFhLTliZDQ2ZDVmZDkwNyJ9.FZnLHGQ3dNfpzvW-A9ILi53z6YLGNNI45Mlc-4NT3As'