プロセス・インスタンスの作成
/ic/api/process/v1/processes
ノート:
- 同期プロセスのプロセス・インスタンスの作成はサポートされていません。 非同期プロセス・インスタンスの作成のみがサポートされています。
- システムがオーバーロードされている場合、プロセス・インスタンス作成待機APIはconversationIdのみを返します。 processIdは戻しません。 processIdを取得しない場合は、APIレスポンスでconversationIdを確認できます。 conversationIdを使用して、API GET /processes/{id}, (idはconversationId)を使用してprocessIdをフェッチできます。 「プロセス・インスタンスの取得」を参照してください。
リクエスト
- application/json
- action: string
アクション - 発行、保存、破棄
- operation: string
操作
- processDefId: string
processDefId
- serviceName: string
サービス名
レスポンス
- application/json
200レスポンス
object- conversationId: string
- createdBy: string
- createdDate: string
- dueDate: string
- expirationDate: string
- href: string(uri)
- isConversationEnabledFlag: boolean
- isDocsEnabledFlag: boolean
- levels: integer(int32)
- links: array links
- ownedBy: string
- priority: integer(int32)
- processDefId: string
- processDN: string
- processId: string
- processName: string
- processNumber: integer(int32)
- state: string
- title: string
400レスポンス
500レスポンス
例
次の例では、RESTリソースでPOSTリクエストを発行することによって、プロセス・インスタンスを作成する方法を示します。
リクエストの送信
https://example.com/ic/api/process/v1/processes
説明
-
example.comは、Oracle Integrationが実行されているホストです。
例: メッセージ・ベース・プロセスのための新しいプロセス・インスタンスの作成
次の例は、POSTメソッドを使用してJSON形式でリクエストを送信する方法を示しています。
この例では、プロセス定義バージョン1に基づいて新しいプロセス・インスタンスを作成します。 default~TravelReq!1~TravelApprovalで1をノートします。
POSTリクエスト:
https://example.com/ic/api/process/v1/processes リクエスト本文:
{
"processDefId":"default~TravelReq!1~TravelApproval",
"serviceName":"TravelApproval.service",
"operation":"start",
"action":"Submit",
"params":{"firstName":"John", "lastName":"Doe"}
}例: 最新のアクティブ化されたバージョンからの新規プロセス・インスタンスの作成
最新のアクティブ化されたプロセス定義のバージョンに基づいて新しいプロセス・インスタンスを作成する場合は、processDefIdにバージョン番号を含めないでください。
POSTリクエスト:
https://example.com/ic/api/process/v1/processes リクエスト本文:
{
"processDefId":"default~TravelReq!~TravelApproval",
"serviceName":"TravelApproval.service",
"operation":"start",
"action":"Submit",
"params":{"firstName":"John", "lastName":"Doe"}
}例: Webフォーム(フォームベース・プロセス開始)からの新規プロセス・インスタンスの作成
次の例は、webフォームのPOSTメソッドを使用して、JSON形式でリクエストを送信する方法を示しています。
"payload"属性は、フォーム・データの移入に使用されます。 MessageInputリクエスト・オブジェクトは、"payload"または"params"を受け入れます。 payloadを使用する場合、引数またはパラメータ名は指定しません。 "payload"の使用時には、formArgを使用しないでください。
例1: webフォームから新しいプロセス・インスタンスを作成し、リクエスト本文に"payload"属性を使用してフォーム・データを移入
"payload"属性値は文字列形式であるため、引用符をエスケープする必要があります。
この例では、プロセス定義バージョン1に基づいて新しいプロセス・インスタンスを作成します。
POSTリクエスト:
https://example.com/ic/api/process/v1/processes リクエスト本文:
{"action":"submit","operation":"start","payload":"{\"travelerDetails.name\":\"John Doe\",\"travelerDetails.age\":11,\"travelerDetails.address.line1\":\"401 Island Parkway\",\"travelerDetails.address.zip\":94065}","processDefId":"oracleinternalpcs~TravelApproval_user1!1~Process","serviceName":"Process.service"}例2: webフォームから新しいプロセス・インスタンスを作成し、リクエスト本文に"params"属性を指定してパラメータを渡します
この例では、プロセス定義バージョン1に基づいて新しいプロセス・インスタンスを作成します。
POSTリクエスト:
https://example.com/ic/api/process/v1/processes リクエスト本文:
{"action":"submit","operation":"start","params":{"formArg" : {"travelerDetails": {"name" : "John Doe", "age" : 12 , "address" : {"line1" : "401 Island Parkway", "zip" : 94065}}}},"processDefId":"oracleinternalpcs~TravelApproval_user1!1~Process","serviceName":"Process.service"}例3: webフォームから新しいプロセス・インスタンスを作成し、リクエストに問合せパラメータを渡します
この例では、processDefId、serviceName、operationおよびactionパラメータが、リクエスト内で問合せパラメータとして送信されます。
プロセス定義バージョン1に基づいて新しいプロセス・インスタンスを作成しています。
POSTリクエスト:
https://example.com /ic/api/process/v1/processes?processDefId=default~TravelApplication!1~TravelProcess&serviceName=Process.service&operation=start&action=Submit リクエスト本文:
{"formArg" : {"travelerDetails": {"name" : "John Doe", "age" : 12 , "address" : {"line1" : "401 Island Parkway ", "zip" : 94065}}}}レスポンス・ヘッダーの例
Status Code: 200 OK
レスポンス本文の例
{
"levels": 0,
"links": [
{
"href": "http://example.com:7001/ic/api/process/v1/processes/20017",
"length": 0,
"rel": "self"
},
{
"href": "http://example.com:7001/ic/api/process/v1/processes/20017/audit",
"length": 0,
"rel": "audit"
}
],
"title": "Instance #20017 of Travel Approval",
"processId": "20017",
"processDefId": "default/TravelReq!1/TravelApproval",
"processName": "TravelApproval",
"priority": 0,
"state": "OPEN",
"owner": "TravelReq.ProcessOwner",
"creator": "jsmith"
}conversationIdおよびprocessIdを含まないレスポンス本文の例
{
"levels": 0,
"links": [
{
"href": "https:// example.com/ic/api/process/v1/processes/urn:62b97a6d-6151-11eb-bdcb-02001701ffed",
"length": 0,
"rel": "self"
},
{
"href": "https://exmaple.com/ic/api/process/v1/processes/urn:62b97a6d-6151-11eb-bdcb-02001701ffed/audit",
"length": 0,
"rel": "audit"
}
],
"processDefId": "default/TravelReq!1/TravelApproval",
"processName": "TravelApproval",
"conversationId": "urn:62b97a6d-6151-11eb-bdcb-02001701ffed"
}