Chilkat Online Tools

delphiAx / Salesforce Platform APIs / Update Commitments

Back to Collection Items

var
http: TChilkatHttp;
success: Integer;
json: TChilkatJsonObject;
sbRequestBody: TChilkatStringBuilder;
resp: IChilkatHttpResponse;
sbResponseBody: TChilkatStringBuilder;
jResp: TChilkatJsonObject;
respStatusCode: Integer;
success: Integer;
Href: WideString;
Id: WideString;
GiftcommitmentscheduleHref: WideString;
GiftcommitmentscheduleId: WideString;

begin
// This example assumes the Chilkat API to have been previously unlocked.
// See Global Unlock Sample for sample code.

http := TChilkatHttp.Create(Self);

// Use this online tool to generate code from sample JSON: Generate Code to Create JSON

// The following JSON is sent in the request body.

// {
//   "amount": 150.25,
//   "transactionPeriod": "monthly",
//   "transactionInterval": 3,
//   "transactionDay": "5",
//   "startDate": "2024-07-06",
//   "endDate": "2024-07-06",
//   "campaign": {
//     "id": "<CAMPAIGN_ID>"
//   },
//   "outreachSourceCode": {
//     "id": "<SOURCE_CODE_ID>",
//     "sourceCode": "AnimalEmailCampaign2023"
//   },
//   "donor": {
//     "donorType": "individual",
//     "organizationName": "mini cat town",
//     "firstName": "David",
//     "lastName": "Taylor",
//     "phone": "510-434-8920",
//     "email": "davidtaylor@salesforce.com",
//     "address": [
//       {
//         "addressType": "mailing",
//         "street": "123 Main Street",
//         "city": "Oakland",
//         "state": "CA",
//         "postalCode": "94610",
//         "country": "US"
//       }
//     ],
//     "accountCustomFields": [
//       {
//         "fieldName": "string",
//         "fieldValue": "string"
//       }
//     ]
//   },
//   "paymentInstrument": {
//     "type": "credit card",
//     "accountHolderName": "david taylor",
//     "expiryMonth": "10",
//     "expiryYear": "2026",
//     "last4": "4585",
//     "cardBrand": "visa",
//     "bankName": "chase",
//     "digitalWalletProvider": "apple pay",
//     "bankAccountHolderType": "primary",
//     "bankAccountType": "checking",
//     "bankAccountNumber": "123456",
//     "bankCode": "HBUK",
//     "gatewayName": "stripe",
//     "processorName": "classy",
//     "processorPaymentReference": "string",
//     "gatewayReference": "string"
//   },
//   "giftCommitmentCustomFields": [
//     {
//       "fieldName": "string",
//       "fieldValue": "string"
//     }
//   ],
//   "giftCommitmentScheduleCustomFields": [
//     {
//       "fieldName": "string",
//       "fieldValue": "string"
//     }
//   ]
// }

json := TChilkatJsonObject.Create(Self);
json.UpdateNumber('amount','150.25');
json.UpdateString('transactionPeriod','monthly');
json.UpdateInt('transactionInterval',3);
json.UpdateString('transactionDay','5');
json.UpdateString('startDate','2024-07-06');
json.UpdateString('endDate','2024-07-06');
json.UpdateString('campaign.id','<CAMPAIGN_ID>');
json.UpdateString('outreachSourceCode.id','<SOURCE_CODE_ID>');
json.UpdateString('outreachSourceCode.sourceCode','AnimalEmailCampaign2023');
json.UpdateString('donor.donorType','individual');
json.UpdateString('donor.organizationName','mini cat town');
json.UpdateString('donor.firstName','David');
json.UpdateString('donor.lastName','Taylor');
json.UpdateString('donor.phone','510-434-8920');
json.UpdateString('donor.email','davidtaylor@salesforce.com');
json.UpdateString('donor.address[0].addressType','mailing');
json.UpdateString('donor.address[0].street','123 Main Street');
json.UpdateString('donor.address[0].city','Oakland');
json.UpdateString('donor.address[0].state','CA');
json.UpdateString('donor.address[0].postalCode','94610');
json.UpdateString('donor.address[0].country','US');
json.UpdateString('donor.accountCustomFields[0].fieldName','string');
json.UpdateString('donor.accountCustomFields[0].fieldValue','string');
json.UpdateString('paymentInstrument.type','credit card');
json.UpdateString('paymentInstrument.accountHolderName','david taylor');
json.UpdateString('paymentInstrument.expiryMonth','10');
json.UpdateString('paymentInstrument.expiryYear','2026');
json.UpdateString('paymentInstrument.last4','4585');
json.UpdateString('paymentInstrument.cardBrand','visa');
json.UpdateString('paymentInstrument.bankName','chase');
json.UpdateString('paymentInstrument.digitalWalletProvider','apple pay');
json.UpdateString('paymentInstrument.bankAccountHolderType','primary');
json.UpdateString('paymentInstrument.bankAccountType','checking');
json.UpdateString('paymentInstrument.bankAccountNumber','123456');
json.UpdateString('paymentInstrument.bankCode','HBUK');
json.UpdateString('paymentInstrument.gatewayName','stripe');
json.UpdateString('paymentInstrument.processorName','classy');
json.UpdateString('paymentInstrument.processorPaymentReference','string');
json.UpdateString('paymentInstrument.gatewayReference','string');
json.UpdateString('giftCommitmentCustomFields[0].fieldName','string');
json.UpdateString('giftCommitmentCustomFields[0].fieldValue','string');
json.UpdateString('giftCommitmentScheduleCustomFields[0].fieldName','string');
json.UpdateString('giftCommitmentScheduleCustomFields[0].fieldValue','string');

