バンドルの更新
バンドルのサービス予定を追加または削除して既存のバンドルのサービス予定を更新します。このリソースはバンドル ID とサービス予定 ID を受け入れます。要求を送信するときは、サービス予定に対して add または remove のいずれか 1 つのアクションのみを実行できます。サービス予定を追加および削除する必要がある場合は、それらのアクションを 2 つの別々の要求で実行します。このエンドポイントは、Salesforce API のバージョン 54.0 以降で使用できます。URI
- URI
-
host/bundleflow/api/v1.0/bundle/{ID}
ホストを取得する方法:
String host = BundleLogic.getBundlerFalconEnvironment();
- 形式
- JSON
- HTTP メソッド
- PATCH
- 認証
- Authorization: Bearer token
- ヘッダー
- sf_api_version — Salesforce API のバージョン。最小バージョンは 53.0 です。
- Authorization — 認証トークン。
- Content-Type — ファイル形式。有効な値は JSON です。
- Referer — 組織のドメイン URL。
- パラメータ
-
パラメータ 説明 ID バンドルの一意の ID。
リクエストボディ
プロパティ
| 項目 | 型 | 説明 | ||
|---|---|---|---|---|
| user | String | 省略可能。要求を送信しているユーザのユーザ名。 | ||
| initiate | String | バンドル要求の種別。 有効な値: manual |
||
| saRequestPayloads | Array | このバンドルの更新対象のサービス予定の詳細。 | ||
| serviceAppointmentId | String | サービス予定の ID。 | ||
| action | String | このサービス予定に対して実行されるバンドルアクション。要求ではすべてのサービス予定の値を同じにする必要があります。 有効な値: add または remove |
||
例
JSON の例
次の例は、2 つのサービス予定をバンドルに追加する手動要求を示しています。
1{
2 "user":"Misha",
3 "initiate":"manual",
4 "saRequestPayloads":[
5 {
6 "serviceAppointmentId":"08px000000NzbmkAAB",
7 "action":"add"
8 },
9 {
10 "serviceAppointmentId":"08pT300000006LLIAY",
11 "action":"add"
12 }
13 ]
14}レスポンスボディ
プロパティ
| 項目 | 型 | 説明 | ||
|---|---|---|---|---|
| bundleId | String | 更新するバンドルの ID。更新に成功しなかった場合は null になります。 | ||
| responsePayloads | Array | バンドル要求の一部であるサービス予定オブジェクトの詳細。 | ||
| objectName | String | オブジェクトの種別。 出力: ServiceAppointment |
||
| objectId | String | サービス予定の ID。 | ||
| action | String | このサービス予定に対して実行されるバンドルアクション。 有効な値: add または remove |
||
| status | String | サービス予定の更新状況。 出力: SUCCESS または FAIL |
||
| messageCode | Number | サービス予定の更新の成功コードまたはエラーコード。0 は成功を意味します。エラーコードは、「エラー応答」にリストされています。 | ||
| message | String | サービス予定の更新の成功メッセージまたはエラーメッセージ。 | ||
| status | String | 要求の状況。 出力: SUCCESS または FAIL |
||
| messageCode | Number | 要求の成功コードまたはエラーコード。0 は成功を意味します。エラーコードは、「エラー応答」にリストされています。 | ||
| message | String | 要求の成功メッセージまたはエラーメッセージ。 | ||
例
JSON の例: 成功した場合の応答
次の例は、バンドルへのサービス予定の追加が成功した場合の応答を示しています。
1{
2 "bundleId":"08px000000NzdJOAAZ",
3 "responsePayloads":[
4 {
5 "objectName":"ServiceAppointment",
6 "objectId":"08px000000NzbmiAAB",
7 "action":"add",
8 "status":"SUCCESS",
9 "messageCode":0,
10 "message":"Success",
11 "messageParams":[
12
13 ]
14 }
15 ],
16 "status":"SUCCESS",
17 "messageCode":0,
18 "message":"Success"
19}例
JSON の例: 失敗した場合の応答
次の例は、ユーザがバンドルのサービス予定の追加および削除を同じ要求で試みた場合の出力を示しています。要求が正常に機能するのは、すべてのサービス予定を 1 つのバンドルに追加する場合、またはすべてのサービス予定を 1 つのバンドルから削除する場合のみです。したがって、応答の状況は FAIL になります。
1{
2 "bundleId":null,
3 "responsePayloads":[
4 {
5 "status":"FAIL",
6 "messageCode":10,
7 "message":"Send separate requests for add and remove actions.",
8 "messageParams":[
9
10 ]
11 }
12 ],
13 "status":"FAIL",
14 "messageCode":14,
15 "message":"We couldn't bundle the service appointments."
16}| コード | 名前 | メッセージ |
|---|---|---|
| 0 | NONE | <サービス予定 ID#>: 成功。 |
| 1 | UNSUPPORTED_VERSION | Ask your admin to check the API version, then try again. (システム管理者に API バージョンを確認するように依頼してから、もう一度お試しください。) |
| 2 | SA_PAYLOAD_SHOULD_CONTAIN_ADD_ACTIONS_ONLY | Create bundles using add actions only. (アクションの追加のみを使用してバンドルを作成してください。) |
| 3 | EMPTY_BUNDLE_POLICY | bundlePolicyId の ID を入力してください。 |
| 4 | EMPTY_BUNDLE_INITIATE | Specify manual or auto for the initiate entry. (initiate エントリに手動または自動を指定してください。) |
| 5 | EMPTY_BUNDLE_SERVICE_APPOINTMENT | Add a bundle service appointment. (バンドルサービス予定を追加してください。) |
| 6 | SA_PAYLOAD_DUPLICATED_SAS | Remove duplicate service appointment IDs. (重複しているサービス予定 ID を削除してください。) |
| 7 | SA_IS_BUNDLE | <Service Appointment ID#>: Is already a bundle service appointment. (<サービス予定 ID#>: すでにバンドルサービス予定です。) |
| 8 | SA_ALREADY_BUNDLED | <Service Appointment ID#>: Is a bundle member service appointment in another bundle. (<サービス予定 ID#>: 別のバンドルのバンドルメンバーサービス予定です。) |
| 9 | STATUS_FORBIDDEN | <Service Appointment ID#>: Can’t be bundled in the current status. (<サービス予定 ID#>: 現在の状況でバンドルすることはできません。) |
| 10 | SA_PAYLOAD_SHOULD_NOT_CONTAIN_MIX_ACTIONS | Send separate requests for add and remove actions. (追加アクションと削除アクションの要求は別々に送信してください。) |
| 11 | SA_IS_NOT_BUNDLE | Select a bundle service appointment and try again. (バンドルサービス予定を選択して、もう一度お試しください。) |
| 12 | EXCEEDED_BUNDLE_MEMBERS_LIMIT | You reached the maximum number of service appointments for this bundle.Remove some of them and try again. (このバンドルのサービス予定の最大数に達しました。いくつかのサービス予定を削除して、もう一度お試しください。) |
| 13 | SA_PAYLOAD_SHOULD_CONTAIN_ONLY_BUNDLE_MEMBERS | To remove bundle members from a bundle, include only service appointments that are bundle members. (バンドルからバンドルメンバーを削除するには、バンドルメンバーであるサービス予定のみを含めてください。) |
| 14 | ERROR_IN_BASIC_VALIDATIONS | We couldn’t bundle the service appointments. (サービス予定をバンドルできませんでした。) |
| 15 | ERROR_IN_LIMIT_VALIDATIONS | なし |
| 16 | ERROR_IN_CRITERIA_VALIDATIONS | なし |
| 17 | ERROR_IN_SERVICE_TERRITORY_VALIDATIONS | Confirm or revise the service territories of the selected service appointments.Or ask your admin for help. (選択したサービス予定のサービステリトリーを確認または修正してください。または、システム管理者にサポートを依頼してください。) |
| 18 | ERROR_IN_RESTRICTION_VALIDATIONS | Confirm or revise the selected service appointments. (選択したサービス予定を確認または修正してください。)Or ask your admin to check the restriction policies. (または、システム管理者に制限ポリシーの確認を依頼してください。) |
| 19 | EXCEEDED_BUNDLE_DURATION_LIMIT | なし |
| 20 | EMPTY_BODY | Fill in the request. (要求を入力してください。) |
| 21 | SA_IS_NOT_BUNDLED | <Service Appointment ID#>: Can’t remove a service appointment that isn’t in the bundle. (<サービス予定 ID#>: バンドルに含まれていないサービス予定は削除できません。) |
| 22 | ERROR_IN_AGGREGATION | Confirm or revise the selected service appointments. (選択したサービス予定を確認または修正してください。)Or ask your admin to check the aggregation policies. (または、システム管理者に集計ポリシーの確認を依頼してください。) |
| 23 | ERROR_IN_PROPAGATION | Confirm or revise the selected service appointments. (選択したサービス予定を確認または修正してください。)Or ask your admin to check the propagation policies. (または、システム管理者に伝達ポリシーの確認を依頼してください。) |
| 24 | GET_POLICY_FAILURE | Ask your admin to check the bundle policies, then try again. (システム管理者にバンドルポリシーを確認するように依頼してから、もう一度お試しください。) |
| 25 | GET_CONFIG_FAILURE | Ask your admin to check the bundle config, then try again. (システム管理者にバンドル設定を確認するように依頼してから、もう一度お試しください。) |
| 26 | GET_BUNDLE_INFO_FAILURE | しばらくしてからもう一度お試しください。 |
| 27 | ERROR_IN_LOGIC | We couldn’t bundle the service appointments. (サービス予定をバンドルできませんでした。) |
| 28 | EMPTY_BUNDLE_MEMBERS | Add bundle member service appointments. (バンドルメンバーのサービス予定を追加してください。) |
| 29 | EMPTY_BUNDLE_PARENT_WORK_ORDER_ID | Add the work order ID for the bundle service appointment. (バンドルサービス予定の作業指示 ID を追加してください。) |
| 30 | UNBUNDLE_REQUEST_ASSIGNED_RESOURCES_NOT_COMPATiBLE | To unbundle a scheduled bundle, send assigned resources for each service appointment. (スケジュール済みのバンドルをバンドル解除するには、サービス予定ごとに割り当て済みのリソースを送信してください。) |
| 31 | EMPTY_OLD_VALUES | To update a bundle, send the current values. (バンドルを更新するには、現在の値を送信してください。) |
| 32 | EMPTY_NEW_VALUES | To update a bundle, send the new values. (バンドルを更新するには、新しい値を送信してください。) |
| 33 | SA_PAYLOAD_SHOULD_CONTAIN_AT_LEAST_ONE_ADD_OR_REMOVE_ACTION | To update a bundle, send at least one add or remove action. (バンドルを更新するには、1 つ以上の追加アクションまたは削除アクションを送信してください。) |
| 34 | FORBIDDEN_FIELDS_IN_POLICY_OBJECT | Confirm or revise the selected service appointments. (選択したサービス予定を確認または修正してください。)Or ask your admin to check the field names selected in the related policies. (または、関連ポリシーで選択された項目名の確認をシステム管理者に依頼してください。) |
| 35 | EMPTY_SERVICE_TERRITORY | Add a Service Territory ID. (サービステリトリー ID を追加してください。) |
| 36 | EMPTY_START_TIME | Add the interval’s start time. (期間の開始時間を追加してください。) |
| 37 | EMPTY_END_TIME | Add the interval’s end time. (期間の終了時間を追加してください。) |
| 38 | ERROR_IN_BUNDLE_POLICY_RFC | Confirm or revise the selected service appointments. (選択したサービス予定を確認または修正してください。)Or ask your admin to check the recordset filter criteria in the bundle policy. (または、システム管理者にバンドルポリシーのレコードセット検索条件を確認するように依頼してください。) |
| 39 | ERROR_IN_TIME_ZONE_VALIDATION | Select service appointments that are in the same time zone. (同じタイムゾーンのサービス予定を選択してください。)Or ask your admin for help. (選択したサービス予定のサービステリトリーを確認または修正してください。または、システム管理者にサポートを依頼してください。) |
| 40 | ERROR_IN_LOGIC_UNBUNDLE | We couldn’t unbundle the service appointment. (サービス予定をバンドル解除できませんでした。) |
| 41 | ERROR_CREATING_BUNDLE | We couldn’t bundle the service appointments. (サービス予定をバンドルできませんでした。) |
| 42 | ERROR_ADDING_TO_BUNDLE | We couldn’t add the service appointment to the bundle. (バンドルにサービス予定を追加できませんでした。) |
| 43 | ERROR_REMOVING_FROM_BUNDLE | We couldn’t remove the service appointment from the bundle. (バンドルからサービス予定を削除できませんでした。) |
| 44 | ERROR_UNBUNDLING | We couldn’t unbundle the service appointment. (サービス予定をバンドル解除できませんでした。) |
| -500 | http error (http エラー) | Hmm… Something went wrong. (問題が発生しました。)Try again. (もう一度お試しください。) |