Generate invoice - Fabric
Documentation Index
Fetch the complete documentation index at: /llms.txt
Use this file to discover all available pages before exploring further.
Generate invoice
cURL
curl --request POST \
--url https://prod01.oms.fabric.inc/api/v2/invoice/ \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--header 'x-site-context: <x-site-context>' \
--data '\n{
"detailType": "ORDER_CREATE/ORDER_RETURNS"
}'
Python
import requests
url = "https://prod01.oms.fabric.inc/api/v2/invoice/"
payload = { "detailType": "ORDER_CREATE/ORDER_RETURNS" }
headers = {
"x-site-context": "<x-site-context>",
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)
JavaScript (Fetch API)
const options = {
method: 'POST',
headers: {
'x-site-context': '<x-site-context>',
Authorization: 'Bearer <token>',
'Content-Type': 'application/json'
},
body: JSON.stringify({detailType: 'ORDER_CREATE/ORDER_RETURNS'})
};
fetch('https://prod01.oms.fabric.inc/api/v2/invoice/', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));
PHP
<?php
$curl = curl_init();
curl_setopt_array($curl, [\
CURLOPT_URL => "https://prod01.oms.fabric.inc/api/v2/invoice/",\
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([\
'detailType' => 'ORDER_CREATE/ORDER_RETURNS'\
]),\
CURLOPT_HTTPHEADER => [\
"Authorization: Bearer <token>",\
"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;
}
?>
Go
package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://prod01.oms.fabric.inc/api/v2/invoice/"
payload := strings.NewReader("{\n \"detailType\": \"ORDER_CREATE/ORDER_RETURNS\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("x-site-context", "<x-site-context>")
req.Header.Add("Authorization", "Bearer <token>")
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))
}
Java
HttpResponse<String> response = Unirest.post("https://prod01.oms.fabric.inc/api/v2/invoice/")
.header("x-site-context", "<x-site-context>")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"detailType\": \"ORDER_CREATE/ORDER_RETURNS\"\n}")
.asString();
Ruby
require 'uri'
require 'net/http'
url = URI("https://prod01.oms.fabric.inc/api/v2/invoice/")
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["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"detailType\": \"ORDER_CREATE/ORDER_RETURNS\"\n}"
response = http.request(request)
puts response.read_body
Expected Responses
- 201: Invoice generated
- 400: Bad Request
- 404: Shipment not found
- 500: Internal Server Error
Response Example
{
"invoiceId": "62ff5c0bec0aed3c86202c32",
"shipmentId": "62ff5c0bec0aed3c86202c32",
"statusCode": "CREATED/POSTED/ACKNOWLEDGED",
"channelId": "strate",
"invoiceTotal": 245.7,
"totalTaxAmount": 245.7,
"currency": "dollar",
"invoiceNumber": "23940791",
"invoiceStatus": "CAPTURED/SETTLED",
"invoiceType": "SHIPPING/APPEASEMENT",
"invoiceDate": "2022-08-01T20:03:28.483971941Z",
"shipmentNumber": "217088603",
"shippedOn": "2022-08-01T20:03:28.483971941Z",
"orders": [
{
"orderId": "62ff5c0bec0aed3c86202c32",
"invoiceOrderTotal": 245.7,
"orderNumber": "217088603",
"orderDate": "2022-05-12T09:30:31.198Z",
"orderType": "WEB",
"orderSubType": "International",
"items": [
{
"lineItemId": "1adfrghhh2346aaaf",
"lineItemNumber": 1,
"shipmentLineItemId": "<string>",
"itemId": "1234",
"orderId": "<string>",
"type": "WEB_PICKUP",
"sku": "P1234",
"invoiceQuantity": 10,
"itemUnitPrice": 123,
"invoiceLineTotal": 600,
"itemDiscountsTotal": 123,
"itemTaxTotal": 123,
"itemFeeTotal": 123,
"itemAppeasementTotal": 123,
"lineItemCreatedAt": "2023-11-07T05:31:56Z",
"locationStoreId": "<string>",
"returnExpiryDays": "<string>",
"currency": "<string>",
"fees": [
{
"type": "tax",
"value": 34.56
}
],
"taxDetail": [
{
"type": "tax",
"value": 34.56
}
],
"appeasements": [
{
"appeasementCounter": 1,
"reasonCode": "Incorrect Item",
"subReasonCode": "Late shipping",
"value": 34.56,
"invoiceValue": 34.56,
"payments": [
{
"paymentCounter": 1,
"refundAmount": 40
}
]
}
],
"discount": [
{
"quantity": 2,
"value": 2,
"promoId": "HNY2022",
"promoCode": "HNY2022",
"promoTitle": "Happy New Year",
"type": "promotion"
}
],
"shipToId": "5349b4ddd2781d08c09890f4",
"returns": [
{
"shipmentLineItemId": "<string>",
"shipmentQuantity": 123,
"refundAmount": 123,
"reasonCode": "<string>",
"invoiceDate": "2023-11-07T05:31:56Z"
}
],
"attributes": {},
"uom": "<string>"
}
],
"payments": [
{
"paymentCounter": 123,
"paymentDate": "2022-01-27T16:15:58.000-05:00",
"billToId": "62272e917b12209e68751d94",
"paymentIdentifier": {
"cardIdentifier": "***********3456"
},
"paymentProvider": "stripe",
"paymentToken": {
"token": "pi_34tr6787rt"
},
"paymentMethod": "CREDIT_CARD",
"paymentType": "VISA",
"currency": "USD",
"conversion": 1,
"paymentStatus": "OK",
"attributes": {},
"billToAddress": {
"addressLine1": "<string>",
"addressLine2": "<string>",
"addressLine3": "<string>",
"addressLine4": "<string>",
"city": "<string>",
"state": "<string>",
"country": "<string>",
"postalCode": "<string>",
"type": "<string>",
"contact": [
{
"type": "<string>",
"email": "<string>",
"phone": [
{
"number": "<string>",
"type": "<string>"
}
],
"name": {
"first": "<string>",
"middle": "<string>",
"last": "<string>"
}
}
]
},
"settlement": {
"settlementDate": "2022-01-27T16:15:58-05:00",
"settlementAmount": 123,
"attributes": {}
},
"authAmount": 123
}
],
"fees": [
{
"type": "tax",
"value": 34.56
}
],
"appeasements": [
{
"appeasementCounter": 1,
"reasonCode": "Incorrect Item",
"subReasonCode": "Late shipping",
"value": 34.56,
"invoiceValue": 34.56,
"payments": [
{
"paymentCounter": 1,
"refundAmount": 40
}
]
}
],
"discounts": [
{
"quantity": 2,
"value": 2,
"promoId": "HNY2022",
"promoCode": "HNY2022",
"promoTitle": "Happy New Year",
"type": "promotion"
}
],
"taxDetail": [
{
"type": "tax",
"value": 34.56
}
],
"attributes": {}
}
],
"locationNum": 3235,
"location": "object",
"retail": {
"locationNum": 123,
"cashierId": "<string>"
},
"createdAt": "2022-08-01T20:03:28.483971941Z",
"updatedAt": "2022-08-01T20:03:28.483971941Z",
"postedAt": "2022-08-01T20:03:28.483971941Z",
"acknowledgedAt": "2022-08-01T20:03:28.483971941Z",
"customer": {
"name": {
"first": "John",
"middle": "Middle",
"last": "Doe"
},
"email": "test@fabric.inc",
"phone": {
"number": "55555555555",
"type": "MOBILE"
},
"userId": "62272e917b12209e68751d94",
"accountId": "62272e917b12209e68751d94",
"employeeId": "62272e917b12209e68751d94",
"company": "Fabric",
"address": {
"addressLine1": "<string>",
"addressLine2": "<string>",
"addressLine3": "<string>",
"addressLine4": "<string>",
"city": "<string>",
"state": "<string>",
"country": "<string>",
"postalCode": "<string>",
"type": "<string>",
"contact": [
{
"type": "<string>",
"email": "<string>",
"phone": [
{
"number": "<string>",
"type": "<string>"
}
],
"name": {
"first": "<string>",
"middle": "<string>",
"last": "<string>"
}
}
]
}
},
"auditLogs": [
{
"lineItemId": "b03b72dc-78d8-4ea4-90fc-2fe6a1fe6569",
"auditId": "62272e917b12209e68751d94",
"auditType": "<string>",
"employeeId": "62272e917b12209e68751d94",
"auditTimestamp": "2022-05-12T09:24:54.804Z",
"source": "POS",
"reasonCode": "POS",
"subReasonCode": "POS",
"policyCode": "POS",
"note": "Note",
"lineItemNumber": 1,
"sku": "F5F",
"quantity": 1,
"amount": 2.4,
"paymentToken": {
"token": "pi_34tr6787rt",
"paymentType": "VISA"
},
"success": true,
"paymentResponse": {},
"updatedFields": [
{
"fieldName": "UOM",
"fieldOriginalValue": "PK"
}
],
"attributes": {}
}
],
"shipInfo": {
"shipToId": "5349b4ddd2781d08c09890f4",
"taxCode": "FR01",
"locationNum": "123",
"pickup": [
{
"name": {
"first": "John",
"middle": "Middle",
"last": "Doe"
},
"email": "test@fabric.inc",
"phone": {
"number": "55555555555",
"type": "MOBILE"
},
"pickupType": "Primary"
}
],
"shipToAddress": {
"address1": "Test Street",
"name": {
"first": "John",
"middle": "Middle",
"last": "Doe"
},
"email": "test@fabric.inc",
"phone": {
"number": "55555555555",
"type": "MOBILE"
},
"address2": "123 Parking Lot",
"address3": "<string>",
"address4": "<string>",
"city": "Beaumont",
"state": "TX",
"country": "USA",
"postalCode": "77705",
"type": "residence",
"latitude": 35.294952,
"longitude": 32.294952
},
"taxDetail": [
{
"type": "tax",
"value": 34.56
}
],
"shipMethod": "Express Delivery",
"shipToType": "SHIP_TO_ADDRESS",
"estimatedShipDate": "2022-05-12T09:30:31.198Z",
"estimatedDeliveryDate": "2022-05-12T09:30:31.198Z",
"shipToPrice": 20,
"shipToDiscount": 12.6,
"shipToTaxTotal": 12.6,
"shipmentInstructions": "User Instructions",
"attributes": {}
},
"attributes": {}
}
{
"message": "Bad Request"
}
{
"message": "Shipment with the given shipmentId is not found"
}
{
"message": "Internal Server Error"
}