42 RESTfulサービスを介したOracle Sales Cloudデータへのアクセス

Oracle Sales Cloudには、標準オブジェクト・データおよびカスタム・オブジェクト・データにアクセスしたり外部アプリケーションと統合したりするために使用できる、RESTful APIが複数用意されています。RESTfulの直接メソッド・コールは、HTTPプロトコルを介して正しく構造化されたURLを使用して行われます。

各APIには、標準のOracle Sales Cloudオブジェクトが含まれており、各オブジェクトにはRESTリソースまたはリソース・コレクションが関連付けられています。たとえば、RESTful APIでは、ポテンシャル・セールスに関する情報を追跡するためにOpportunitiesリソース・エンドポイントが使用されます。ただし、Oracle Sales Cloud RESTful Webサービスを使用する前に、アクセスを確立するためのセキュリティ要件を考慮するだけでなく、使用するWebサービスとともに、対応するサポート対象のメソッドや予想されるペイロード構造も特定する必要があります。

Oracle Sales Cloud RESTful API内のリソースについて

Oracle Sales Cloudには、標準オブジェクトとカスタム・オブジェクト用のRESTリソースのコレクションが用意されています。

RESTful APIにおける重要なコンセプトは、リソースです。リソースとは、タイプ(Opportunitiesなど)、関連データ、他のリソースとの関係、およびリソースに対して動作する一連のメソッドを持つオブジェクトです。これらのリソースは、次が含まれる階層形式で編成されています。

  • ルート・リソース: 商談やリードなどの論理オブジェクトに対応しています。

  • サブリソース: これらは、親リソースに属するリリースです(たとえば、商談に対する担当者など)。

  • 値リスト・リソース: フィールドに値を設定するときに使用できる有効な値のリスト。参照(静的リスト)または動的(コンテキスト・ベース)の2つのタイプがあります。

Oracle Sales Cloud RESTful APIには、単一リソースまたはコレクション・リソースという2つのタイプのリソースがあります。単一リソースは、従業員や購買オーダーなどの単一エンティティを表すことができます。一方、コレクション・リソースは、ページ付け可能な従業員のリストや購買オーダーのリストのように、より包括的である場合があります。

カスタム・オブジェクト用のRESTのサポートについて

Oracle Sales Cloudには、多くのビジネス・ニーズやシナリオに対応した標準オブジェクトがあります。ただし、独特のビジネス・ニーズがある場合は、標準オブジェクト以外にも、アプリケーション・コンポーザ・ツールを使用して、最上位のカスタム・オブジェクトと子カスタム・オブジェクトの両方を作成することができます。

アプリケーション・コンポーザは、(開発者のみでなく)ビジネス・アナリストや管理者がOracle Sales Cloudをカスタマイズするために使用できるブラウザ・ベースのツールです。このツールを使用することにより、以前は開発者によってのみ行われたデータ・モデルのタイプの変更を行うことができます。アプリケーション・コンポーザ・ツールでは、オンザフライ方式で変更を行うと、アプリケーションに再度サインインする必要なく、これらの変更が即時使用可能になります。これには、Oracle Sales Cloud RESTful APIに追加できるカスタム・オブジェクトの作成が含まれます。

「Oracle Sales Cloudアプリケーション・コンポーザ・ユーティリティの概要」を参照してください。

describeエンドポイントを使用したRESTfulリソースの検索

様々なOracle Sales Cloud RESTful APIに関する特定の詳細は、リソース情報と補足メタデータが含まれるJSONオブジェクトを返すHTTP GETリクエストを送信することによって取得できます。

