概念: JSON 形式の API
Adaptive Planning からデータを送信および取得するために JSON 形式を使用できる Adaptive Planning REST API は限られています。今後のリリースでは、JSON 形式を使用する API が増えます。
JSON リクエスト
各 JSON リクエストには、以下が必要です。
- HTTP 動詞またはメソッド例:GET,PUT、またはPATCH
- URL エンドポイントインスタンスが米国以外の地域の認証を使用している場合、認証 URL と API エンドポイントは地域によって異なります。参照 参考: 地域認証 URL。例:HTTPS://api.adaptiveplanning.com/api/rest/modeling/v1/globosales/sheet/availability
- 認証ヘッダー例:--header 'Authorization: Basic c5RldmVjQLdsb2JvLmNabTpjaGFuZ2VtZQ=='
HTTP 動詞またはメソッド
使用可能なメソッドや動詞は、サービスやリソースによって異なります。
方法 | 説明 |
|---|---|
GET | データの集合または単一のオブジェクトを取得します。 |
POST | 指定されたデータで単一データ インスタンスを作成します。 |
PATCH | 既存のデータを部分的に更新します。 |
入力 | 既存のデータを更新し、既存のデータをリクエスト本文の指定されたデータに置き換えます。 |
DELETE | 既存のデータ インスタンスを削除します。 |
URL エンドポイント
インスタンスが米国以外の地域の認証を使用している場合、認証 URL と API エンドポイントは地域によって異なります。参照 参考: 地域認証 URL。
https://api.adaptiveplanning.com/rest/<service name>/<version>/<tenant>/<resource path>
- service nameコンポーネント名 (以下のような機能に基づく)modeling、またはsecurity。
- versionサービスのバージョン。すべてのサービスの現在のバージョン:v1。
- tenantこのサービスのテナント。Adaptive 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 コレクションとして返されました。このコレクションを開発フレームワークで使用して、ビジネス オブジェクトのリストを作成できます。コレクション内の特定のオブジェクトへのアクセスは、識別子によって行われます。コレクション内のオブジェクトのソート順は次のように設定されます。
Adaptive Planning
であり、設定できません。コレクションのページングは、2 つのオプションのクエリー パラメータ ( limit と offset) によって制御されます。
クエリー パラメータ | 説明 |
|---|---|
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 リクエストはステートレスで、単一アクションのリクエストです。ユーザーは呼び出しごとに認証される必要があるため、既存の Web サービス セッションをハイハイする不正者が存在することはあり得ません。
API リクエストでユーザーを認証しても、このユーザーの永続的なセッションは作成されません。Web サービスの呼び出しごとに、ユーザーを個別に認証する必要があります。
設定
Adaptive Planning
JSON 形式の API は、基本とトークンベースの認証 (TBA) の両方の方法をサポートします。 Adaptive Planning
JSON 形式で真の REST API をサポートし、XML API のようなリクエスト本文ではなく、リクエスト ヘッダーに認証が示されます。XML API の例については、リクエストと応答のメッセージ形式および Workday 認証情報を使用した Adaptive Planning API リクエストを参照してください 。基本認証
基本認証は、認証ヘッダーで Base64 でエンコードされたユーザー名とパスワードを使用します。
例:
'Authorization': 'Basic <insert base64 encoded string>'
例:
xyz@demo.com:password
にエンコード eHl6QGRlbW8uY29tOnBhc3N3b3Jk
トークンベースの認証 (TBA)
ユーザーを Workday から Adaptive Planning に同期させる場合、 を使用する必要があります (トークンベースの認証方法を使用)。トークンを取得するには、「Workday 認証情報を使用した Adaptive Planning API リクエストを実行する」のステップに従ってください。トークンを取得したら、ヘッダーでトークンを渡します。
例: "authorization": "Bearer <insert token Here>"
例: 「
Authorization: Bearer eyJjdHkiOiJ0ZXh0L3BsYWluIiwiYWxnIjoiSFMyNTYifQ.eyJsb2dpbl9pZCI6InN0ZXZlY0BheWdsb2JvLmNvbSIsIm5iZiI6MTU4NjEzMDA2NywibXVsdGlfdXNlIjoiMCIsImlzX2F1dGgiOiIxIiwiZXhwIjoxODg2MTMwMTg3LCJpYXQiOjE2MDM5NDYwMjEsImp0aSI6IjM0YzFkZDY2LTY2MTMtNDk0Ny05MjFhLTliZDQ2ZDVmZDkwNyJ9.FZnLHGQ3dNfpzvW-A9ILi53z6YLGNNI45Mlc-4NT3As'