cURL
curl --request PATCH \
--url http://localhost:3000/connect/v1/transactions/product-transactions/{hashid}/invoice/ \
--header 'Authorization: <api-key>' \
--header 'Content-Type: multipart/form-data' \
--form invoice='@example-file'import requests
url = "http://localhost:3000/connect/v1/transactions/product-transactions/{hashid}/invoice/"
files = { "invoice": ("example-file", open("example-file", "rb")) }
headers = {"Authorization": "<api-key>"}
response = requests.patch(url, files=files, headers=headers)
print(response.text)const form = new FormData();
form.append('invoice', '<string>');
const options = {method: 'PATCH', headers: {Authorization: '<api-key>'}};
options.body = form;
fetch('http://localhost:3000/connect/v1/transactions/product-transactions/{hashid}/invoice/', 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 => "3000",
CURLOPT_URL => "http://localhost:3000/connect/v1/transactions/product-transactions/{hashid}/invoice/",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PATCH",
CURLOPT_POSTFIELDS => "-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"invoice\"; filename=\"example-file\"\r\nContent-Type: application/octet-stream\r\n\r\n<string>\r\n-----011000010111000001101001--",
CURLOPT_HTTPHEADER => [
"Authorization: <api-key>",
"Content-Type: multipart/form-data"
],
]);
$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 := "http://localhost:3000/connect/v1/transactions/product-transactions/{hashid}/invoice/"
payload := strings.NewReader("-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"invoice\"; filename=\"example-file\"\r\nContent-Type: application/octet-stream\r\n\r\n<string>\r\n-----011000010111000001101001--")
req, _ := http.NewRequest("PATCH", url, payload)
req.Header.Add("Authorization", "<api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.patch("http://localhost:3000/connect/v1/transactions/product-transactions/{hashid}/invoice/")
.header("Authorization", "<api-key>")
.body("-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"invoice\"; filename=\"example-file\"\r\nContent-Type: application/octet-stream\r\n\r\n<string>\r\n-----011000010111000001101001--")
.asString();require 'uri'
require 'net/http'
url = URI("http://localhost:3000/connect/v1/transactions/product-transactions/{hashid}/invoice/")
http = Net::HTTP.new(url.host, url.port)
request = Net::HTTP::Patch.new(url)
request["Authorization"] = '<api-key>'
request.body = "-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"invoice\"; filename=\"example-file\"\r\nContent-Type: application/octet-stream\r\n\r\n<string>\r\n-----011000010111000001101001--"
response = http.request(request)
puts response.read_body{
"id": "<string>",
"invoice": "<string>"
}Product Transactions
Update Product Invoice Endpoint
The Update Invoice for a Product Transaction endpoint allows you to patch and update the invoice for a specific product transaction identified by the hashid parameter. The request should include the invoice file in the form data. The API responds with the updated transaction details, including the transaction’s ID and the new invoice value.
PATCH
/
transactions
/
product-transactions
/
{hashid}
/
invoice
/
cURL
curl --request PATCH \
--url http://localhost:3000/connect/v1/transactions/product-transactions/{hashid}/invoice/ \
--header 'Authorization: <api-key>' \
--header 'Content-Type: multipart/form-data' \
--form invoice='@example-file'import requests
url = "http://localhost:3000/connect/v1/transactions/product-transactions/{hashid}/invoice/"
files = { "invoice": ("example-file", open("example-file", "rb")) }
headers = {"Authorization": "<api-key>"}
response = requests.patch(url, files=files, headers=headers)
print(response.text)const form = new FormData();
form.append('invoice', '<string>');
const options = {method: 'PATCH', headers: {Authorization: '<api-key>'}};
options.body = form;
fetch('http://localhost:3000/connect/v1/transactions/product-transactions/{hashid}/invoice/', 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 => "3000",
CURLOPT_URL => "http://localhost:3000/connect/v1/transactions/product-transactions/{hashid}/invoice/",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PATCH",
CURLOPT_POSTFIELDS => "-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"invoice\"; filename=\"example-file\"\r\nContent-Type: application/octet-stream\r\n\r\n<string>\r\n-----011000010111000001101001--",
CURLOPT_HTTPHEADER => [
"Authorization: <api-key>",
"Content-Type: multipart/form-data"
],
]);
$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 := "http://localhost:3000/connect/v1/transactions/product-transactions/{hashid}/invoice/"
payload := strings.NewReader("-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"invoice\"; filename=\"example-file\"\r\nContent-Type: application/octet-stream\r\n\r\n<string>\r\n-----011000010111000001101001--")
req, _ := http.NewRequest("PATCH", url, payload)
req.Header.Add("Authorization", "<api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.patch("http://localhost:3000/connect/v1/transactions/product-transactions/{hashid}/invoice/")
.header("Authorization", "<api-key>")
.body("-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"invoice\"; filename=\"example-file\"\r\nContent-Type: application/octet-stream\r\n\r\n<string>\r\n-----011000010111000001101001--")
.asString();require 'uri'
require 'net/http'
url = URI("http://localhost:3000/connect/v1/transactions/product-transactions/{hashid}/invoice/")
http = Net::HTTP.new(url.host, url.port)
request = Net::HTTP::Patch.new(url)
request["Authorization"] = '<api-key>'
request.body = "-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"invoice\"; filename=\"example-file\"\r\nContent-Type: application/octet-stream\r\n\r\n<string>\r\n-----011000010111000001101001--"
response = http.request(request)
puts response.read_body{
"id": "<string>",
"invoice": "<string>"
}⌘I