特定のバージョンのAPIに関する情報を取得する手順:
  1. 営業管理者としてOracle Sales Cloudにサインインします。
  2. サインインした後に表示されるURLには、Oracle Sales Cloudインスタンスのサーバー名とポート番号が表示されます。
    たとえば、URLが http://>crm_server:PortNumber</customer/faces/CrmFusionHomeである場合、サーバー名は crm_server、ポート番号は PortNumberです。

    残りの手順で使用するサーバー名とポート番号を書き留めます。

  3. WebブラウザでAPIリソースのURLを指定し、Oracle Sales CloudインスタンスのAPIメタデータを取得します。

    https://>crm_server:PortNumber</salesApi/resources/

    salesAPIは、アプリケーション・コンテナのAPI名です。サーバーからの応答により、オブジェクト・アイテムの配列が含まれるJSONオブジェクトが返されます。この場合、各アイテムは、特定のバージョンのAPIを表します。たとえば、1つのアイテムに関する情報が含まれる結果の配列の一部を次に示します。

    { "version" : "11.1.10", "isLatest" : true, "links" : [ { "rel" : "self", "href" : " https://>crm_server:PortNumber</salesApi/resources/11.1.10", "name" : "self", "kind" : "item" }, { "rel" : "canonical", "href" : " https://>crm_server:PortNumber</salesApi/resources/11.1.10", "name" : "canonical", "kind" : "item" }, { "rel" : "predecessor-version", "href" : " https://>crm_server:PortNumber<rsalesApi/resources/11.1.9", "name" : "predecessor-version", "kind" : "item" }, { "rel" : "describe", "href" : " https://>crm_server:PortNumber</salesApi/resources/11.1.10/describe", "name" : "describe", "kind" : "describe" } ] }
  4. 特定のAPIバージョンによって公開されるオブジェクトをすべて表示するには、目的のバージョンをURL内に指定して、そのdescribeエンドポイントにアクセスします。

    https://>crm_server:PortNumber</salesApi/resources/11.1.10/describe

    または、latestのAPIバージョンに関する情報を取得することもできます。

    https://>crm_server:PortNumber</salesApi/resources/latest/describe

    これにより、APIでサポートされるOracle Sales Cloudオブジェクトの最新のバージョンとこれらの子オブジェクトが含まれる長いJSONオブジェクト、サポートされるすべてのメソッド、パラメータ、戻り値に関する包括的な説明、およびオブジェクト・リソースURIが返されます。

カスタム・オブジェクトに関連付けられたRESTfulリソースの検索

Oracle Sales Cloudのカスタム・オブジェクトのリソースURIを検索するには、次の手順に従います。

  1. アプリケーション・コンポーザにナビゲートします(営業管理者、CRMアプリケーション管理者、またはアプリケーション実装コンサルタントとしてログインしている必要があります)。
  2. 「カスタム・オブジェクト」をクリックし、「オブジェクト」表内のカスタム・オブジェクトのリストを表示します。
  3. 特定のオブジェクトのURIを表示するには、「RESTリソース」列内で、そのオブジェクトに対応する「サービス」リンクをクリックします。

    ヒント:

    ブラウザのアドレス・バーからURIを切り取って貼り付けることができます。

  4. (オプション)特定のカスタム・オブジェクトの説明を表示するには、「RESTリソース」列内で、そのオブジェクトに対応する「説明」リンクをクリックします。

    注意:

    URIの末尾に/describeを追加すると、カスタム・オブジェクトの説明を取得できます。

RESTful Webサービスのサービス・エンドポイントの取得

Oracle Sales Cloud RESTful Webサービス・エンドポイントの名前は、API URLでキーワードdescribeのかわりにサービス名を指定することによって推定できます。

始めに、次の手順に従います。
  1. ブラウザを開き、エンドポイントURLにアクセスします。初めて開く場合、Oracle Sales Cloudのユーザー資格証明を入力するよう求められます。
    たとえば、最新のAPIバージョンのOpportunitiesサービス・エンドポイントにアクセスする場合、URLは以下のとおりです。

    https://>crm_server:PortNumber</salesApi/resources/latest/opportunities

  2. (オプション)特定のリソースに関する追加情報を取得するには、リソースのdescribe URLを使用して、フィールド、実行可能なアクション、子オブジェクト、および値リスト・リソースが含まれる追加メタデータを取得します。
    たとえば、Opportunitiesサービス・エンドポイントの場合、describe URLは、次のとおりです。

    https://>crm_server:PortNumber</salesApi/resources/latest/opportunities/describe

    Oracle Sales Cloudリリース10には、次のRESTful Webサービス・エンドポイントが含まれています。
    URL
    https://>crm_server:PortNumber</crmCommonApi/resources/latest/accounts
    https://>crm_server:PortNumber</customerApi/resources/latest/activities
    https://>crm_server:PortNumber</salesApi/resources/latest/competitors
    https://>crm_server:PortNumber</crmCommonApi/resources/latest/contacts
    https://>crm_server:PortNumber</crmCommonApi/resources/latest/households
    https://>crm_server:PortNumber</salesApi/resources/latest/leads
    https://>crm_server:PortNumber</salesApi/resources/latest/opportunities
    https://>crm_server:PortNumber</salesApi/resources/latest/partners
    https://>crm_server:PortNumber</salesApi/resources/latest/programEnrollments
    https://>crm_server:PortNumber</crmCommonApi/resources/latest/resources
    https://>crm_server:PortNumber</crmCommonApi/resources/latest/salesOrders
    https://>crm_server:PortNumber</salesApi/resources/latest/sourcecodes
    https://>crm_server:PortNumber</salesApi/resources/latest/territoryForecasts

    注意:

    API名は、リソース・オブジェクトが属するOracle Sales Cloudアプリケーション・コンテナに応じて変更されます。
    完全なOracle Sales Cloud RESTful APIをレビューするには、「Oracle Sales Cloudリリース11のREST API」を参照してください。