// Adds the "Authorization: Bearer <access_token>" header.
http.AuthToken := '<access_token>';

sbRequestBody := TChilkatStringBuilder.Create(Self);
json.EmitSb(sbRequestBody.ControlInterface);

resp := http.PTextSb('PATCH','https://domain.com/services/data/v{{version}}/connect/fundraising/commitments/:commitmentId',sbRequestBody.ControlInterface,'utf-8','application/json',0,0);
if (http.LastMethodSuccess = 0) then
  begin
    Memo1.Lines.Add(http.LastErrorText);
    Exit;
  end;

sbResponseBody := TChilkatStringBuilder.Create(Self);
resp.GetBodySb(sbResponseBody.ControlInterface);

jResp := TChilkatJsonObject.Create(Self);
jResp.LoadSb(sbResponseBody.ControlInterface);
jResp.EmitCompact := 0;

Memo1.Lines.Add('Response Body:');
Memo1.Lines.Add(jResp.Emit());

respStatusCode := resp.StatusCode;
Memo1.Lines.Add('Response Status Code = ' + IntToStr(respStatusCode));
if (respStatusCode >= 400) then
  begin
    Memo1.Lines.Add('Response Header:');
    Memo1.Lines.Add(resp.Header);
    Memo1.Lines.Add('Failed.');

    Exit;
  end;

// Sample JSON response:
// (Sample code for parsing the JSON response is shown below)

// {
//   "success": true,
//   "links": {
//     "giftcommitment": {
//       "href": "/services/data/vXX.X/sobjects/sObject/<SFDC_GIFT_COMMITMENT_ID>",
//       "id": "<SFDC_GIFT_COMMITMENT_ID>"
//     },
//     "giftcommitmentschedule": {
//       "href": "/services/data/vXX.X/sobjects/sObject/<SFDC_GIFT_COMMITMENT_SCHEDULE_ID>",
//       "id": "<SFDC_GIFT_COMMITMENT_SCHEDULE_ID>"
//     }
//   }
// }

// Sample code for parsing the JSON response...
// Use this online tool to generate parsing code from sample JSON: Generate JSON Parsing Code

success := jResp.BoolOf('success');
Href := jResp.StringOf('links.giftcommitment.href');
Id := jResp.StringOf('links.giftcommitment.id');
GiftcommitmentscheduleHref := jResp.StringOf('links.giftcommitmentschedule.href');
GiftcommitmentscheduleId := jResp.StringOf('links.giftcommitmentschedule.id');

Curl Command

curl -X PATCH
	-H "Authorization: Bearer <access_token>"
	-d '{
