Split Transaction
split_transaction
Use this format for adjusting existing transactions and allocating the money to different campaigns or funds
posthttps://app.kindful.com/admin/oauth2/api/v1/imports
{
"data_format": "split_transaction",
"action_type":"create",
"match_by": {
"transaction": "id"
},
"data_type":"json",
"data": [
{
"id": "17950412:1",
"transaction_id":"17950412",
"unit_amount_in_cents":"5000",
"quantity": "1",
"campaign": "Split Test 1",
"campaign_id": "splittest1",
"fund": "General1",
"fund_id": "General1"
},
{
"id": "17950412:2",
"transaction_id": "17950412",
"unit_amount_in_cents": "623",
"quantity": "1",
"campaign": "Split Test 2",
"campaign_id": "splittest2",
"fund": "General2",
"fund_id": "General2"
}
]
}
Body Params
The id field is an (API) application-specific field and is used to prevent duplicates when multiple applications are connected to the same Organization account.
For more information about creating and updating records, please see Intro to Record Matching
A transaction must exist in Kindful from a prior import or linking
If a transaction_id isn't found then the row will be dropped. Imports occur in the order they are received so it is fine to submit the contact_with_transaction and then the split_transaction before the first has completed.
Splitting A Transaction Created Externally - Using external_id
Split transaction default is to split a transaction using external_id. An example of this can be found below as the primary example.
If external_id is "null" on the transaction you cannot use API defaults and will need to use a match_by as described in the next paragraph.
Splitting A Transaction Created by Kindful - Using transaction_id
You can also split a transaction that has been created by Kindful and does not contain an external ID (in this case the transaction will contain a null status for external_id). In order to do so, you will need to use a match_by pointing towards transaction_id. You can find an example of this below.
ID for split transactions
Kindful stores split transactions in the same table as transactions as well as the link between external_id and transaction_id. If your application stores splits in separate tables be sure that the id's don't overlap.
This can be accomplished by specifying the id as "
ID overlap
If the id does overlap with an existing transaction it will be dropped and a notification added to GET /imports/
Quantities and unit amount must add up to transaction total
If transaction is currently for $100.00 (10000) the total combination of split transactions must add up.
Example:
2000 with quantity of 2
3000 with quantity of 2
id
No
Split transaction id
123ABC see note above.
234DEF:123ABC
String
transaction_id
No
234DEF
unit_amount_in_cents
Yes
this is in cents so 500 = $5.00
500
Must be > 0
quantity
No
integer that defaults to 1
2
campaign
No
event or category of transaction. Defaults to Partner Name
Gala, General, Mail Appeal
String
campaign_id
No
campaign identifier to minimize duplicates
String
parent_campaign
No
parent_campaign is only needed if you organize your campaigns in a hierarchy (for example, you organize your campaigns into categories). If parent_campaign is provided, it will be the parent of the provided campaign.
Events, Galas
String
parent_campaign_id
No
campaign identifier to minimize duplicates
String
fund
Yes (if unknown, pass 'General')
larger group or fund of where the money ends up
https://support.kindful.com/hc/en-us/articles/217204108
General, Restricted, Africa
String
fund_id
Yes (if unknown, send blank or do not specify field)
fund identifier to minimize duplicates
deleted_at
No
Soft deletes the split transaction
integer for unix timestamp (jan 1 1970) or string in UTC of ISO8601 or RFC3339 format
12345
Time