REST操作およびペイロード構造について

標準の各Oracle Sales Cloudオブジェクト用のRESTful Webサービスには、複数の作成、読取り、更新および削除(CRUD)操作が用意されています。

URLを介して単一のリソースまたはリソース・コレクションと対話するために次の標準メソッドを実行できます。

メソッド 単一のリソースに使用可能 リソース・コレクションに使用可能
Get Y N
Post N Y
Patch Y N
Delete Y N

Getメソッドについて

このメソッドを使用して、情報を問い合わせて取得します。ただし、単一のリソースで検索の微調整や結果の絞り込みのために問合せで使用するパラメータは、リソース・コレクションで使用するものとは異なります。

単一のリソースとコレクション・リソースの両方のパラメータ

単一のリソースとコレクション・リソースの問合せ用のメソッドでは、次のパラメータを使用します。

パラメータ 形式 説明
expand

expand=<childResource1>,<childResource2>...

または

expand=all

子を含む親リソースを返します。デフォルトでは、子を返しません。
fields fields=<FieldName1>,<FieldName2>... 情報が必要とされる特定のフィールドのみを選択します。
onlyData

onlyData=true

または

onlyData=false

データのみを取得し、リソースのURLは取得しません。デフォルトでは、すべてのリソースの子URLが返されます。

コレクション・リソースのパラメータ

コレクション・リソース用のGETメソッドは、上記のパラメータおよび次のパラメータを使用します。

パラメータ 形式 説明
limit

limit=<Integer>

サーバーによって返されるアイテムの最大数を指定する0より大きい整数。制限値が指定されない場合、サーバーはデフォルトの制限値を使用します。
offset offset=<Integer> 返される最初のアイテムの索引を指定する整数値。オフセット索引は0から開始されます。
q

q=<condition1>;<condition2>;…

コレクションで返されるアイテムを制限するフィルタ条件を指定します。この問合せパラメータの値には、「;」で区切られた1つ以上の式が含まれます。たとえば、q=deptno>=10 and <=30;loc!=NYなどです。

サポートされている演算子:

>

<

>=

<=

!=

AND

OR

=

LIKE

特殊文字:

  • リテラル用の二重引用符または一重引用符: “literal value 1”または‘literal value2’

  • 文字をエスケープするためのバック・スラッシュ: \

  • ワイルドカード用のアスタリスク: *

totalResults

totalResults=true

または

totalResults=false

q問合せパラメータと一致するアイテムの合計数を返すかどうかを指定するブール値。
orderBy

orderBy=<field1:asc>,<field2:desc>.

レスポンス・ペイロードで返されるアイテムの順序を指定します。問合せパラメータ値は、カンマ区切りのフィールド名の文字列であり、オプションで各文字列の後ろにコロンおよびキーワードascまたはdescが付きます。

指定しない場合、アイテムが昇順で返されます。

finder

finder=FinderName;<attr1>=<val1>,<attr2>=<value2>

独自の特殊パラメータを持つ事前定義済の「問合せ」を使用します。

たとえば、Opportunitiesリソースには、MyOpportunitiesFinderと呼ばれるfinder関数があり、この関数には、値をAutoとして設定できるNameパラメータがあります。このコールは、現在のユーザーが所有し、名前の先頭がAutoであるすべての商談を取得します。

dependency

dependency=<attr1>=<val1>

カスケード値リスト・リソースに使用されます。たとえば、LocationリソースにStateフィールドがある場合、これらの値は、特定のCountry (場所)のStateのリストを返す別のStatesリソースから導出されます。たとえば、LocationがUS、StateがCAのような場合です。Statesリソースには、USのすべてのStatesのリストが含まれますが、Webページ内のユーザーがロケールをBrazilに変更した場合、ブラジルのすべての州を取得する方法は、次のようなコールを使用したものになります。

States?dependency=Country=BR

Postメソッドについて

このメソッドを使用して、新しいアイテムを作成します。リクエスト・メディア・タイプのヘッダーは、次のとおりです。