"amount": 150.25,
  "transactionPeriod": "monthly",
  "transactionInterval": 3,
  "transactionDay": "5",
  "startDate": "2024-07-06",
  "endDate": "2024-07-06",
  "campaign": {
    "id": "<CAMPAIGN_ID>"
  },
  "outreachSourceCode": {
    "id": "<SOURCE_CODE_ID>",
    "sourceCode": "AnimalEmailCampaign2023"
  },
  "donor": {
    "donorType": "individual",
    "organizationName": "mini cat town",
    "firstName": "David",
    "lastName": "Taylor",
    "phone": "510-434-8920",
    "email": "davidtaylor@salesforce.com",
    "address": [
      {
        "addressType": "mailing",
        "street": "123 Main Street",
        "city": "Oakland",
        "state": "CA",
        "postalCode": "94610",
        "country": "US"
      }
    ],
    "accountCustomFields": [
      {
        "fieldName": "string",
        "fieldValue": "string"
      }
    ]
  },
  "paymentInstrument": {
    "type": "credit card",
    "accountHolderName": "david taylor",
    "expiryMonth": "10",
    "expiryYear": "2026",
    "last4": "4585",
    "cardBrand": "visa",
    "bankName": "chase",
    "digitalWalletProvider": "apple pay",
    "bankAccountHolderType": "primary",
    "bankAccountType": "checking",
    "bankAccountNumber": "123456",
    "bankCode": "HBUK",
    "gatewayName": "stripe",
    "processorName": "classy",
    "processorPaymentReference": "string",
    "gatewayReference": "string"
  },
  "giftCommitmentCustomFields": [
    {
      "fieldName": "string",
      "fieldValue": "string"
    }
  ],
  "giftCommitmentScheduleCustomFields": [
    {
      "fieldName": "string",
      "fieldValue": "string"
    }
  ]
}'
https://domain.com/services/data/v{{version}}/connect/fundraising/commitments/:commitmentId

Postman Collection Item JSON

