개념: JSON 형식의 API
제한된 수의 Adaptive Planning REST API만 JSON 형식을 사용하여 Adaptive Planning에서 데이터를 제출하고 가져올 수 있습니다. 향후 릴리스에서는 더 많은 API에서 JSON 형식을 사용할 예정입니다.
JSON 요청
각 JSON 요청에는 다음이 필요합니다.
- HTTP Verb 또는 메서드예:GET,PUT, 또는PATCH
- URL 엔드포인트인스턴스에서 미국 이외의 지역 인증을 사용하는 경우 권한 부여 URL 및 API 엔드포인트는 지역에 따라 다릅니다. 참조 참조: 지역 인증 URL.예:HTTPS://api.adaptiveplanning.com/api/rest/modeling/v1/globosales/sheet/availability
- 권한 부여 헤더예:--header 'Authorization: Basic c5RldmVjQLdsb2JvLmNabTpjaGFuZ2VtZQ=='
HTTP 동사 또는 메서드
사용가능한 메서드 또는 Verb는 서비스 및 리소스에 따라 다릅니다.
방법 | 설명 |
|---|---|
GET | 데이터 컬렉션 또는 단일 오브젝트를 검색합니다. |
POST | 지정된 데이터를 사용하여 단일 데이터 인스턴스를 생성합니다. |
PATCH | 기존 데이터를 부분적으로 업데이트합니다. |
PUT | 기존 데이터를 업데이트하고 기존 데이터를 요청 본문의 지정된 데이터로 바꿉니다. |
DELETE | 기존 데이터 인스턴스를 삭제합니다. |
URL 엔드포인트
인스턴스에서 미국 이외의 지역 인증을 사용하는 경우 권한 부여 URL 및 API 엔드포인트는 지역에 따라 다릅니다. 참조 참조: 지역 인증 URL.
https://api.adaptiveplanning.com/rest/<service name>/<version>/<tenant>/<resource path>
- service name다음과 같은 기능을 기반으로 하는 구성요소명modeling, 또는security.
- version서비스의 버전입니다. 모든 서비스의 현재 버전:v1.
- tenantAdaptive Planning 인스턴스를 나타내는 이 서비스의 테넌트입니다. 사용default권한 부여에 포함된 사용자의 기본 인스턴스에 해당합니다.
- resource path리소스 경로(다음과 같은 명사 사용)sheet및availability. 이 경로는 다음과 같은 쿼리 매개변수도 지원합니다.
- sheetNameAdaptive Planning에서 시트명을 지정합니다.
- columnNameAdaptive Planning 시트의 열 이름을 지정합니다.
- limit단일 응답에 포함되는 오브젝트 데이터 항목의 한도를 지정합니다.
- offset응답에 포함할 컬렉션의 첫 번째 오브젝트에 대한 오프셋을 지정합니다.
예를 들어 다음과 같습니다.
https://api.adaptiveplanning.com/api/rest/modeling/v1/globosales/sheet/availability?sheetName=Expense Cube&columnName=Level&columnType=Level
예: JSON 본문이 있는 POST 요청
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 } ]'
수금
리소스는 일반적으로 다음의 비즈니스 오브젝트 모음을 나타냅니다.
Adaptive Planning
JSON 컬렉션으로 반환됩니다. 이 컬렉션은 개발 프레임워크에서 비즈니스 오브젝트 목록을 작성하는 데 사용할 수 있습니다. 컬렉션의 특정 오브젝트는 ID를 통해 액세스됩니다.컬렉션의 오브젝트 정렬 순서는 다음과 같이 설정됩니다.
Adaptive Planning
이며, 구성할 수 없습니다.컬렉션의 페이징은 2개의 옵션 쿼리 매개변수인 한도 및 오프셋으로 제어됩니다.
쿼리 매개변수 | 설명 |
|---|---|
limit | 단일 응답에 포함된 오브젝트 데이터 항목의 한도입니다. 기본값은 20이고 최대값은 100입니다. |
offset | 응답에 포함할 컬렉션의 첫 번째 오브젝트에 대한 오프셋입니다. 기본값은 0입니다. |
한도 및 오프셋이 있는 샘플 요청
이 샘플은 다음을 사용하여 사용자 인스턴스 컬렉션을 검색합니다.
instanceCode
- 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)
한도 및 오프셋이 있는 샘플 응답
{ "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
자격증명 유형, 인증 및 권한 부여
모든 API 요청은 상태 비저장 단일 액션 요청입니다. 사용자는 각 개별 호출에서 인증되어야 하므로, 침입자가 기존 웹서비스 세션을 가로채려고 할 가능성이 없습니다.
API 요청에서 사용자를 인증해도 이 사용자에 대한 영구 세션은 생성되지 않습니다. 각각의 개별 웹서비스 호출은 해당 사용자를 별도로 인증해야 합니다.
다음
Adaptive Planning
JSON 형식의 API는 기본 및 토큰 기반 인증(TBA) 방법을 모두 지원합니다. Adaptive Planning
에서는 XML API와 같은 요청 본문이 아닌 요청 헤더에 권한 부여가 표시된 JSON 형식의 실제 REST API를 지원합니다. 요청 및 응답 메시지 형식 및Make Adaptive Planning API Requests with Workday Credentialsfor XML API의 예를 참조하십시오.기본 인증
기본 인증은 인증 헤더에 Base64로 인코딩된 사용자명과 비밀번호를 사용합니다.
샘플:
'Authorization': 'Basic <insert base64 encoded string>'
예:
xyz@demo.com:password
인코딩 대상 eHl6QGRlbW8uY29tOnBhc3N3b3Jk
토큰 기반 인증(TBA)
사용자를 Workday에서 Adaptive Planning으로 동기화하는 경우에는 토큰 기반 인증 방법을 사용해야 합니다. 토큰을 가져오려면Make Adaptive Planning API Requests with Workday Credentials의 단계를 따릅니다. 토큰을 가져온 후 헤더에 전달합니다.
Sample: 'Authorization': 'Bearer <insert token here>'
예: '
Authorization: Bearer eyJjdHkiOiJ0ZXh0L3BsYWluIiwiYWxnIjoiSFMyNTYifQ.eyJsb2dpbl9pZCI6InN0ZXZlY0BheWdsb2JvLmNvbSIsIm5iZiI6MTU4NjEzMDA2NywibXVsdGlfdXNlIjoiMCIsImlzX2F1dGgiOiIxIiwiZXhwIjoxODg2MTMwMTg3LCJpYXQiOjE2MDM5NDYwMjEsImp0aSI6IjM0YzFkZDY2LTY2MTMtNDk0Ny05MjFhLTliZDQ2ZDVmZDkwNyJ9.FZnLHGQ3dNfpzvW-A9ILi53z6YLGNNI45Mlc-4NT3As'