Chilkat Online Tools

lianja / Salesforce Platform APIs / Update Commitments

Back to Collection Items

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

loHttp = createobject("CkHttp")

// 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"
//     }
//   ]
// }

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

// Adds the "Authorization: Bearer <access_token>" header.
loHttp.AuthToken = "<access_token>"

loSbRequestBody = createobject("CkStringBuilder")
loJson.EmitSb(loSbRequestBody)

loResp = loHttp.PTextSb("PATCH","https://domain.com/services/data/v{{version}}/connect/fundraising/commitments/:commitmentId",loSbRequestBody,"utf-8","application/json",.F.,.F.)
if (loHttp.LastMethodSuccess = .F.) then
    ? loHttp.LastErrorText
    release loHttp
    release loJson
    release loSbRequestBody
    return
endif

loSbResponseBody = createobject("CkStringBuilder")
loResp.GetBodySb(loSbResponseBody)

loJResp = createobject("CkJsonObject")
loJResp.LoadSb(loSbResponseBody)
loJResp.EmitCompact = .F.

? "Response Body:"
? loJResp.Emit()

lnRespStatusCode = loResp.StatusCode
? "Response Status Code = " + str(lnRespStatusCode)
if (lnRespStatusCode >= 400) then
    ? "Response Header:"
    ? loResp.Header
    ? "Failed."
    release loResp
    release loHttp
    release loJson
    release loSbRequestBody
    release loSbResponseBody
    release loJResp
    return
endif

release loResp

// 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

llSuccess = loJResp.BoolOf("success")
lcHref = loJResp.StringOf("links.giftcommitment.href")
lcId = loJResp.StringOf("links.giftcommitment.id")
lcGiftcommitmentscheduleHref = loJResp.StringOf("links.giftcommitmentschedule.href")
lcGiftcommitmentscheduleId = loJResp.StringOf("links.giftcommitmentschedule.id")


release loHttp
release loJson
release loSbRequestBody
release loSbResponseBody
release loJResp

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    }"
    }
  ]
}