application/vnd.oracle.adf.resourceitem+json

たとえば、Opportunitiesリソースの下に新しい商談を作成するには、リクエストが新しい Opportunity名パラメータをJSONオブジェクトに渡します。

{ "Name" : "New Opportunity Name" }

POSTリクエストから返されるJSONオブジェクトのレスポンス本体は、次のようになります。

{ BudgetAvailableDate: null BudgetedFlag: false PrimaryOrganizationId: 204 ChampionFlag: false CreatedBy: "SALES_ADMIN" CreationDate: "2015-06-04T03:08:27-07:00" CurrencyCode: "USD" SalesMethodId: 100000012430001 SalesStageId: 100000012430007 Name: "New Opportunity Name" OptyId: 300100111705686 OptyNumber: "CDRM_332708" OwnerResourcePartyId: 3807 StatusCode: "OPEN" PrimaryRevenueId: 300100111705687 SalesMethod: "Standard Sales Process" SalesStage: "01 - Qualification" DescriptionText: "Looking for the Right Contacts, Characteristics, Determining the Need, Budget and Sponsor" AverageDaysAtStage: 30 MaximumDaysInStage: 800 PhaseCd: "QUALIFICATION-DISCOVERY" QuotaFactor: 3 RcmndWinProb: 0 StageStatusCd: "OPEN" StgOrder: 1 EffectiveDate: "2015-06-24" Revenue: 0 WinProb: 0 PartyName1: "Charles Taylor" DownsideAmount: 0 UpsideAmount: 0 EmailAddress: "firstname lastname@orcl.com" ExpectAmount: 0 ForecastOverrideCode: "CRITERIA" SalesChannelCd: "ZPM_DIRECT_CHANNEL_TYPES" … }

Patchメソッドについて

このメソッドを使用して、リソースの部分的な更新を行います。リクエス本体に含まれるフィールドのみが更新されます。

リクエスト・メディア・タイプは、次のとおりです。

application/vnd.oracle.adf.resourceitem+json

たとえば、既存の商談Oppurtunitiesリソースから更新するには、HTTP PATCHリクエストが次のJSONオブジェクトをリクエスト本体として渡します。

{ "Name": "Opportunity Name Updated" }

このリクエストからのレスポンスは、次のようなJSONオブジェクトになります。

{ BudgetAvailableDate: null BudgetedFlag: false PrimaryOrganizationId: 204 ChampionFlag: false CreatedBy: "SALES_ADMIN" CreationDate: "2015-06-04T03:08:27-07:00" CurrencyCode: "USD" SalesMethodId: 100000012430001 SalesStageId: 100000012430007 Name: "New Opportunity Name" OptyId: 300100111705686 OptyNumber: "CDRM_332708" OwnerResourcePartyId: 3807 StatusCode: "OPEN" PrimaryRevenueId: 300100111705687 SalesMethod: "Standard Sales Process" SalesStage: "01 - Qualification" DescriptionText: "Looking for the Right Contacts, Characteristics, Determining the Need, Budget and Sponsor" AverageDaysAtStage: 30 MaximumDaysInStage: 800 PhaseCd: "QUALIFICATION-DISCOVERY" QuotaFactor: 3 RcmndWinProb: 0 StageStatusCd: "OPEN" StgOrder: 1 EffectiveDate: "2015-06-24" Revenue: 0 WinProb: 0 PartyName1: "Charles Taylor" DownsideAmount: 0 UpsideAmount: 0 EmailAddress: "firstname lastname@orcl.com" ExpectAmount: 0 ForecastOverrideCode: "CRITERIA" SalesChannelCd: "ZPM_DIRECT_CHANNEL_TYPES" … }

Deleteメソッドについて

このメソッドを使用して、リソースを削除します。これには、リクエスト本体は必要ありません。

たとえば、Opportunitiesリソースから商談オブジェクトを削除するには、削除対象の子OpportunityリソースのURIに対して、パラメータを渡さずにDELETEリクエストを直接実行します。

https://<crm_server:PortNumber>/salesApi/resources/latest/opportunities/<OpportunityNumber>

カスタム・アクション・メソッドについて

場合によっては、CRUD標準に当てはまらないカスタム・アクションをリソースが公開します。カスタム・アクションは常に、(単一のリソースとリソース・コレクションの両方において) POSTを使用して起動され、そのリクエスト・メディア・タイプは次のとおりです。

application/vnd.oracle.adf.action+json

レスポンス・メディア・タイプは、次のとおりです。

