Ir para o conteúdo principal
Adaptive Planning
Última atualização: 2024-05-03
Conceito: APIs no formato JSON

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
    ,
    PUT
    ou
    PATCH
  • 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.
    Exemplo:
    HTTPS://api.adaptiveplanning.com/api/rest/modeling/v1/globosales/sheet/availability
  • Cabeçalho de autorização
    Exemplo:
    --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 name
    Um nome de componente, com base em funcionalidades como
    modeling
    ou
    security
    .
  • version
    A versão do serviço. Versão atual para todos os serviços:
    v1
    .
  • tenant
    O locatário deste serviço, indicando a instância do Adaptive Planning. Uso
    default
    para a instância por padrão do usuário na autorização.
  • resource path
    O caminho para o recurso, usando substantivos como
    sheet
    e
    availability
    . O caminho também oferece suporte a parâmetros de consulta, como:
    • sheetName
      para especificar o nome de uma planilha no Adaptive Planning.
    • columnName
      para especificar o nome de uma coluna em uma planilha do Adaptive Planning.
    • limit
      para especificar o limite de entradas de dados de objeto incluídas em uma única resposta.
    • offset
      para 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'