Create a revenue payment

Can anyone assist with what I may be missing on this. I have tried many different combinations on fields to include and they all get errors.

Example Request:
POST https://api.sky.blackbaud.com/crm-revmg/payments HTTP/1.1
Host: api.sky.blackbaud.com
Content-Type: application/json
Bb-Api-Subscription-Key: ••••••••••••••••••••••••••••••••
Authorization: ••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••

{
"constituent_id": "fdf5a75f-93ed-4698-840f-37a72e6b25b7",
"date": "2023-09-20",
"amount": 777.77,
"payment_method": "Credit card",
"card_holder_name": "Daniel Scott",
"receipt_amount": 777.77,
"post_date": "2023-09-20",
"post_status": "Not posted",
"revenue_streams": [
{
"application": "Donation",
"applied": 777.77,
"gift_fields": [
{
"applied": 777.77,
"designation_id": "bcd656b1-f1cd-4367-b3cc-b120284ab859",
},
]
}
],
"given_anonymously": false,
"channel": "FundraiseUp",
"do_not_acknowledge": true,
"do_not_receipt": true,
"households_can_be_donors": false,
"reference": "FRU123",
"pd_account_system": "4e19a831-ddec-4782-a87f-366991baa9e8",
"transaction_currency_id": "86744052-7798-4F06-81E5-87E485FF1A63",
"exchange_rate": 0.0
}

Response:
x-content-type-options: nosniff
strict-transport-security: max-age=31536000; includeSubDomains
Cache-Control: no-store, must-revalidate, no-cache
Date: Wed, 20 Sep 2023 21:15:05 GMT
Content-Length: 252
Content-Type: application/problem+json; charset=utf-8

{
"type": "urn:blackbaud:general-translation-error",
"title": "One or more validation errors occurred.",
"status": 400,
"detail": "One or more errors occurred. (Error in proxy call: )",
"trace_id": "6bbcb99831b94dd7b9c16ef948769ddf",
"span_id": "d9112b5aac3fa2fe"
}

Comments

  • Alex Wong
    Alex Wong Community All-Star
    Tenth Anniversary Kudos 5 Facilitator 4 bbcon 2025 Attendee Badge

    @Daniel Scott
    Your JSON request body has error, there are many free tool for json formatting and validation, you can try: https://jsongrid.com/json-grid

    The main problem is in your revenue_streams property, the 2 comma i highlighted is not needed

    "revenue_streams": [
    {
    "application": "Donation",
    "applied": 777.77,
    "gift_fields": [
    {
    "applied": 777.77,
    "designation_id": "bcd656b1-f1cd-4367-b3cc-b120284ab859",
    },
    ]
    }
    ],

  • @Alex Wong
    I ran it again with the issues fixed, I have ran it many times so this was one where I forgot to remove those. I am getting the same error even without the JSON issues. I believe it has more to do with a combination of fields that are required for the gift that are not explained in the example or list of properties available. I opened a ticket with support to; however, I figured I would add it here incase any other BBCRM customers are using it successfully.

    I currently have the add recurring gift option working, just working on this payment one is causing issues.

  • Alex Wong
    Alex Wong Community All-Star
    Tenth Anniversary Kudos 5 Facilitator 4 bbcon 2025 Attendee Badge

    @Daniel Scott
    I am not a CRM cusotmer so I am only able to help on your API calling. If you made sure your JSON is validated, then the rest is on you, support, or other CRM customer that uses API to make sure all the properties in the JSON is correctly added. Good Luck

Categories