application/vnd.oracle.adf.actionresult+json

たとえば、Oracle Sales Cloudでは、https://<crm_server:portNumber>/salesApi/resources/latest/describe/leads/の下のleadsリソースには、リードを商談に変換する、convertLeadToOptyと呼ばれるカスタム・アクションがあります。

{ "name" : "convertLeadToOpty", "parameters" : [ { "name" : "leadId", "type" : "number", "mandatory" : false          } ], "resultType" : "string", "method" : "POST", "requestType" : [ "application/vnd.oracle.adf.action+json" ], "responseType" : [ "application/json", "application/vnd.oracle.adf.actionresult+json" ] },

カスタム・アクションは、特定の目標を達成するための一連のステップ、プロセス、または各種CRUD操作の組合せであると考えてください。上記の例では、カスタム・アクションのリクエスト本体は、カスタム・アクション名(convertLeadToOpty)になるname、およびオプションでカスタム・アクションの入力パラメータの配列(leadId)を渡す必要があります。

通常、POSTリクエストのJSON本体には、次が含まれます。

{ "$schema": "http://json-schema.org/draft-04/schema#", "type": "object", "title": "Action execution representation.", "description": "Represents the action execution and its parameters.", "properties": { "name": { "type": "string", "description": "Action name."}, "parameters": { "type": "array", "description": "Parameter name/value pair.", } }, "required": [ "name" ] }

JSONレスポンス・オブジェクトには、resultsフィールド内のカスタム・アクション・メソッドの結果が保持されています。

バッチ・サポートについて

パフォーマンスを向上させるために、partsという名前のフィールドが含まれるJSONオブジェクトをオブジェクトの配列として送信することにより、複数の操作を単一のHTTPリクエストに結合できます。配列内の各オブジェクトには、一意のID、リソースへの相対パス、操作、およびオプションのペイロードが含まれます。

HTTPリクエストのJSONスキーマは、次のとおりです。

{ "$schema": "http://json-schema.org/draft-04/schema#", "type": "object", "title": "Batch execution", "description": "Group multiple requests together ('part').", "definitions": { "Part": { "type": "object", "allOf": [ { "properties": { "id": { "type": "string", "description": "An identification provided by the client to distinguish each part provided in the batch request."}, "path": { "type": "string", "description": "Resource's location."}, "operation": { "type": "string", "enum": [ "get", "create", "update", "replace", "delete" ], "description": "The operation that will be performed."}, "preconditionSucceeded": { "type": "boolean", "description": "This attribute is set in the batch response only when ifMatch or ifNoneMatch are provided in the request.It will be 'true' if the precondition (ifMatch/ifNoneMatch) was satisfied, otherwise 'false'."}, "payload": { "oneOf": [ { "$ref": "resource-item.json", "description": "The payload that will be used in the operation.Example: a resource instance should be provided in order to execute a 'create'."}, { "type": "null" } ] } }, "required": [ "id", "path", "operation" ] } ], "anyOf": [ { "properties": { "ifMatch": { "type": "string", "description": "This attribute is analogous to the If-Match header.It represents a precondition to execute this operation.The value can be null (same effect of 'If- Match: *') or an array of resource versions."} } }, { "properties": { "ifNoneMatch": { "type": "string", "description": "This attribute is analogous to the If-None-Match header.It represents a precondition to execute this operation.The value can be null (same effect of 'If-None-Match: *') or an array of resource versions."} } } ], "description": "Represents a request."} }, "properties": { "parts": { "type": "array", "items": { "$ref": "#/definitions/Part" }, "description": "Array that represents multiple requests."} }, "required": [ "parts" ] }

たとえば、次のリクエストの場合、既存の従業員をフェッチし、別の従業員を更新します。

POST /myapi/resources/latest/hremployees HTTP/1.1 Host: example.oracle.com Content-type:application/vnd.oracle.adf.batch+json { "parts": [ { "id": "part1", "path": "/latest/hremployees/101", "operation": "get" }, { "id": "part2", "path": "/latest/hremployees/102", "operation": "update", "payload": { "Salary": 18000 } } ] }

以前のリクエストのレスポンスでは、リクエストと同じメディア・タイプを使用し、次のようなJSONオブジェクトを返します。