{
  "name": "Update Commitments",
  "request": {
    "method": "PATCH",
    "header": [
    ],
    "body": {
      "mode": "raw",
      "raw": "{\n\"amount\": 150.25,\n  \"transactionPeriod\": \"monthly\",\n  \"transactionInterval\": 3,\n  \"transactionDay\": \"5\",\n  \"startDate\": \"2024-07-06\",\n  \"endDate\": \"2024-07-06\",\n  \"campaign\": {\n    \"id\": \"<CAMPAIGN_ID>\"\n  },\n  \"outreachSourceCode\": {\n    \"id\": \"<SOURCE_CODE_ID>\",\n    \"sourceCode\": \"AnimalEmailCampaign2023\"\n  },\n  \"donor\": {\n    \"donorType\": \"individual\",\n    \"organizationName\": \"mini cat town\",\n    \"firstName\": \"David\",\n    \"lastName\": \"Taylor\",\n    \"phone\": \"510-434-8920\",\n    \"email\": \"davidtaylor@salesforce.com\",\n    \"address\": [\n      {\n        \"addressType\": \"mailing\",\n        \"street\": \"123 Main Street\",\n        \"city\": \"Oakland\",\n        \"state\": \"CA\",\n        \"postalCode\": \"94610\",\n        \"country\": \"US\"\n      }\n    ],\n    \"accountCustomFields\": [\n      {\n        \"fieldName\": \"string\",\n        \"fieldValue\": \"string\"\n      }\n    ]\n  },\n  \"paymentInstrument\": {\n    \"type\": \"credit card\",\n    \"accountHolderName\": \"david taylor\",\n    \"expiryMonth\": \"10\",\n    \"expiryYear\": \"2026\",\n    \"last4\": \"4585\",\n    \"cardBrand\": \"visa\",\n    \"bankName\": \"chase\",\n    \"digitalWalletProvider\": \"apple pay\",\n    \"bankAccountHolderType\": \"primary\",\n    \"bankAccountType\": \"checking\",\n    \"bankAccountNumber\": \"123456\",\n    \"bankCode\": \"HBUK\",\n    \"gatewayName\": \"stripe\",\n    \"processorName\": \"classy\",\n    \"processorPaymentReference\": \"string\",\n    \"gatewayReference\": \"string\"\n  },\n  \"giftCommitmentCustomFields\": [\n    {\n      \"fieldName\": \"string\",\n      \"fieldValue\": \"string\"\n    }\n  ],\n  \"giftCommitmentScheduleCustomFields\": [\n    {\n      \"fieldName\": \"string\",\n      \"fieldValue\": \"string\"\n    }\n  ]\n}",
      "options": {
        "raw": {
          "language": "json"
        }
      }
    },
    "url": {
      "raw": "{{_endpoint}}/services/data/v{{version}}/connect/fundraising/commitments/:commitmentId",
      "host": [
        "{{_endpoint}}"
      ],
      "path": [
        "services",
        "data",
        "v{{version}}",
        "connect",
        "fundraising",
        "commitments",
        ":commitmentId"
      ],
      "variable": [
        {
          "key": "commitmentId",
          "value": ""
        }
      ]
    },
    "description": "Modify the schedule or payment instrument metadata on an existing active gift commitment.\n\n## Required Attributes:\n\n- {commitmentId}\n    \n- amount\n    \n- transactionPeriod (Monthly, Weekly, Yearly, etc.)\n    \n- startDate\n    \n- paymentInstrument.type\n    \n\nAll other attributes are optional can be left as an empty string or just removed from the request body entirely. The only exceptions to this are:\n\n- CustomFields collections - These cannot be left in the request body as an empty collection or with an empty string for the FieldName.\n    \n\n## Validated Property Formats (an empty string is considered valid)\n\n- DateTime - YYYY-MM-DDTHH:MM:SSZ\n    \n- Date - YYYY-MM-DD\n    \n- Email - a valid formatted email address\n    \n\n### Other Attributes\n\n- OutreachSource -- This is optional. Be sure to create the OutreachSourceCode record in the system if passing a value\n    \n- Will accept either an OutreachSourceCode.id (SalesforceId) or an OutreachSourceCode.Code.\n    \n\n### Custom Fields\n\n- The field_value can be a text string (inc. for a date data-type) or a numeric value (without quotes)\n    \n- Do not include an empty collection or an empty fieldName in the request body"
  },
  "response": [
    {
      "name": "Status200-UpdateCommitmentSuccess",
      "originalRequest": {
        "method": "POST",
        "header": [
        ],
        "body": {
          "mode": "raw",
          "raw": "{\n\"amount\": 150.25,\n  \"transactionPeriod\": \"monthly\",\n  \"transactionInterval\": 3,\n  \"transactionDay\": \"5\",\n  \"startDate\": \"2024-07-06\",\n  \"endDate\": \"2024-07-06\",\n  \"campaign\": {\n    \"id\": \"<CAMPAIGN_ID>\"\n  },\n  \"outreachSourceCode\": {\n    \"id\": \"<SOURCE_CODE_ID>\",\n    \"sourceCode\": \"AnimalEmailCampaign2023\"\n  },\n  \"donor\": {\n    \"donorType\": \"individual\",\n    \"organizationName\": \"mini cat town\",\n    \"firstName\": \"David\",\n    \"lastName\": \"Taylor\",\n    \"phone\": \"510-434-8920\",\n    \"email\": \"davidtaylor@salesforce.com\",\n    \"address\": [\n      {\n        \"addressType\": \"mailing\",\n        \"street\": \"123 Main Street\",\n        \"city\": \"Oakland\",\n        \"state\": \"CA\",\n        \"postalCode\": \"94610\",\n        \"country\": \"US\"\n      }\n    ],\n    \"accountCustomFields\": [\n      {\n        \"fieldName\": \"string\",\n        \"fieldValue\": \"string\"\n      }\n    ]\n  },\n  \"paymentInstrument\": {\n    \"type\": \"credit card\",\n    \"accountHolderName\": \"david taylor\",\n    \"expiryMonth\": \"10\",\n    \"expiryYear\": \"2026\",\n    \"last4\": \"4585\",\n    \"cardBrand\": \"visa\",\n    \"bankName\": \"chase\",\n    \"digitalWalletProvider\": \"apple pay\",\n    \"bankAccountHolderType\": \"primary\",\n    \"bankAccountType\": \"checking\",\n    \"bankAccountNumber\": \"123456\",\n    \"bankCode\": \"HBUK\",\n    \"gatewayName\": \"stripe\",\n    \"processorName\": \"classy\",\n    \"processorPaymentReference\": \"string\",\n    \"gatewayReference\": \"string\"\n  },\n  \"giftCommitmentCustomFields\": [\n    {\n      \"fieldName\": \"string\",\n      \"fieldValue\": \"string\"\n    }\n  ],\n  \"giftCommitmentScheduleCustomFields\": [\n    {\n      \"fieldName\": \"string\",\n      \"fieldValue\": \"string\"\n    }\n  ]\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        },
        "url": {
          "raw": "{{_endpoint}}/services/data/v{{version}}/connect/fundraising/commitments/:commitmentId",
          "host": [
            "{{_endpoint}}"
          ],
          "path": [
            "services",
            "data",
            "v{{version}}",
            "connect",
            "fundraising",
            "commitments",
            ":commitmentId"
          ],
          "variable": [
            {
              "key": "commitmentId",
              "value": ""
            }
          ]
        }
      },
      "status": "OK",
      "code": 200,
      "_postman_previewlanguage": "json",
      "header": [
        {
          "key": "Content-Type",
          "value": "application/json",
          "description": ""
        }
      ],
      "cookie": [
      ],
      "body": "{\n  \"success\": true,\n  \"links\": {\n    \"giftcommitment\": {\n      \"href\": \"/services/data/vXX.X/sobjects/sObject/<SFDC_GIFT_COMMITMENT_ID>\",\n      \"id\": \"<SFDC_GIFT_COMMITMENT_ID>\"\n    },\n    \"giftcommitmentschedule\": {\n      \"href\": \"/services/data/vXX.X/sobjects/sObject/<SFDC_GIFT_COMMITMENT_SCHEDULE_ID>\",\n      \"id\": \"<SFDC_GIFT_COMMITMENT_SCHEDULE_ID>\"\n    }\n  }\n}"
    },
    {
      "name": "Status200-UpdateCommitmentRequestValidationFailure",
      "originalRequest": {
        "method": "POST",
        "header": [
        ],
        "body": {
          "mode": "raw",
          "raw": "{\n  \"amount\": 150.25,\n  \"transactionPeriod\": \"monthly\",\n  \"transactionInterval\": 3,\n  \"transactionDay\": \"5\",\n  \"startDate\": \"2024-07-06\",\n  \"endDate\": \"2024-07-06\",\n  \"campaign\": {\n    \"id\": \"<SFDC_CAMPAIGN_ID>\"\n  },\n  \"outreachSourceCode\": {\n    \"sourceCode\": \"AnimalEmailCampaign2023\"\n  },\n  \"paymentInstrument\": {\n    \"type\": \"credit card\",\n    \"accountHolderName\": \"test donor\",\n    \"expiryMonth\": \"10\",\n    \"expiryYear\": \"2026\",\n    \"last4\": \"4585\",\n    \"cardBrand\": \"visa\",\n    \"bankName\": \"chase\",\n    \"digitalWalletProvider\": \"apple pay\",\n    \"bankAccountHolderType\": \"primary\",\n    \"bankAccountType\": \"checking\",\n    \"bankAccountNumber\": \"123456\",\n    \"bankCode\": \"HBUK\",\n    \"gatewayName\": \"stripe\",\n    \"processorName\": \"test processor\",\n    \"processorPaymentReference\": \"string\",\n    \"gatewayReference\": \"string\"\n  }\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        },
        "url": {
          "raw": "{{_endpoint}}/services/data/v{{version}}/connect/fundraising/commitments/:commitmentId",
          "host": [
            "{{_endpoint}}"
          ],
          "path": [
            "services",
            "data",
            "v{{version}}",
            "connect",
            "fundraising",
            "commitments",
            ":commitmentId"
          ],
          "variable": [
            {
              "key": "commitmentId",
              "value": ""
            }
          ]
        }
      },
      "status": "OK",
      "code": 200,
      "_postman_previewlanguage": "json",
      "header": [
        {
          "key": "Content-Type",
          "value": "application/json",
          "description": ""
        }
      ],
      "cookie": [
      ],
      "body": "{\n    \"errors\": [\n        {\n            \"field\": \"donor.id\",\n            \"message\": \"You cant include the donor ID in the request for the Gift Commitment Patch endpoint. Remove the ID from the Donor JSON request and try again.\"\n        }\n    ],\n    \"success\": false\n}"
    },
    {
      "name": "Status200-UpdateCommitmentDatabaseFailure",
      "originalRequest": {
        "method": "POST",
        "header": [
        ],
        "body": {
          "mode": "raw",
          "raw": "{\n  \"amount\": 150.25,\n  \"transactionPeriod\": \"tomorrow\",\n  \"transactionInterval\": 3,\n  \"transactionDay\": \"5\",\n  \"startDate\": \"2024-07-06\",\n  \"endDate\": \"2024-07-06\",\n  \"outreachSourceCode\": {\n    \"sourceCode\": \"AnimalEmailCampaign2023\"\n  },\n  \"paymentInstrument\": {\n    \"type\": \"credit card\",\n    \"accountHolderName\": \"test donor\",\n    \"expiryMonth\": \"10\",\n    \"expiryYear\": \"2026\",\n    \"last4\": \"4585\",\n    \"cardBrand\": \"visa\",\n    \"bankName\": \"chase\",\n    \"digitalWalletProvider\": \"apple pay\",\n    \"bankAccountHolderType\": \"primary\",\n    \"bankAccountType\": \"checking\",\n    \"bankAccountNumber\": \"123456\",\n    \"bankCode\": \"HBUK\",\n    \"gatewayName\": \"stripe\",\n    \"processorName\": \"test processor\",\n    \"processorPaymentReference\": \"string\",\n    \"gatewayReference\": \"string\"\n  }\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        },
        "url": {
          "raw": "{{_endpoint}}/services/data/v{{version}}/connect/fundraising/commitments/:commitmentId",
          "host": [
            "{{_endpoint}}"
          ],
          "path": [
            "services",
            "data",
            "v{{version}}",
            "connect",
            "fundraising",
            "commitments",
            ":commitmentId"
          ],
          "variable": [
            {
              "key": "commitmentId",
              "value": ""
            }
          ]
        }
      },
      "status": "OK",
      "code": 200,
      "_postman_previewlanguage": "json",
      "header": [
        {
          "key": "Content-Type",
          "value": "application/json",
          "description": ""
        }
      ],
      "cookie": [
      ],
      "body": "{\n    \"errors\": [\n        {\n            \"message\": \"Transaction Period: bad value for restricted picklist field: tomorrow\"\n        }\n    ],\n    \"success\": false\n}"
    },
    {
      "name": "Status200-UpdateCommitmentSuccessWithExternalIds",
      "originalRequest": {
        "method": "POST",
        "header": [
        ],
        "body": {
          "mode": "raw",
          "raw": "{\n\"amount\": 150.25,\n  \"transactionPeriod\": \"monthly\",\n  \"transactionInterval\": 3,\n  \"transactionDay\": \"5\",\n  \"startDate\": \"2024-07-06\",\n  \"endDate\": \"2024-07-06\",\n  \"campaign\": {\n    \"externalId\": {\n        \"fieldName\": \"<EXTERNAL_ID_FIELD_NAME>\",\n        \"fieldValue\": \"<EXTERNAL_ID_FIELD_VALUE>\"\n    }\n  },\n  \"outreachSourceCode\": {\n    \"id\": \"<SOURCE_CODE_ID>\",\n    \"sourceCode\": \"AnimalEmailCampaign2023\"\n  },\n  \"donor\": {\n    \"donorType\": \"individual\",\n    \"organizationName\": \"ABC Inc.\",\n    \"firstName\": \"David\",\n    \"lastName\": \"Chavez\",\n    \"phone\": \"510-434-8920\",\n    \"email\": \"d.chavez@salesforce.com\",\n    \"address\": [\n      {\n        \"addressType\": \"mailing\",\n        \"street\": \"123 Main Street\",\n        \"city\": \"Oakland\",\n        \"state\": \"CA\",\n        \"postalCode\": \"94610\",\n        \"country\": \"US\"\n      }\n    ],\n    \"accountCustomFields\": [\n      {\n        \"fieldName\": \"string\",\n        \"fieldValue\": \"string\"\n      }\n    ]\n  },\n  \"paymentInstrument\": {\n    \"type\": \"credit card\",\n    \"accountHolderName\": \"david chavez\",\n    \"expiryMonth\": \"10\",\n    \"expiryYear\": \"2026\",\n    \"last4\": \"4585\",\n    \"cardBrand\": \"visa\",\n    \"bankName\": \"chase\",\n    \"digitalWalletProvider\": \"apple pay\",\n    \"bankAccountHolderType\": \"primary\",\n    \"bankAccountType\": \"checking\",\n    \"bankAccountNumber\": \"123456\",\n    \"bankCode\": \"HBUK\",\n    \"gatewayName\": \"stripe\",\n    \"processorName\": \"classy\",\n    \"processorPaymentReference\": \"string\",\n    \"gatewayReference\": \"string\"\n  },\n  \"giftCommitmentCustomFields\": [\n    {\n      \"fieldName\": \"string\",\n      \"fieldValue\": \"string\"\n    }\n  ],\n  \"giftCommitmentScheduleCustomFields\": [\n    {\n      \"fieldName\": \"string\",\n      \"fieldValue\": \"string\"\n    }\n  ]\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        },
        "url": {
          "raw": "{{_endpoint}}/services/data/v{{version}}/connect/fundraising/commitments/{fieldValue}?externalIdField={fieldName}",
          "host": [
            "{{_endpoint}}"
          ],
          "path": [
            "services",
            "data",
            "v{{version}}",
            "connect",
            "fundraising",
            "commitments",
            "{fieldValue}"
          ],
          "query": [
            {
              "key": "externalIdField",
              "value": "{fieldName}"
            }
          ]
        }
      },
      "status": "OK",
      "code": 200,
      "_postman_previewlanguage": "json",
      "header": [
        {
          "key": "Content-Type",
          "value": "application/json",
          "description": ""
        }
      ],
      "cookie": [
      ],
      "body": "{\n  \"success\": true,\n  \"links\": {\n    \"giftcommitment\": {\n      \"href\": \"/services/data/vXX.X/sobjects/sObject/<SFDC_GIFT_COMMITMENT_ID>\",\n      \"id\": \"<SFDC_GIFT_COMMITMENT_ID>\"\n    },\n    \"giftcommitmentschedule\": {\n      \"href\": \"/services/data/vXX.X/sobjects/sObject/<SFDC_GIFT_COMMITMENT_SCHEDULE_ID>\",\n      \"id\": \"<SFDC_GIFT_COMMITMENT_SCHEDULE_ID>\"\n    }\n  }\n}"
    },
    {
      "name": "Status400-BadRequestError",
      "originalRequest": {
        "method": "POST",
        "header": [
        ],
        "body": {
          "mode": "raw",
          "raw": "{\n  \"amount\": 150.25,\n  \"transactionPeriod\": \"monthly\",\n  \"transactionInterval\": 3,\n  \"transactionDay\": \"5\",\n  \"startDate\": \"2024-07-06\",\n  \"endDate\": \"2024-07-06\",\n  \"outreachSourceCode\": {\n    \"sourceCode\": \"AnimalEmailCampaign2023\"\n  },\n  \"paymentInstrument\": {\n    \"type\": \"credit card\",\n    \"accountHolderName\": \"test donor\",\n    \"expiryMonth\": \"10\",\n    \"expiryYear\": \"2026\",\n    \"last4\": \"4585\",\n    \"cardBrand\": \"visa\",\n    \"bankName\": \"chase\",\n    \"digitalWalletProvider\": \"apple pay\",\n    \"bankAccountHolderType\": \"primary\",\n    \"bankAccountType\": \"checking\",\n    \"bankAccountNumber\": \"123456\",\n    \"bankCode\": \"HBUK\",\n    \"gatewayName\": \"stripe\",\n    \"processorName\": \"test processor\",\n    \"processorPaymentReference\": \"string\",\n    \"gatewayReference\": \"string\"\n  }\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        },
        "url": {
          "raw": "{{_endpoint}}/services/data/v{{version}}/connect/fundraising/commitments/:commitmentId",
          "host": [
            "{{_endpoint}}"
          ],
          "path": [
            "services",
            "data",
            "v{{version}}",
            "connect",
            "fundraising",
            "commitments",
            ":commitmentId"
          ],
          "variable": [
            {
              "key": "commitmentId",
              "value": ""
            }
          ]
        }
      },
      "status": "Bad Request",
      "code": 400,
      "_postman_previewlanguage": "json",
      "header": [
        {
          "key": "Content-Type",
          "value": "application/json",
          "description": ""
        }
      ],
      "cookie": [
      ],
      "body": "    // Even if the JSON request is valid, this is an example of a 400 error code that will be returned if duplicate matching rules are not active. Any non 200 error code would have a similar response structure.\n    {\n        \"errorCode\": \"UNKNOWN_EXCEPTION\",\n        \"message\": \"Provide active duplicate matching rules on Account and Person Account for donor matching. -- industries.fundraisingops.connect.impl.validator.ValidatorUtil.validateMatchingMethod(ValidatorUtil.java:103)\"\n    }"
    }
  ]
}