Create transaction
Create a new transaction and associate it with an existing customer.
Example 1:
To associate the transaction with the customer ID 42, set the customer property to be:
"customer": { "id": 42 }
Example 2:
To associate the transaction with the customer email “john@doe.com”, set the customer property to be:
"customer": { "email": "john@doe.com" }
curl --request POST \
--url https://api.example.com/v3/transactions \
--header 'Content-Type: application/json-patch+json' \
--data '
{
"properties": {
"name": "Product A",
"amount": 99.9
},
"currency": "USD",
"partner": {
"name": "Microsoft"
},
"customer": {
"email": "john@doe.com"
},
"deal": null
}
'import requests
url = "https://api.example.com/v3/transactions"
payload = {
"properties": {
"name": "Product A",
"amount": 99.9
},
"currency": "USD",
"partner": { "name": "Microsoft" },
"customer": { "email": "john@doe.com" },
"deal": None
}
headers = {"Content-Type": "application/json-patch+json"}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'Content-Type': 'application/json-patch+json'},
body: JSON.stringify({
properties: {name: 'Product A', amount: 99.9},
currency: 'USD',
partner: {name: 'Microsoft'},
customer: {email: 'john@doe.com'},
deal: null
})
};
fetch('https://api.example.com/v3/transactions', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.example.com/v3/transactions",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'properties' => [
'name' => 'Product A',
'amount' => 99.9
],
'currency' => 'USD',
'partner' => [
'name' => 'Microsoft'
],
'customer' => [
'email' => 'john@doe.com'
],
'deal' => null
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json-patch+json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.example.com/v3/transactions"
payload := strings.NewReader("{\n \"properties\": {\n \"name\": \"Product A\",\n \"amount\": 99.9\n },\n \"currency\": \"USD\",\n \"partner\": {\n \"name\": \"Microsoft\"\n },\n \"customer\": {\n \"email\": \"john@doe.com\"\n },\n \"deal\": null\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Content-Type", "application/json-patch+json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.example.com/v3/transactions")
.header("Content-Type", "application/json-patch+json")
.body("{\n \"properties\": {\n \"name\": \"Product A\",\n \"amount\": 99.9\n },\n \"currency\": \"USD\",\n \"partner\": {\n \"name\": \"Microsoft\"\n },\n \"customer\": {\n \"email\": \"john@doe.com\"\n },\n \"deal\": null\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.example.com/v3/transactions")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Content-Type"] = 'application/json-patch+json'
request.body = "{\n \"properties\": {\n \"name\": \"Product A\",\n \"amount\": 99.9\n },\n \"currency\": \"USD\",\n \"partner\": {\n \"name\": \"Microsoft\"\n },\n \"customer\": {\n \"email\": \"john@doe.com\"\n },\n \"deal\": null\n}"
response = http.request(request)
puts response.read_body{
"id": 123,
"creationDate": "2023-11-07T05:31:56Z",
"properties": {},
"customerId": 123,
"partnerId": 123,
"dealId": 123,
"currency": "<string>",
"isDeleted": true,
"deletionDate": "2023-11-07T05:31:56Z"
}{
"errorCode": "Transactions.InvalidCustomerIdentifier",
"errorMessage": "You must specify one customer identifier"
}Body
The currency ISO 4217 code (EUR, USD, CAD, etc) for all currency properties.
1"EUR"
The list of transaction properties.
Show child attributes
Show child attributes
The partner selector used to search for a partner that must be attached to the transaction.
Show child attributes
Show child attributes
The customer selector used to search for a customer that must be attached to the transaction.
Show child attributes
Show child attributes
The deal selector used to search for a deal that must be attached to the transaction.
Show child attributes
Show child attributes
curl --request POST \
--url https://api.example.com/v3/transactions \
--header 'Content-Type: application/json-patch+json' \
--data '
{
"properties": {
"name": "Product A",
"amount": 99.9
},
"currency": "USD",
"partner": {
"name": "Microsoft"
},
"customer": {
"email": "john@doe.com"
},
"deal": null
}
'import requests
url = "https://api.example.com/v3/transactions"
payload = {
"properties": {
"name": "Product A",
"amount": 99.9
},
"currency": "USD",
"partner": { "name": "Microsoft" },
"customer": { "email": "john@doe.com" },
"deal": None
}
headers = {"Content-Type": "application/json-patch+json"}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'Content-Type': 'application/json-patch+json'},
body: JSON.stringify({
properties: {name: 'Product A', amount: 99.9},
currency: 'USD',
partner: {name: 'Microsoft'},
customer: {email: 'john@doe.com'},
deal: null
})
};
fetch('https://api.example.com/v3/transactions', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.example.com/v3/transactions",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'properties' => [
'name' => 'Product A',
'amount' => 99.9
],
'currency' => 'USD',
'partner' => [
'name' => 'Microsoft'
],
'customer' => [
'email' => 'john@doe.com'
],
'deal' => null
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json-patch+json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.example.com/v3/transactions"
payload := strings.NewReader("{\n \"properties\": {\n \"name\": \"Product A\",\n \"amount\": 99.9\n },\n \"currency\": \"USD\",\n \"partner\": {\n \"name\": \"Microsoft\"\n },\n \"customer\": {\n \"email\": \"john@doe.com\"\n },\n \"deal\": null\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Content-Type", "application/json-patch+json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.example.com/v3/transactions")
.header("Content-Type", "application/json-patch+json")
.body("{\n \"properties\": {\n \"name\": \"Product A\",\n \"amount\": 99.9\n },\n \"currency\": \"USD\",\n \"partner\": {\n \"name\": \"Microsoft\"\n },\n \"customer\": {\n \"email\": \"john@doe.com\"\n },\n \"deal\": null\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.example.com/v3/transactions")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Content-Type"] = 'application/json-patch+json'
request.body = "{\n \"properties\": {\n \"name\": \"Product A\",\n \"amount\": 99.9\n },\n \"currency\": \"USD\",\n \"partner\": {\n \"name\": \"Microsoft\"\n },\n \"customer\": {\n \"email\": \"john@doe.com\"\n },\n \"deal\": null\n}"
response = http.request(request)
puts response.read_body{
"id": 123,
"creationDate": "2023-11-07T05:31:56Z",
"properties": {},
"customerId": 123,
"partnerId": 123,
"dealId": 123,
"currency": "<string>",
"isDeleted": true,
"deletionDate": "2023-11-07T05:31:56Z"
}{
"errorCode": "Transactions.InvalidCustomerIdentifier",
"errorMessage": "You must specify one customer identifier"
}