{"parts":[ { "id":"part1", "path":"/latest/hremployees/101", "operation":"get", "payload" : { "EmployeeId" : 101 … }, { "id" : "part2", "path" : "/latest/hremployees/102", "operation" : "update", "payload" : { "EmployeeId" : 102, } ]}

Oracle Sales Cloud RESTful Webサービス・リクエストのテスト

RESTful APIをテストし、必要なデータを取得するには、cURLコマンド・ライン・ツールを使用して、サポートされているプロトコル(HTTPやHTTPSなど)の1つを使用してサーバーとデータをやり取りできます。

この例では、cURLツールを使用してRESTful APIにアクセスします。
  1. たとえば、次のような有効なREST URL (エンドポイント)があることを確認します。

    https://<crm_server:PortNumber>/crmCommonApi/resources/latest/accounts

  2. セキュリティ資格証明を手元に用意しておきます。
  3. cURLツールがインストールされていることを確認してください。そうでない場合は、次のようにします。
    1. ブラウザで、cURLのホーム・ページ(http://curl.haxx.se/download.html)にナビゲートし、左側のナビゲーション・メニューの「Download」をクリックします。
    2. 「cURL Releases and Downloads」ページで、オペレーティング・システムに応じたSSL対応バージョンのcURLソフトウェアを探します。ZIPファイルをダウンロードするリンクをクリックし、ソフトウェアをインストールします。
    3. 「cURL CA Certs」ページ(http://curl.haxx.se/docs/caextract.html )に移動し、ca-bundle.crt SSL CA証明書バンドルを、cURLをインストールしたフォルダにダウンロードします。
    4. コマンド・ウィンドウを開いて、cURLをインストールしたディレクトリにナビゲートし、cURL環境変数CURL_CA_BUNDLEをSSL認証局*CA証明書バンドルの場所に設定します。次に例を示します。
      C:\curl> set CURL_CA_BUNDLE=ca-bundle.crt

      これで、cURLを使用する準備が整いました。

  4. cURLツールを使用して、リソースに対してHTTPリクエストを発行します。
    $ curl –k –u <userName> https://<crm_server:PortNumber>/crmCommonApi/resources/latest/accounts
  5. 次に示すような内容のレスポンスを予測できます。
    { "items" : [ { "PartyId" : 300100010648746, "PartyNumber" : "CDRM_2260", "SourceSystem" : null, "SourceSystemReferenceValue" : null, "OrganizationName" : "DLAKWRVBBU", "UniqueNameSuffix" : "US)", "PartyUniqueName" : "DLAKWRVBBU US)", "Type" : "ZCA_CUSTOMER", "OwnerPartyId" : 100010025532672, "OwnerPartyNumber" : "100010025532672", "OwnerEmailAddress" : "sendmail-test-discard@oracle.com", ...}, { ...} ], "count" : 25, "hasMore" : true, "limit" : 25, "offset" : 0, "links" : [ { "rel" : "self", "href" : "https://host:port/crmCommonApi/resources/latest/accounts", "name" : "accounts", "kind" : "collection" } ] }
  6. レスポンス本体で、各リソースに対するリンクを確認でき、これらには、リソース上で実行できるアクションが含まれています。
  7. (オプション) /describe URIを使用して、次のようなリソースのメタデータを取得できます。
    $ curl –k –u <userName> https://<crm_server:PortNumber>/crmCommonApi/resources/latest/accounts/describe

    次のような内容が返されます。

    { "Resources" : { "accounts" : { "discrColumnType" : false, "title" : "Sales Cloud Account SDO", "attributes" : [ { "name" : "PartyId", "type" : "integer", "updatable" : false, "mandatory" : true, "queryable" : true, "precision" : 18, "properties" : { "fnd:GLOBALLY_UNIQUE" : "true" } }, { "name" : "PartyNumber", "type" : "string", "updatable" : true, "mandatory" : true, "queryable" : true, "precision" : 30, "maxLength" : "30", "properties" : { "DISPLAYWIDTH" : "40" } }, { "name" : "SourceSystem", "type" : "string", "updatable" : true, "mandatory" : false, "queryable" : true }, { ...], "links" : [ { "rel" : "self", "href" : "https://host:port/crmCommonApi/latest/latest/accounts", "name" : "self", "kind" : "collection" } ], "actions" : [ { "name" : "get", "method" : "GET", "responseType" : [ "application/json", "application/vnd.oracle.adf.resourcecollection+json" ] }, { "name" : "create", "method" : "POST", "requestType" : [ "application/vnd.oracle.adf.resourceitem+json" ], "responseType" : [ "application/json", "application/vnd.oracle.adf.resourceitem+json" ] } ] } ...

    メタデータから、/accountsリソースに対してPOSTコマンドを発行してリソースを作成できることを確認できます。