Add or Update Bulk Price - Fabric

Add or Update Bulk Price

cURL

curl --request POST \ 
  --url https://prod01-apigw.yourcompany.fabric.zone/api-price/price/bulk-insert \ 
  --header 'Content-Type: application/json' \ 
  --header 'x-api-key: <x-api-key>' \ 
  --header 'x-site-context: <x-site-context>' \ 
  --data '[\
  {\
    "priceListId": 100000,\
    "itemId": 1000011218,\
    "offers": [\
      {\
        "channel": 12,\
        "startDate": "2021-12-30T02:05:47.234Z",\
        "endDate": "2099-12-31T00:00:00.000Z",\
        "price": {\
          "base": 2000,\
          "currency": "USD",\
          "sale": "",\
          "cost": ""\
        },\
        "kind": 0,\
        "range": [\
          {\
            "minQuantity": 2,\
            "price": 500\
          }\
        ]\
      }\
    ],\
    "itemSku": "1234XYZ"\
  }\
]'

Python

import requests

url = "https://prod01-apigw.yourcompany.fabric.zone/api-price/price/bulk-insert"

payload = [\
    {\
        "priceListId": 100000,\
        "itemId": 1000011218,\
        "offers": [\
            {\
                "channel": 12,\
                "startDate": "2021-12-30T02:05:47.234Z",\
                "endDate": "2099-12-31T00:00:00.000Z",\
                "price": {\
                    "base": 2000,\
                    "currency": "USD",\
                    "sale": "",\
                    "cost": ""\
                },\
                "kind": 0,\
                "range": [\
                    {\
                        "minQuantity": 2,\
                        "price": 500\
                    }\
                ]\
            }\
        ],\
        "itemSku": "1234XYZ"\
    }\
]
headers = {\
    "x-site-context": "<x-site-context>",\
    "x-api-key": "<x-api-key>",\
    "Content-Type": "application/json"\
}

response = requests.post(url, json=payload, headers=headers)

print(response.text)

JavaScript (Fetch)

const options = {\
  method: 'POST',\
  headers: {\
    'x-site-context': '<x-site-context>',\
    'x-api-key': '<x-api-key>',\
    'Content-Type': 'application/json'\
  },\
  body: JSON.stringify([\
    {\
      priceListId: 100000,\
      itemId: 1000011218,\
      offers: [\
        {\
          channel: 12,\
          startDate: '2021-12-30T02:05:47.234Z',\
          endDate: '2099-12-31T00:00:00.000Z',\
          price: {base: 2000, currency: 'USD', sale: '', cost: ''},\
          kind: 0,\
          range: [{minQuantity: 2, price: 500}]\
        }\
      ],\
      itemSku: '1234XYZ'\
    }\
  ])\
};

fetch('https://prod01-apigw.yourcompany.fabric.zone/api-price/price/bulk-insert', 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.yourcompany.fabric.zone/api-price/price/bulk-insert",\
  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([\
    [\
        'priceListId' => 100000,\
        'itemId' => 1000011218,\
        'offers' => [\
                [\
                                'channel' => 12,\
                                'startDate' => '2021-12-30T02:05:47.234Z',\
                                'endDate' => '2099-12-31T00:00:00.000Z',\
                                'price' => [\
                                                                'base' => 2000,\
                                                                'currency' => 'USD',\
                                                                'sale' => '',\
                                                                'cost' => ''\
                                ],\
                                'kind' => 0,\
                                'range' => [\
                                                                [\
                                                                                                                                'minQuantity' => 2,\
                                                                                                                                'price' => 500\
                                                                ]\
                                ]\
                ]\
        ],\
        'itemSku' => '1234XYZ'\
    ]\
  ]),\
  CURLOPT_HTTPHEADER => [\
    "Content-Type: application/json",\
    "x-api-key: <x-api-key>",\
    "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-apigw.yourcompany.fabric.zone/api-price/price/bulk-insert"

payload := strings.NewReader("[\n  {\n    \"priceListId\": 100000,\n    \"itemId\": 1000011218,\n    \"offers\": [\n      {\n        \"channel\": 12,\n        \"startDate\": \"2021-12-30T02:05:47.234Z\",\n        \"endDate\": \"2099-12-31T00:00:00.000Z\",\n        \"price\": {\n          \"base\": 2000,\n          \"currency\": \"USD\",\n          \"sale\": \"\",\n          \"cost\": \"\"\n        },\n        \"kind\": 0,\n        \"range\": [\n          {\n            \"minQuantity\": 2,\n            \"price\": 500\n          }\n        ]\n      }\n    ],\n    \"itemSku\": \"1234XYZ\"\n  }\n]")

req, _ := http.NewRequest("POST", url, payload)

req.Header.Add("x-site-context", "<x-site-context>")
    req.Header.Add("x-api-key", "<x-api-key>")
    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))
}

Responses

Success Response:

[\
  {\
    "_id": "616e011037a3810008cfb256",\
    "priceListId": 100000,\
    "isSoftDeleted": false,\
    "itemId": 1000011218,\
    "itemSku": "1234XYZ",\
    "offerId": 381933,\
    "offers": [\
      {\
        "kind": 0,\
        "channel": 12,\
        "startDate": "2021-12-30T02:05:00.000Z",\
        "endDate": "2099-12-31T00:00:00.000Z",\
        "price": {\
          "base": 2000,\
          "sale": null,\
          "cost": "",\
          "currency": "USD"\
        },\
        "offerCode": 123786,\
        "range": [\
          {\
            "_id": "616e143828d0b800086dd84a",\
            "minQuantity": 2,\
            "price": 500\
          }\
        ]\
      }\
    ],\
    "createdAt": "2021-10-18T23:19:44.852Z",\
    "updatedAt": "2021-10-19T00:40:30.341Z",\
    "job": false\
  }\
]

Error Responses:

{\
  "code": 400,\
  "message": "SKU cannot be empty"\
}
{\
  "code": 500,\
  "message": "An internal error occurred. If the issue persists please contact support@fabric.inc."\
}

Headers