Create new tax transaction
curl --request POST \
--url https://prod01-apigw.{customer_name}.fabric.zone/api-tax/tax/create \
--header 'Content-Type: application/json' \
--header 'x-site-context: <x-site-context>' \
--data '
{
"type": "SalesInvoice",
"lineItems": [
{
"price": 12.99,
"quantity": 3,
"taxCode": "PF050099",
"title": "Fabric Inc T-Shirt",
"sku": "123456789Red-Shirt",
"lineItem": 3
}
],
"addresses": {
"shipTo": {
"street1": "2000 Main Street",
"city": "Irvine",
"state": "CA",
"country": "US",
"zipCode": "92614"
},
"shipFrom": {
"street1": "2000 Main Street",
"city": "Irvine",
"state": "CA",
"country": "US",
"zipCode": "92614"
}
}
}
'import requests
url = "https://prod01-apigw.{customer_name}.fabric.zone/api-tax/tax/create"
payload = {
"type": "SalesInvoice",
"lineItems": [
{
"price": 12.99,
"quantity": 3,
"taxCode": "PF050099",
"title": "Fabric Inc T-Shirt",
"sku": "123456789Red-Shirt",
"lineItem": 3
}
],
"addresses": {
"shipTo": {
"street1": "2000 Main Street",
"city": "Irvine",
"state": "CA",
"country": "US",
"zipCode": "92614"
},
"shipFrom": {
"street1": "2000 Main Street",
"city": "Irvine",
"state": "CA",
"country": "US",
"zipCode": "92614"
}
}
}
headers = {
"x-site-context": "<x-site-context>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'x-site-context': '<x-site-context>', 'Content-Type': 'application/json'},
body: JSON.stringify({
type: 'SalesInvoice',
lineItems: [
{
price: 12.99,
quantity: 3,
taxCode: 'PF050099',
title: 'Fabric Inc T-Shirt',
sku: '123456789Red-Shirt',
lineItem: 3
}
],
addresses: {
shipTo: {
street1: '2000 Main Street',
city: 'Irvine',
state: 'CA',
country: 'US',
zipCode: '92614'
},
shipFrom: {
street1: '2000 Main Street',
city: 'Irvine',
state: 'CA',
country: 'US',
zipCode: '92614'
}
}
})
};
fetch('https://prod01-apigw.{customer_name}.fabric.zone/api-tax/tax/create', 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://prod01-apigw.{customer_name}.fabric.zone/api-tax/tax/create",
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([
'type' => 'SalesInvoice',
'lineItems' => [
[
'price' => 12.99,
'quantity' => 3,
'taxCode' => 'PF050099',
'title' => 'Fabric Inc T-Shirt',
'sku' => '123456789Red-Shirt',
'lineItem' => 3
]
],
'addresses' => [
'shipTo' => [
'street1' => '2000 Main Street',
'city' => 'Irvine',
'state' => 'CA',
'country' => 'US',
'zipCode' => '92614'
],
'shipFrom' => [
'street1' => '2000 Main Street',
'city' => 'Irvine',
'state' => 'CA',
'country' => 'US',
'zipCode' => '92614'
]
]
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"x-site-context: <x-site-context>"
],
]);
$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://prod01-apigw.{customer_name}.fabric.zone/api-tax/tax/create"
payload := strings.NewReader("{\n \"type\": \"SalesInvoice\",\n \"lineItems\": [\n {\n \"price\": 12.99,\n \"quantity\": 3,\n \"taxCode\": \"PF050099\",\n \"title\": \"Fabric Inc T-Shirt\",\n \"sku\": \"123456789Red-Shirt\",\n \"lineItem\": 3\n }\n ],\n \"addresses\": {\n \"shipTo\": {\n \"street1\": \"2000 Main Street\",\n \"city\": \"Irvine\",\n \"state\": \"CA\",\n \"country\": \"US\",\n \"zipCode\": \"92614\"\n },\n \"shipFrom\": {\n \"street1\": \"2000 Main Street\",\n \"city\": \"Irvine\",\n \"state\": \"CA\",\n \"country\": \"US\",\n \"zipCode\": \"92614\"\n }\n }\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("x-site-context", "<x-site-context>")
req.Header.Add("Content-Type", "application/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://prod01-apigw.{customer_name}.fabric.zone/api-tax/tax/create")
.header("x-site-context", "<x-site-context>")
.header("Content-Type", "application/json")
.body("{\n \"type\": \"SalesInvoice\",\n \"lineItems\": [\n {\n \"price\": 12.99,\n \"quantity\": 3,\n \"taxCode\": \"PF050099\",\n \"title\": \"Fabric Inc T-Shirt\",\n \"sku\": \"123456789Red-Shirt\",\n \"lineItem\": 3\n }\n ],\n \"addresses\": {\n \"shipTo\": {\n \"street1\": \"2000 Main Street\",\n \"city\": \"Irvine\",\n \"state\": \"CA\",\n \"country\": \"US\",\n \"zipCode\": \"92614\"\n },\n \"shipFrom\": {\n \"street1\": \"2000 Main Street\",\n \"city\": \"Irvine\",\n \"state\": \"CA\",\n \"country\": \"US\",\n \"zipCode\": \"92614\"\n }\n }\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://prod01-apigw.{customer_name}.fabric.zone/api-tax/tax/create")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["x-site-context"] = '<x-site-context>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"type\": \"SalesInvoice\",\n \"lineItems\": [\n {\n \"price\": 12.99,\n \"quantity\": 3,\n \"taxCode\": \"PF050099\",\n \"title\": \"Fabric Inc T-Shirt\",\n \"sku\": \"123456789Red-Shirt\",\n \"lineItem\": 3\n }\n ],\n \"addresses\": {\n \"shipTo\": {\n \"street1\": \"2000 Main Street\",\n \"city\": \"Irvine\",\n \"state\": \"CA\",\n \"country\": \"US\",\n \"zipCode\": \"92614\"\n },\n \"shipFrom\": {\n \"street1\": \"2000 Main Street\",\n \"city\": \"Irvine\",\n \"state\": \"CA\",\n \"country\": \"US\",\n \"zipCode\": \"92614\"\n }\n }\n}"
response = http.request(request)
puts response.read_body{
"code": "e2ab8924-4316-47b6-880d-3744b16aaa4f",
"date": "2021-09-19",
"status": "Saved",
"type": "SalesInvoice",
"customerCode": "FABRIC_INC",
"totalAmount": 2063.39,
"totalExempt": 182.97,
"totalDiscount": 0,
"totalTax": 145.73,
"totalTaxable": 1880.42,
"totalTaxCalculated": 145.73,
"lines": [
{
"id": 6000306551642,
"lineNumber": "1",
"description": "Chocolate",
"isItemTaxable": true,
"lineAmount": null,
"quantity": 2,
"tax": 139.5,
"taxableAmount": 1800,
"taxCalculated": 139.5,
"taxCode": "P0000000"
}
]
}{
"code": "<string>",
"message": "<string>"
}{
"code": "<string>",
"message": "<string>"
}Tax/Address Validate
Create new tax transaction
Create new tax transaction for Estimates or Final Sales Invoice
POST
/
api-tax
/
tax
/
create
Create new tax transaction
curl --request POST \
--url https://prod01-apigw.{customer_name}.fabric.zone/api-tax/tax/create \
--header 'Content-Type: application/json' \
--header 'x-site-context: <x-site-context>' \
--data '
{
"type": "SalesInvoice",
"lineItems": [
{
"price": 12.99,
"quantity": 3,
"taxCode": "PF050099",
"title": "Fabric Inc T-Shirt",
"sku": "123456789Red-Shirt",
"lineItem": 3
}
],
"addresses": {
"shipTo": {
"street1": "2000 Main Street",
"city": "Irvine",
"state": "CA",
"country": "US",
"zipCode": "92614"
},
"shipFrom": {
"street1": "2000 Main Street",
"city": "Irvine",
"state": "CA",
"country": "US",
"zipCode": "92614"
}
}
}
'import requests
url = "https://prod01-apigw.{customer_name}.fabric.zone/api-tax/tax/create"
payload = {
"type": "SalesInvoice",
"lineItems": [
{
"price": 12.99,
"quantity": 3,
"taxCode": "PF050099",
"title": "Fabric Inc T-Shirt",
"sku": "123456789Red-Shirt",
"lineItem": 3
}
],
"addresses": {
"shipTo": {
"street1": "2000 Main Street",
"city": "Irvine",
"state": "CA",
"country": "US",
"zipCode": "92614"
},
"shipFrom": {
"street1": "2000 Main Street",
"city": "Irvine",
"state": "CA",
"country": "US",
"zipCode": "92614"
}
}
}
headers = {
"x-site-context": "<x-site-context>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'x-site-context': '<x-site-context>', 'Content-Type': 'application/json'},
body: JSON.stringify({
type: 'SalesInvoice',
lineItems: [
{
price: 12.99,
quantity: 3,
taxCode: 'PF050099',
title: 'Fabric Inc T-Shirt',
sku: '123456789Red-Shirt',
lineItem: 3
}
],
addresses: {
shipTo: {
street1: '2000 Main Street',
city: 'Irvine',
state: 'CA',
country: 'US',
zipCode: '92614'
},
shipFrom: {
street1: '2000 Main Street',
city: 'Irvine',
state: 'CA',
country: 'US',
zipCode: '92614'
}
}
})
};
fetch('https://prod01-apigw.{customer_name}.fabric.zone/api-tax/tax/create', 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://prod01-apigw.{customer_name}.fabric.zone/api-tax/tax/create",
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([
'type' => 'SalesInvoice',
'lineItems' => [
[
'price' => 12.99,
'quantity' => 3,
'taxCode' => 'PF050099',
'title' => 'Fabric Inc T-Shirt',
'sku' => '123456789Red-Shirt',
'lineItem' => 3
]
],
'addresses' => [
'shipTo' => [
'street1' => '2000 Main Street',
'city' => 'Irvine',
'state' => 'CA',
'country' => 'US',
'zipCode' => '92614'
],
'shipFrom' => [
'street1' => '2000 Main Street',
'city' => 'Irvine',
'state' => 'CA',
'country' => 'US',
'zipCode' => '92614'
]
]
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"x-site-context: <x-site-context>"
],
]);
$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://prod01-apigw.{customer_name}.fabric.zone/api-tax/tax/create"
payload := strings.NewReader("{\n \"type\": \"SalesInvoice\",\n \"lineItems\": [\n {\n \"price\": 12.99,\n \"quantity\": 3,\n \"taxCode\": \"PF050099\",\n \"title\": \"Fabric Inc T-Shirt\",\n \"sku\": \"123456789Red-Shirt\",\n \"lineItem\": 3\n }\n ],\n \"addresses\": {\n \"shipTo\": {\n \"street1\": \"2000 Main Street\",\n \"city\": \"Irvine\",\n \"state\": \"CA\",\n \"country\": \"US\",\n \"zipCode\": \"92614\"\n },\n \"shipFrom\": {\n \"street1\": \"2000 Main Street\",\n \"city\": \"Irvine\",\n \"state\": \"CA\",\n \"country\": \"US\",\n \"zipCode\": \"92614\"\n }\n }\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("x-site-context", "<x-site-context>")
req.Header.Add("Content-Type", "application/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://prod01-apigw.{customer_name}.fabric.zone/api-tax/tax/create")
.header("x-site-context", "<x-site-context>")
.header("Content-Type", "application/json")
.body("{\n \"type\": \"SalesInvoice\",\n \"lineItems\": [\n {\n \"price\": 12.99,\n \"quantity\": 3,\n \"taxCode\": \"PF050099\",\n \"title\": \"Fabric Inc T-Shirt\",\n \"sku\": \"123456789Red-Shirt\",\n \"lineItem\": 3\n }\n ],\n \"addresses\": {\n \"shipTo\": {\n \"street1\": \"2000 Main Street\",\n \"city\": \"Irvine\",\n \"state\": \"CA\",\n \"country\": \"US\",\n \"zipCode\": \"92614\"\n },\n \"shipFrom\": {\n \"street1\": \"2000 Main Street\",\n \"city\": \"Irvine\",\n \"state\": \"CA\",\n \"country\": \"US\",\n \"zipCode\": \"92614\"\n }\n }\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://prod01-apigw.{customer_name}.fabric.zone/api-tax/tax/create")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["x-site-context"] = '<x-site-context>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"type\": \"SalesInvoice\",\n \"lineItems\": [\n {\n \"price\": 12.99,\n \"quantity\": 3,\n \"taxCode\": \"PF050099\",\n \"title\": \"Fabric Inc T-Shirt\",\n \"sku\": \"123456789Red-Shirt\",\n \"lineItem\": 3\n }\n ],\n \"addresses\": {\n \"shipTo\": {\n \"street1\": \"2000 Main Street\",\n \"city\": \"Irvine\",\n \"state\": \"CA\",\n \"country\": \"US\",\n \"zipCode\": \"92614\"\n },\n \"shipFrom\": {\n \"street1\": \"2000 Main Street\",\n \"city\": \"Irvine\",\n \"state\": \"CA\",\n \"country\": \"US\",\n \"zipCode\": \"92614\"\n }\n }\n}"
response = http.request(request)
puts response.read_body{
"code": "e2ab8924-4316-47b6-880d-3744b16aaa4f",
"date": "2021-09-19",
"status": "Saved",
"type": "SalesInvoice",
"customerCode": "FABRIC_INC",
"totalAmount": 2063.39,
"totalExempt": 182.97,
"totalDiscount": 0,
"totalTax": 145.73,
"totalTaxable": 1880.42,
"totalTaxCalculated": 145.73,
"lines": [
{
"id": 6000306551642,
"lineNumber": "1",
"description": "Chocolate",
"isItemTaxable": true,
"lineAmount": null,
"quantity": 2,
"tax": 139.5,
"taxableAmount": 1800,
"taxCalculated": 139.5,
"taxCode": "P0000000"
}
]
}{
"code": "<string>",
"message": "<string>"
}{
"code": "<string>",
"message": "<string>"
}Headers
The x-site-context header is a JSON object that contains information about the source you wish to pull from. The mandatory account is the 24 character identifier found in Copilot. The channel (Sales channel ID), stage (environment name), and date attributes can be used to further narrow the scope of your data source.
Example:
"{\"date\": \"2023-01-01T00:00:00.000Z\", \"channel\": 12, \"account\": \"1234abcd5678efgh9ijklmno\",\"stage\":\"production\"}"
Body
application/json
Response
Created tax
Example:
"e2ab8924-4316-47b6-880d-3744b16aaa4f"
Example:
"2021-09-19"
Example:
"Saved"
Example:
"SalesInvoice"
Example:
"FABRIC_INC"
Example:
2063.39
Example:
182.97
Example:
0
Example:
145.73
Example:
1880.42
Example:
145.73
Show child attributes
Show child attributes
Was this page helpful?
⌘I
