Reconciliation
Instant reconciliation
Run instant reconciliation with the Go SDK.
POST
/
reconciliation
/
start-instant
Instant reconciliation
curl --request POST \
--url http://localhost:5001/reconciliation/start-instant \
--header 'X-blnk-key: <api-key>'import requests
url = "http://localhost:5001/reconciliation/start-instant"
headers = {"X-blnk-key": "<api-key>"}
response = requests.post(url, headers=headers)
print(response.text)const options = {method: 'POST', headers: {'X-blnk-key': '<api-key>'}};
fetch('http://localhost:5001/reconciliation/start-instant', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_PORT => "5001",
CURLOPT_URL => "http://localhost:5001/reconciliation/start-instant",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_HTTPHEADER => [
"X-blnk-key: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "http://localhost:5001/reconciliation/start-instant"
req, _ := http.NewRequest("POST", url, nil)
req.Header.Add("X-blnk-key", "<api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("http://localhost:5001/reconciliation/start-instant")
.header("X-blnk-key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("http://localhost:5001/reconciliation/start-instant")
http = Net::HTTP.new(url.host, url.port)
request = Net::HTTP::Post.new(url)
request["X-blnk-key"] = '<api-key>'
response = http.request(request)
puts response.read_bodyUse
Go response (
client.Reconciliation.RunInstant to reconcile external records inline.
1
Call the method
client.Reconciliation.RunInstant
txnDate := time.Date(2024, 11, 15, 14, 25, 30, 0, time.UTC)
instantResp, resp, err := client.Reconciliation.RunInstant(blnkgo.RunInstantReconData{
ExternalTransactions: []blnkgo.ExternalTransaction{
{
ID: "txn_1",
Amount: 5.49,
Reference: "INV-2023-002",
Currency: "GBP",
Description: "Card payment",
Date: &txnDate,
Source: "bank-api",
},
},
Strategy: blnkgo.ReconciliationStrategyOneToOne,
DryRun: true,
MatchingRuleIDs: []string{"rule_890bdbc4-467f-4670"},
})
| Field | Type | Description |
|---|---|---|
ExternalTransactions | []blnkgo.ExternalTransaction | Array of external transaction rows to reconcile. |
ExternalTransactions[].ID | string | Unique external transaction ID. |
ExternalTransactions[].Amount | float64 | Transaction amount. |
ExternalTransactions[].Reference | string | Unique transaction reference. |
ExternalTransactions[].Currency | string | ISO 4217 currency code. |
ExternalTransactions[].Description | string | Description of the transaction. |
ExternalTransactions[].Date | *time.Time | Transaction date and time. |
ExternalTransactions[].Source | string | Origin of the transaction data. |
Strategy | blnkgo.ReconciliationStrategy | Match strategy: ReconciliationStrategyOneToOne, ReconciliationStrategyOneToMany, or ReconciliationStrategyManyToOne. |
MatchingRuleIDs | []string | IDs of the matching rules to apply. |
Show Optional parameters
Show Optional parameters
| Field | Type | Description |
|---|---|---|
DryRun | bool | Set true to test without writing results to the ledger. |
GroupingCriteria | blnkgo.CriteriaField | Field used to group records during matching. |
2
Response
200 OK
{
"reconciliation_id": "rec_a8f2c91d-1234-4abc-9def-0123456789ab"
}
Go response (*blnkgo.StartReconciliationResponse)
| Field | Type | Description |
|---|---|---|
ReconciliationID | string | ID of the reconciliation run. Use it with client.Reconciliation.Get to check status. |
Need help?
We are very happy to help you make the most of Blnk, regardless of whether it is your first time or you are switching from another tool. To ask questions or discuss issues, please contact us or join our Discord community.Was this page helpful?
⌘I