Newer Version Available
Create Bundle
Creates a bundle of service appointments manually. This resource accepts service
appointment IDs and a manual bundling policy ID. The manual bundling policy specifies the
bundling rules and has to be marked for manual bundling. This resource returns the ID of the
bundle service appointment. This endpoint is available in version 54.0 and later of the
Salesforce API.
- URI
- /bundleflow/api/v1.0/bundle
- Format
- JSON
- HTTP Method
- POST
- Authentication
- Authorization: Bearer token
- Headers
- sf_api_version—Salesforce API version. Minimum version is 53.0.
- Authorization—Authorization token.
- Content-Type—File format. Valid value is JSON.
- Referer—Org domain URL.
Request Body
Properties
| Field | Type | Description | ||
|---|---|---|---|---|
| user | String | Optional. User name of user sending the request. | ||
| initiate | String | Type of bundle request. Valid value: manual |
||
| bundlePolicyId | String | ID of the related bundle policy containing the bundling rules. | ||
| saRequestPayloads | Array | Details of service appointments that are bundled. | ||
| serviceAppointmentId | String | ID of service appointments to be bundled. | ||
| action | String | Bundling action performed on this service appointment. Valid value: add |
||
Example
JSON Example
This example shows a manual bundle request of two service appointments.
1{
2 "user": "Misha1",
3 "initiate": "manual",
4 "bundlePolicyId": "7sTx00000000006EAA",
5 "saRequestPayloads": [
6 {
7 "serviceAppointmentId": "08px000000NzbmsAAB",
8 "action": "add"
9 },
10 {
11 "serviceAppointmentId": "08pT300000006LLIAY",
12 "action": "add"
13 }
14 ]
15}Response Body
Properties
| Field | Type | Description | ||
|---|---|---|---|---|
| bundleId | String | ID of the new bundle. If the bundle isn’t created, this field is null. | ||
| responsePayloads | Array | Details of the bundled objects. | ||
| objectName | String | Type of object. Output: ServiceAppointment |
||
| objectId | String | ID of the service appointment. | ||
| action | String | Action performed on the object. | ||
| status | String | Specifies if this object is bundled correctly. Output: SUCCESS or FAIL |
||
| messageCode | Number | Success or error code of bundling the service appointment. 0 means success. The error codes are listed in Error Responses. | ||
| message | String | Success or error message of bundling the object. | ||
| status | String | Status of the request. Output: SUCCESS or FAIL |
||
| messageCode | Number | Success or error code of the request. 0 means success. The error codes are listed in Error Responses. | ||
| message | String | Success or error message of the request. | ||
Example
JSON Example: Successful Response
This example shows the output of two service appointments bundled successfully.
1{
2 "bundleId": "08px000000NzdH8AAJ",
3 "responsePayloads": [
4 {
5 "objectName": "ServiceAppointment",
6 "objectId": "08px000000NzbmsAAB",
7 "action": "add",
8 "status": "SUCCESS",
9 "messageCode": 0,
10 "message": "Success",
11 "messageParams": [
12
13 ]
14 },
15 {
16 "objectName": "ServiceAppointment",
17 "objectId": "08pT300000006LLIAY",
18 "action": "add",
19 "status": "SUCCESS",
20 "messageCode": 0,
21 "message": "Success",
22 "messageParams": [
23
24 ]
25 }
26 ],
27 "status": "SUCCESS",
28 "messageCode": 0,
29 "message": "Success"
30}Example
JSON Example: Fail Response
This example shows the output of a request that’s trying to bundle a service appointment that’s already a bundle service appointment. A service appointment can’t be part of two bundles, so the response status is FAIL.
1{
2 "bundleId":null,
3 "responsePayloads":[
4 {
5 "objectName":"ServiceAppointment",
6 "objectId":"08px000000NzdH8AAJ",
7 "action":"add",
8 "status":"FAIL",
9 "messageCode":7,
10 "message":"Is already a bundle service appointment.",
11 "messageParams":[
12
13 ]
14 }
15 ],
16 "status":"FAIL",
17 "messageCode":41,
18 "message":"We couldn't bundle the service appointment."
19}| Code | Name | Message |
|---|---|---|
| 0 | NONE | <Service Appointment ID#>: Success. |
| 1 | UNSUPPORTED_VERSION | Ask your admin to check the API version, then try again. |
| 2 | SA_PAYLOAD_SHOULD_CONTAIN_ADD_ACTIONS_ONLY | Create bundles using add actions only. |
| 3 | EMPTY_BUNDLE_POLICY | Enter an ID for the bundlePolicyId. |
| 4 | EMPTY_BUNDLE_INITIATE | Specify manual or auto for the initiate entry. |
| 5 | EMPTY_BUNDLE_SERVICE_APPOINTMENT | Add a bundle service appointment. |
| 6 | SA_PAYLOAD_DUPLICATED_SAS | Remove duplicate service appointment IDs. |
| 7 | SA_IS_BUNDLE | <Service Appointment ID#>: Is already a bundle service appointment. |
| 8 | SA_ALREADY_BUNDLED | <Service Appointment ID#>: Is a bundle member service appointment in another bundle. |
| 9 | STATUS_FORBIDDEN | <Service Appointment ID#>: Can’t be bundled in the current status. |
| 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 | N/A |
| 16 | ERROR_IN_CRITERIA_VALIDATIONS | N/A |
| 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 | N/A |
| 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. |
| 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 | Try again later. |
| 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 | Add the work order ID for the bundle service appointment. |
| 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. |
| 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. |
| 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 | Hmm… Something went wrong. Try again. |