NAV
shell http

Introduction

Advantages of integrating with Ounass Marketplace

Ounass Marketplace API Integration is an exclusive integration served only to Ounass Marketplace Vendors in which vendors execute their Ounass Marketplace related operations systematically and get latest updates on each product and transfer whenever they request. Using API decreases operational costs for companies and let them use their valuable workforce for more strategic actions. Our API's gives you many capalities so that you have the autonomy to operate by yourself in every step of your operation.


Product Creation

Vendors can send product information to create/update products.


Monitoring Product Statuses

We generate a catalog per each vendor that compose of successful product creations for vendors to monitor their products


Transfer/PO Creation

Vendors can create a transfer/PO anytime they want by checking if products are already in Ready status.


Appointment Creation

Vendors can request appointment automatically via API. No additional information is required.


Shipment Information Creation/Update

Vendors can create shipment information as international or local with shipment address, shipment contact, courier information /drop by vendor.


Sales Information

Vendors can request and get full order detail any time they want. We do record orders real time.

Order ID, Order Creation Date, Order Status, Status Record Date, Customer ID, Website, Shipment Country, Shipment City, SKU, Brand, VPN, Color, Size, Barcode, Gender, Category, Item Name, Pricing Type, Discount Amount, Retail Price, Retail Price AED, Gross Revenue AED, Currency Rate, SKU Quantity, Return Reason (exists if item is returned or cancelled)


Stock Information

Vendors can request and get stock detail any time they want. Stock Information can be received per different states.


Availability To Use Vendor Portal

Only vendors who integrate with our API’s can fully benefit from our portal.


Faster Go Live

We give autonomy to vendors to self-serve in each process with high visibility over their actions and decrease go live durations and increase efficiency on vendor behalf.


Dedicated Tech Team

As a part of Vendor Portal a fresh tech team is dedicated to serve Marketplace vendor needs.


Evolving API’s

Ounass Marketplace portal and it’s API’s will evolve in time giving users more functionality every month.

How to integrate via API

For end to end integration your systems should also have services available in the form of API’s as well and should be able to call REST API's. In order to integrate via API, you should have a technical employee or a 3rd party you work with to assess your integration capabilities. If you want to discuss further, please contact with your Account Manager.

Authorization

Marketplace Vendor portal uses API Token to allow access. The identity of the vendor is determined with API Token. In this way, it is ensured that the vendor only inquires about its products and other informations. You can create an API Token from API Management page under "Settings" after login.

api management link

Get API Key

After logging into the Vendor portal once you click Settings, a sub-menu will open called “API Management”. Once you clicked API Management, you will land to a page where you can create API Token. Only Token Name is necessary to generate an API Key. Still we recommend you to fill IP Restriction field. IP restriction is a second layer of security. By not typing any IP you will make your API's public. That means everyone who has your API token will be able to reach your API's. You can type multiple IPs by separating with comma. Once you click Generate API Token button don't forget to copy your Token and share with your tech team. You won't be able to reach your token again for security purposes once it is generated. If you didn't copy the Token then we advise you to create a new one. You can create multiple API Tokens and revoke the ones you don't use. Keep in mind that only Vendor Admins can reach API Management page.

api management screen

Marketplace Vendor portal expects the API Token to be included in all API requests to the server.

Integration Flow

Our integration flow and our REST API’s are as follows:

integration flow

Get Required Product Fields

To sell your products at Ounass, first the products has to be added to Ounass Catalog System. Before creating a product we have an API for our vendors to see the product fields necessary to be filled per each category.

Create Product

We have two types of API’s for our vendors to create/update product information.

Update Product

Product Creation and Product Update works exactly in the same manner. For update same API’s are used for excel and JSON.

Get Vendor Catalog

We have an API for vendors to get product information they created in our system. It brings detailed information about the products of the vendor: Including vendor product statuses, attribute values, price, stock etc.

Get Required Transfer/PO Fields

Purchase order means Transfer for us as in Marketplace Business Model nothing is purchased upfront. In order to send your stock to our warehouses, we have API’s which returns necessary fields to create a transfer.

Create Transfer/PO

We expect vendors to create a transfer to send their stock to our warehouses. Vendors can create a transfer for multiple brands or categories at the same time.

Update Transfer/PO

Transfer Creation and Transfer Update works exactly in the same manner. For update same API’s are used for excel and JSON. Only difference is inclusion of existing Transfer Number.

Create Appointment

After transfer creation vendors can request for an appointment anytime depending on their convenience and readiness to ship the stock. Appointment request means, vendor fully decided the SKU’s, Quantity and Warehouse they will transfer hence ship; there won’t be any update and want to share this information with appointment team so that appointment team can schedule earliest convenience to receive the shipment considering stock volume and warehouse operational density.

Delete Transfer/PO

Vendors can delete their existing transfers if they change their mind/stock is not available etc.

Create Shipment Info

After creating an appointment and deciding shipment method (drop by vendor or courier etc.), we expect vendors to send the related shipment and contact information so that in any problem our logic team can track your shipment from the information you transmit. Even though this is not mandatory, we especially recommend vendors to send shipment information on international shipments.

Update Shipment Info

Vendors can change shipment method or where the shipment is shipped from as well as courier details if typed wrong etc. To support this change, we have an API for vendors to update their existing shipment information.

Monitor Your Transfers

Vendors can track their transfer’s statuses in order to monitor the availability of the action they want to take regarding their transfer. This is mostly important if vendor would like to take further action right after transfer creation.

Get Order Data

We do record orders received real time. In order to report how your sales are going, which SKU is selling, which category is selling the most, full price or markdown is performing well, how frequent your customers are buying, from which website you are selling the most, where your products are shipped to, what is being returned or cancelled and why etc. you can get full order detail any time you want.

Get Stock Data

We do record stock transactions in our system and accordingly let vendor to get information upon Stock On Hand, Sellable Stock, Received Stock, In Transit Stock and Out of stock item detail and their quantities.

Product Integration

By making product integration with Ounass Marketplace Portal, you will be able to create your products which will form a catalog, update your existing products and list your products in your catalog to monitor their statuses in order to successfully create a transfer.

Create or Update Product

You can create a new product or update an existing product via excel or Json. Please view Excel - Product Create or Update. or JSON - Product Create or Update section according to your integration choice.

Excel - Product Create or Update

You can create a new or update an existing product by using following API's.

Depending on the parameters you pass, it will download a product creation template or a product update template, which are slightly different. Please see the details.

Validations:

There are many validations on API level. Any data against validations will receive error.

  1. Unique Barcode
    Barcode should be unique for each product.
  2. Style
    VPN, color and size combination makes your product unique and creates the product’s unique SKU ID. The VPN should remain the same for products with same style but their color and size should be different. VPN, color and size will not be changeable after creation, so please fill this field cautiously. If you would like to change these details in the future, you will have to create a new product that the system will register as new product.
  3. Category And Brand Alignment Per Style
    If products share the same style, their VPN’s should be the same. Hence products which has the same VPN should share the same category and brand as well.
  4. Size Of The Fields
    Fields with free-form values are Item Name (80 characters max), Description (250 characters max), VPN (30 characters max) and Barcode (25 characters max). Rest of the fields should be selected from specifications which you can find in each template with latest possible values.
  5. Request Size
    You can send up to 1,000 products (rows) in a single request.
  6. Mandatory fields
    Mandatory columns indicated with asterix * need to be sent with their values to create a product.
  7. Attribute Names
    The attribute names should remain the same (case insensitive). If you are having difficulty that way please contact your Account Manager for mapping with your column names.
  8. Alignment With Specifications
    All fields listed as dropdown should have a value selected among the specifications.

Download Vendor Product Template

This API is to download the product template that will be used to fill product information.

There are two types of templates slightly different: Product Create and Product Update

Product Creation Template vs Product Update Template

The parameter to determine to download product create or update template with the api is 'empty' parameter. If it is not passed (or passed as false), it will download update template with existing products. Otherwise, it will download an empty create template.

Here are what differs between two:

Product Create Template Product Update Template
Products for different categories are listed in different category sheets. Main category label of each product is the decisive of which information should be filled in order to create a product. Basically each main category label has different data fields mandatory / non mandatory to be captured. Products listed in a single sheet named 'Update'
Each sheet has its own attribute columns based on category There are only the common category attributes as columns in the sheet

However, the create template is also capable of updating products. If an existing product is listed in the create template, it will be treated as an update operation.

For product creation in order to download empty template with necessary fields and specifications, you can use following API's. Depending on your product portfolio, you can download a product template with single sheet by using below listed API's or can type multiple category ID's to your API request to download multiple sheets and process your upload for all.

Downloading empty product template examples

GET https://be-marketplace.ounass.com/api/v1/vendors/productTemplate?empty=true HTTP/1.1
Accept: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet
Authorization: Bearer {access-token}
Host: example.com

curl --request GET \
  --url 'https://be-marketplace.ounass.com/api/v1/vendors/productTemplate?empty=true' \
  --header 'Accept: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet' \
  --header 'Authorization: Bearer {access-token}'
Main Category Label (Sheets) Category ID(S) Path
All Main Categories /api/v1/vendors/productTemplate?empty=true
Accessories 2872&2973&3055 /api/v1/vendors/productTemplate?empty=true&categoryId[]=2872&categoryId[]=2973&categoryId[]=3055
Bags 3145&3231&3315 /api/v1/vendors/productTemplate?empty=true&categoryId[]=3145&categoryId[]=3231&categoryId[]=3315
Beauty 3399&3542&3690&3855 /api/v1/vendors/productTemplate?empty=true&categoryId[]=3399&categoryId[]=3542&categoryId[]=3690&categoryId[]=3855
Footwear 4480&4504 /api/v1/vendors/productTemplate?empty=true&categoryId[]=4480&categoryId[]=4504
Jewellery 4993&5092&5142&5273&5288&5298 /api/v1/vendors/productTemplate?empty=true&categoryId[]=4993&categoryId[]=5092&categoryId[]=5142&categoryId[]=5273&categoryId[]=5288&categoryId[]=5298
Kids 5313&5765 /api/v1/vendors/productTemplate?empty=true&categoryId[]=5313&categoryId[]=5765
Vintage 5904&6077&6232&6416&6520&6572 /api/v1/vendors/productTemplate?empty=true&categoryId[]=5904&categoryId[]=6077&categoryId[]=6232&categoryId[]=6416&categoryId[]=6520&categoryId[]=6572
Preowned 5854&5868&5882&5896&5900 /api/v1/vendors/productTemplate?empty=true&categoryId[]=5854&categoryId[]=5868&categoryId[]=5882&categoryId[]=5896&categoryId[]=5900
Clothing 4071&4197&4261 /api/v1/vendors/productTemplate?empty=true&categoryId[]=4071&categoryId[]=4197&categoryId[]=4261
Home, Tech & Equipment 4540&4601&4653&4880 /api/v1/vendors/productTemplate?empty=true&categoryId[]=4540&categoryId[]=4601&categoryId[]=4653&categoryId[]=4880

Downloading product template with existing products examples

GET https://be-marketplace.ounass.com/api/v1/vendors/productTemplate HTTP/1.1
Accept: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet
Authorization: Bearer {access-token}
Host: example.com

curl --request GET \
  --url 'https://be-marketplace.ounass.com/api/v1/vendors/productTemplate' \
  --header 'Accept: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet' \
  --header 'Authorization: Bearer {access-token}'

For product update, instead of filling the template from scratch, you can download all your existing product information or per main category by using following API's. Note that the products will be listed in a single sheet named 'Update'.

Download Product Template Query Parameters

In addition to above examples, Product template can be downloaded with a combination of below query parameters.

Name Type Description
empty boolean set 'true' to download empty excel for create. otherwise, it will download filled excel for update
vendorProductStatus array[string] vendor product's status (could be used like vendorProductStatus[]=ACTIVE&vendorProductStatus[]=READY)
productId array[integer] Set this if you want to filter by specific product/products (could be used like productId[]=1&productId[]=2&productId[]=3)
categoryId array[integer] Set this if you want to filter by specific category/categories (could be used like categoryId[]=1&categoryId[]=2&categoryId[]=3)
query string query text for search pages. You can search through VPN, Barcode, Item Name, SKU or Parent ID fields by adding space between keys. Bulk search is also available with unified string like VPN1 SKU2 ParentID3 "Item Name 4" "Barcode 05"
attribute string Set this if you want to filter by specific attribute/attributes (could be used like attribute[Color]=1&attribute[Color]=2&attribute[Size]=3)
brandId array[integer] Set this if you want to filter by specific brandId/brandIds (could be used like brandId[]=1&brandId[]=2&brandId[]=3)
createdAtFrom string(date-time) createdAtFrom parameter in YYYY-MM-DDTHH:mm:ssZ format
createdAtTo string(date-time) createdAtTo parameter in YYYY-MM-DDTHH:mm:ssZ format
updatedAtFrom string(date-time) updatedAtFrom parameter in YYYY-MM-DDTHH:mm:ssZ format
updatedAtTo string(date-time) updatedAtTo parameter in YYYY-MM-DDTHH:mm:ssZ format

While deciding which product is available for an update, check vendor product statuses.

Vendor Product Statuses

Status Description
PASSIVE Products are added to your catalog but not open to sale as Ounass General Price Currency is not selected as AED and Ounass General Retail Price is not filled and at least one website mentioned in Is Active (Ounass Website) field is not filled.
WAITING Product is newly created or Product Barcode, Retail Price or Is Active information update request is sent, your product will get the status as Waiting. During this status additional product update requests will fail.
PROCESSING Product Barcode/Is Active (Ounass Website) information is updated but waiting for the Retail Price update, you will get the status of Processing. Product can still be updated in this status and latest price update will be processed at 7:00 PM (GMT+4). Processing status will change only when the change is reflected (next day).
READY Product creation/update is finalized. Transfer can be created. Right now there is no stock received & inbound yet for product to go live.
ACTIVE Product is live on the website.
CLOSED This status will be displayed if a decision is made to take down the product, where the product will no longer be displayed on the website and cannot be updated.

Upload Vendor Product Template

POST /api/v1/vendors/productTemplate HTTP/1.1
Content-Type: multipart/form-data
Accept: application/json
Authorization: Bearer {access-token}
Content-Type: multipart/form-data; boundary=---011000010111000001101001
Host: be-marketplace.ounass.com
Content-Length: 119

-----011000010111000001101001
Content-Disposition: form-data; name="file"

string
-----011000010111000001101001--

curl --request POST \
  --url https://be-marketplace.ounass.com/api/v1/vendors/productTemplate \
  --header 'Accept: application/json' \
  --header 'Authorization: Bearer {access-token}' \
  --header 'Content-Type: multipart/form-data' \
  --header 'content-type: multipart/form-data; boundary=---011000010111000001101001' \
  --form file=string

This API is to upload the filled version of the product template to create the vendor products.

You can create / update your product via excel following the validations listed below.

Http Request:

POST /api/v1/vendors/productTemplate

Parameters:

Name Type Description
file string(binary) The filled version of the product template

The above command returns JSON structured like this:

{
  "status": 200,
  "result": [
    {
      "sheet": "string",
      "rowNumber": 0,
      "vendorProduct": {
        "id": 0,
        "parentId": "string",
        "barcode": "string",
        "vendorProductNo": "string",
        "color": "string",
        "size": "string",
        "status": "WAITING",
        "product": {
          "id": 0,
          "name": "string",
          "sku": "string",
          "status": "FAILED",
          "brand": {
            "id": 0,
            "name": "string"
          },
          "categories": [
            {
              "id": 0,
              "name": "string",
              "hierarchy": "string",
              "parentId": 0,
              "productCategory": {
                "categoryId": 0,
                "productId": 0,
                "categoryWithAttributes": 0
              }
            }
          ],
          "productAttributeValues": [
            {
              "attributeId": 0,
              "key": "string",
              "value": "string",
              "type": "OPTION",
              "group": "PRODUCT_INFORMATION",
              "mandatory": true
            }
          ]
        },
        "vendorProductAttributeValues": [
          {
            "attributeId": 0,
            "key": "string",
            "value": "string",
            "type": "OPTION",
            "group": "PRODUCT_INFORMATION",
            "mandatory": true
          }
        ],
        "vendorProductItems": [
          {
            "id": 0,
            "vendorProductId": 0,
            "platformWebsiteId": 0,
            "commission": 0,
            "retailPrice": 0,
            "basePrice": 0,
            "currencyCode": "string",
            "baseCurrencyCode": "string",
            "promotionPrice": 0,
            "promotionStart": "2019-08-24T14:15:22Z",
            "promotionEnd": "2019-08-24T14:15:22Z",
            "fulfilmentLocation": "string",
            "status": "ACTIVE"
          }
        ],
        "vendorProductStock": [
          {
            "id": 0,
            "stock": 0,
            "vendorProductId": 0,
            "vendorsWarehouseId": 0,
            "vendorsWarehouse": {
              "id": 0,
              "warehouse": {
                "id": 0,
                "name": "UAE Warehouse",
                "platform": {
                  "id": 0,
                  "name": "string",
                  "code": "string",
                  "logo": "string"
                }
              }
            }
          }
        ]
      }
    }
  ]
}

Response:

Name Type Description
status integer http status code
» result [object] array of result object per row in the uploaded excel
»» sheet string Template’s sheet name (Main Category Label)
»» rowNumber integer The number of processed row in the sheet
»» vendorProduct VendorProduct vendor product object
»» vendorProduct.id integer Created product’s vendor product id
»» vendorProduct.parentId integer Vendor Product’s ParentID which will be the same around the same Vendor product number
»» vendorProduct.barcode string Vendor product’s barcode
»» vendorProduct.vendorProductNo string Vendor product number which the vendor filled
»» vendorProduct.color string Color of the product
»» vendorProduct.size string Size of the product
»» vendorProduct.status string Status of the vendor product
»» vendorProduct.product Product Vendor product’s catalog product id and its details. Product SKU is the Id which you will see in the Ounass website
»» vendorProduct.product.name string Product name
»» vendorProduct.product.sku string Product sku
»» vendorProduct.product.brand Brand Product brand details
»» vendorProduct.product.categories [ProductCategory] Product’s category information details
»» vendorProduct.product.productAttributeValues [AttributeValue] Product’s attribute and its attribute values given by vendor
»» vendorProduct.vendorProductAttributeValues [AttributeValue] VendorProduct attribute and attribute values if there is any requested update
»» vendorProduct.vendorProductItems [VendorProductItem] Product’s region prices and their status details. You will get one vendor product item per each Ounass region
»» vendorProduct.vendorProductStock [VendorProductStock] Product’s stock in Ounass Warehouse
»» errors [object] Product creation/update error details if any. There can be general format errors as well as product based errors

JSON - Product Create or Update

You can also create or update your products via sending your request in the form of JSON payload.

[POST] /api/v1/vendors/products is used for uploading the template in order to create / update a product. If VPN, Color and Size values of a product exist, this product will be updated, otherwise a new product will be created.

You can create / update your product via JSON payload following the steps below;

  1. Check validations listed below
  2. Get product category hierarchy id
  3. Get list of category attributes
  4. Get brand name
  5. Construct payload and send product creation request

Validations:

There are many validations on API level. Any data against validations will receive error.

  1. Unique Barcode
    Barcode should be unique for each product.
  2. Style
    VPN, color and size combination makes your product unique and creates the product’s unique SKU ID. The VPN should remain the same for products with same style but their color and size should be different. VPN, color and size will not be changeable after creation, so please send this field cautiously. If you would like to change these details in the future, you will have to create a new product that the system will register as new product.
  3. Category And Brand Alignment Per Style
    If products share the same style, their VPN’s should be the same. Hence products which has the same VPN should share the same category and brand as well.
  4. Size Of The Fields
    Fields with free-form values are Item Name (80 characters max), Description (250 characters max), VPN (30 characters max) and Barcode (25 characters max).
  5. Request Size
    You can send up to 1,000 products (rows) in a single request.
  6. Mandatory fields
    Mandatory columns indicated with asterix * need to be sent with their values to create a product.
  7. Attribute Names
    The attribute names should remain the same (case insensitive). If you are having difficulty that way please contact your Account Manager for mapping with your column names.
  8. Alignment With Attribute Keys
    All fields listed as Attribute Keys should have a value matching within GET /api/v1/categories/{categoryId}/attributes per

Get product category hierarchy id

GET /api/v1/categories?level=4 HTTP/1.1
Accept: application/json
Authorization: Bearer {access-token}
Host: be-marketplace.ounass.com

curl --request GET \
  --url 'https://be-marketplace.ounass.com/api/v1/categories?level=4' \
  --header 'Accept: application/json' \
  --header 'Authorization: Bearer {access-token}'

Http Request:

GET /api/v1/categories?level=4

The above command returns JSON structured like this:

{
  "status": 200,
  "result": [
    {
      "id": 2839,
      "node_path": "2799.2800.2807.2839",
      "name": "Caps",
      "label": null,
      "level": 4,
      "hierarchy": "Womens > Accessories > Hats > Caps",
      "isSingleHierarchy": true,
      "isLeaf": true
    },
    .
    .
    .
    {
      "id": 2840,
      "node_path": "2799.2800.2807.2840",
      "name": "Cold Weather",
      "label": null,
      "level": 4,
      "hierarchy": "Womens > Accessories > Hats > Cold Weather",
      "isSingleHierarchy": true,
      "isLeaf": true
    },
    .
    .
    .
  ]
}

Response:

Name Type Description
status integer http status code
result [category] array of product category objects
» category.id integer category id
» category.name string category name
» category.hierarchy string category hierarchy

Please note category.id down, as it will be used in product creation json body as categoryId and used to query category attributes lists.

Get list of category attributes

GET /api/v1/categories/1670/attributes?keyMappingType=PRODUCT_API HTTP/1.1
Accept: application/json
Authorization: Bearer {access-token}
Host: be-marketplace.ounass.com
curl --request GET \
  --url 'https://be-marketplace.ounass.com/api/v1/categories/1670/attributes?keyMappingType=PRODUCT_API' \
  --header 'Accept: application/json' \
  --header 'Authorization: Bearer {access-token}'

Basically main category label of each product is the decisive of which information should be filled in order to create / update a product. Each main category label has different data fields mandatory / non mandatory to be captured.

Http Request:

GET /api/v1/categories/1670/attributes?keyMappingType=PRODUCT_API

Path Parameters:

Name Type Description
categoryId integer product category id

The above command returns JSON structured like this:

{
  "result": {
    "attributes": [
      {
        "key": "description",
        "type": "FREE_TEXT",
        "mandatory": true,
      },
      {
        "key": "Color",
        "type": "OPTION",
        "mandatory": true,
        "options": [
          {
            "id": 1584,
            "value": "Bright Red",
            "languageCode": "en"
          },
          {
            "id": 1585,
            "value": "Bright Yellow",
            "languageCode": "en"
          },
          .
          .
          .
        ]
      },
      {
        "key": "countryOfOrigin",
        "type": "OPTION",
        "mandatory": false,
        "options": [
          {
            "id": 1586,
            "value": "United Arab Emirates",
            "languageCode": "en"
          },
          {
            "id": 1587,
            "value": "United Kingdom",
            "languageCode": "en"
          },
          .
          .
          .
        ]
      },
      .
      .
      .
   }
  }
} 

Response:

Name Type Description
status integer http status code
result object category object
» attributes [object] array of attributes
»» key string attribute key
»» type string attribute type, can be one of OPTION, FREE_TEXT or IMAGE
»» mandatory boolean true if attribute is mandatory
»» options [object] array of attribute option values, only available if the type is OPTION
»»» id integer attribute option id
»»» value string attribute option value
»»» languageCode string language code for attribute option value

How to use category attributes array

sample categoryAttributes array to be used in product creation json body

{
  ...
  "categoryAttributes": [
    { "key": "description", "value": "my product description" },
    { "key": "color", "value": "Bright Red" },
    { "key": "countryOfOrigin", "value": "United Arab Emirates" },
    ...
  ],
}

attributes array contains list of all attributes of the given category, while constructing product creation json body you MUST include all mandatory attributes.

If an attribute type is OPTION, value of the attribute MUST be one from attribute.options array.

We will use the attribute.key and attribute.options for constructing categoryAttributes array of product creation json body.

Get brand name

GET /api/v1/vendors/brands HTTP/1.1
Accept: application/json
Authorization: Bearer {access-token}
Host: be-marketplace.ounass.com

curl --request GET \
  --url https://be-marketplace.ounass.com/api/v1/vendors/brands \
  --header 'Accept: application/json' \
  --header 'Authorization: Bearer {access-token}'

Http Request:

GET /api/v1/vendors/brands

The above command returns JSON structured like this:

{
  "status": 200,
  "result": [
    {
      "id": 5232,
      "name": "Bobbi Brown",
      "rmsCode": 9682
    },
    {
      "id": 5236,
      "name": "New Brand",
      "rmsCode": 9678
    },
    .
    .
    .
  ],
}

Please note brand.name down that you want to use for your products, as it will be used in product creation json body as brand.

Response:

Name Type Description
status integer http status code
result [brand] array of brands
» brand.id integer Brand id
» brand.name string Brand name

Create Vendor Product

POST /api/v1/vendors/products HTTP/1.1
Content-Type: application/json
Accept: application/json
Authorization: Bearer {access-token}
Host: be-marketplace.ounass.com
Content-Length: 599

{"items":[{"vpn":"vpn1234","barcodeUpc":"bardode1234","brand":"New Brand","itemName":"mp product name","ounassGeneralPriceCurrency":0,"ounassGeneralRetailPrice":0,"ounassKuwaitRetailPriceKwd":0,"ounassOmanRetailPriceOmr":0,"ounassBahrainRetailPriceBhd":0,"ounassQatarRetailPriceQar":0,"ounassSaudiRetailPriceSar":0,"ounassUaeRetailPriceAed":0,"isActiveOunassAll":"ACTIVE","isActiveOunassKuwait":"ACTIVE","isActiveOunassOman":"ACTIVE","isActiveOunassBahrain":"ACTIVE","isActiveOunassQatar":"ACTIVE","isActiveOunassSaudi":"ACTIVE","isActiveOunassUae":"ACTIVE","categoryAttributes":[{"key":"description","value":"my product description"},{ "key": "color", "value": "Bright Red" }]}]}
curl --request POST \
  --url https://be-marketplace.ounass.com/api/v1/vendors/products \
  --header 'Accept: application/json' \
  --header 'Authorization: Bearer {access-token}' \
  --header 'Content-Type: application/json' \
  --data '{"items":[{"vpn":"vpn1234","barcodeUpc":"barcode1234","brand":"New Brand","itemName":"mp product name","ounassGeneralPriceCurrency":0,"ounassGeneralRetailPrice":0,"ounassKuwaitRetailPriceKwd":0,"ounassOmanRetailPriceOmr":0,"ounassBahrainRetailPriceBhd":0,"ounassQatarRetailPriceQar":0,"ounassSaudiRetailPriceSar":0,"ounassUaeRetailPriceAed":0,"isActiveOunassAll":"ACTIVE","isActiveOunassKuwait":"ACTIVE","isActiveOunassOman":"ACTIVE","isActiveOunassBahrain":"ACTIVE","isActiveOunassQatar":"ACTIVE","isActiveOunassSaudi":"ACTIVE","isActiveOunassUae":"ACTIVE","categoryAttributes":[{"key":"description","value":"my product description"},{ "key": "color", "value": "Bright Red" }]}]}'

This API is to send product information to create the vendor products using JSON payloads.

Http Request:

POST /api/v1/vendors/products

Body Parameters:

Sample json body

{
  "items": [
    {
      "vpn": "vpn1234",
      "barcodeUpc": "bardode1234",
      "brand": "New Brand",
      "itemName": "mp product name",
      "ounassGeneralPriceCurrency": "AED",
      "ounassGeneralRetailPrice": 0,
      "ounassKuwaitRetailPriceKwd": 0,
      "ounassOmanRetailPriceOmr": 0,
      "ounassBahrainRetailPriceBhd": 0,
      "ounassQatarRetailPriceQar": 0,
      "ounassSaudiRetailPriceSar": 0,
      "ounassUaeRetailPriceAed": 0,
      "isActiveOunassAll": "ACTIVE",
      "isActiveOunassKuwait": "ACTIVE",
      "isActiveOunassOman": "ACTIVE",
      "isActiveOunassBahrain": "ACTIVE",
      "isActiveOunassQatar": "ACTIVE",
      "isActiveOunassSaudi": "ACTIVE",
      "isActiveOunassUae": "ACTIVE",
      "categoryAttributes": [
        { "key": "Category1/Category2/Category3/Category4", "value": "Category1 > Category 2 > Category3 > Category4" },
        { "key": "description", "value": "my product description" },
        { "key": "mainCategory", "value": "Category1" },
        { "key": "currentGroup", "value": "2" },
        { "key": "seasonPhase", "value": "Continuity - Continuity" },
        { "key": "key1", "value": "value1" },
        { "key": "key2", "value": "value2" }
      ]
    }
  ]
}

For details of fields, please see Fields and Explanations

Response:

Response has same structure as product creation with excel

Fields and Explanations

Below you can find common fields that will be filled in order to successfully record your product information. To see each field necessary mandatory /non mandatory to create a product view different category fields.

Field Type Mandatory Content Description
*Vpn String(20) Y Freetext VPN corresponds to Vendor Product Number. It should refer to the style code of the product. Variant of a product that share the same style should have the same VPN number. The products that has the same VPN should also have the same Brand and Category Hierarchy (Category1/Category2/Category3/Category4). VPN number is critical to create a unique SKU ID in Ounass system along with Color and Size and therefore VPN, Color and Size is not subject to change.
Barcode/Upc String(20) N Freetext Barcode of the product. It should be unique for each product.It is not mandatory except Beauty products. Also it can be updated after product is created.
*Item Name String(80) Y Freetext Name of the product. Please note that it will not exactly be the same on the website. Selected color and size will be added on top of name filled on the template. It is a mandatoy field. It can only be changed by Ounass Marketplace Team afterwards.
*Brand Dropdown Y Dropdown Brand name of the product. Value should be selected among the brand list that is provided at specifications. It is a mandatory field.It can only be changed by Ounass Marketplace Team afterwards.
*Category1/Category2/Category3/Category4 Dropdown Y Dropdown Category hierarchy of the product. Value should be selected among the Category1/Category2/Category3/Category4 list that is provided at specifications. If available options on specifications does not meet your requirement please contact with your account executive. Make sure it doesn't creates conflict with the gender of the product. Also make sure products with same VPN shares the same category hierarchy. It is a mandatory field. It can only be changed by Ounass Marketplace Team afterwards.
*Color Dropdown Y Dropdown Color of the product. Value should be selected among the color list that is provided at specifications. It is a mandatory field. It can not be changed, any change in color will lead to a new product.
*Country of Origin Dropdown Y Dropdown It corresponds to manufacturing country. Value should be selected among the Country of Origin list that is provided at specifications. It is a mandatory field. It can only be changed by Ounass Marketplace Team afterwards.
*HTS Code String Y Freetext It is used for the export process for products. It is a mandatory field. Value should be selected among the HTS Code list that is provided at specifications
*Current Group Dropdown Y Dropdown It is used for the categorization of the product according to its gender and type. It is a mandatory field.
*Description String(250) Y Freetext You need to fill the description of the product for our content creators to generate rich content. It is a mandatory field. It can only be changed by Ounass Marketplace Team afterwards.
*Gender Dropdown Y Dropdown Gender of the product. Value should be selected among the Gender list that is provided at specifications. It is a mandatory field.It can only be changed by Ounass Marketplace Team afterwards.
*Main Category Dropdown Y Dropdown Main category of the product. Value should be selected among the Main Category list that is provided at specifications. It is a mandatory field.It can only be changed by Ounass Marketplace Team afterwards.
*Season - Phase Dropdown Y Dropdown Season-Phase combination of the product. Value should be selected among the Season - Phase list that is provided at specifications. It is a mandatory field. It can only be changed by Ounass Marketplace Team afterwards.
*Size Dropdown Y Dropdown Size of the product. Value should be selected among the Size list that is provided at specifications. It is a mandatory field. It can not be changed, any change in size will lead to a new product.
Ounass General Price Currency Dropdown N Dropdown If you are filling Ounass General Retail Price make sure you fill Ounass General Price Currency as AED otherwise keep empty.
Ounass General Retail Price Number N Freetext If you want us to process price information, it is mandatory to fill Ounass General Retail Price (tax included) in AED.If you don't fill Ounass General Retail Price at all then the products will be recorded as "Passive" products into your catalog. If you only fill Ounass General Retail Price and leave country wise Retail Prices empty, system will calculate the other regions' prices in local currencies. If you fill country wise Retail Prices as well, country wise Retail Prices will override the converted local prices.
Ounass UAE Retail Price (AED) Number N Freetext It is not mandatory to fill this field if you want us to convert Ounass General Retail Price into UAE retail price. If you want to put a specific retail price (tax included) in AED for UAE then you can fill value for this field and then it will override the calculated UAE Retail Price in AED.
Ounass SAUDI Retail Price (SAR) Number N Freetext It is not mandatory to fill this field if you want us to convert Ounass General Retail Price into SAUDI retail price but if you want to put a specific retail price (tax included) in SAR for SAUDI then you can fill value for this field and then it will override the calculated SAUDI Retail Price in SAR.
Ounass QATAR Retail Price (QAR) Number N Freetext It is not mandatory to fill this field if you want us to convert Ounass General Retail Price into QATAR retail price but if you want to put a specific retail price (tax included) in QAR for QATAR then you can fill value for this field and then it will override the calculated QATAR Retail Price in QAR.
Ounass BAHRAIN Retail Price (BHD) Number N Freetext It is not mandatory to fill this field if you want us to convert Ounass General Retail Price into BAHRAIN retail price but if you want to put a specific retail price (tax included) in BHD for BAHRAIN then you can fill value for this field and then it will override the calculated BAHRAIN Retail Price in BHD.
Ounass OMAN Retail Price (OMR) Number N Freetext It is not mandatory to fill this field if you want us to convert Ounass General Retail Price into OMAN retail price but if you want to put a specific retail price (tax included) in OMR for OMAN then you can fill value for this field and then it will override the calculated OMAN Retail Price in OMR.
Ounass KUWAIT Retail Price (KWD) Number N Freetext It is not mandatory to fill this field if you want us to convert Ounass General Retail Price into KUWAIT retail price but if you want to put a specific retail price (tax included) in KWD for KUWAIT then you can fill value for this field and then it will override the calculated KUWAIT Retail Price in KWD.
Is Active (Ounass All) Dropdown N Dropdown Is Active (Ounass All) is the Ounass General status. Selecting ACTIVE means you want item to be available in all regions. If you are planning to apply same status in each website you can fill this field and leave rest of the Is Active (Ounass Website) fields unfilled. If this field is not filled and website specific statuses are also not filled as well we will record website specific statuses as passive. Products which doesn't have at least one website as "Active" will be recorded as "Passive" products into your catalog. To create a transfer right away fill at least one website as "Active"."
Is Active (Ounass UAE) Dropdown N Dropdown This field is to set a status for UAE. Selecting ACTIVE means you want item to be available in UAE region.It is not mandatory to fill this field if you already filled Is Active (Ounass All) and want us to apply the same in UAE but if you fill value for this field differently it overrides the general status applied for this region.
Is Active (Ounass SAUDI) Dropdown N Dropdown This field is to set a status for SAUDI. Selecting ACTIVE means you want item to be available in SAUDI region.It is not mandatory to fill this field if you already filled Is Active (Ounass All) and want us to apply the same in SAUDI but if you fill value for this field differently it overrides the general status applied for this region.
Is Active (Ounass QATAR) Dropdown N Dropdown This field is to set a status for QATAR. Selecting ACTIVE means you want item to be available in QATAR region.It is not mandatory to fill this field if you already filled Is Active (Ounass All) and want us to apply the same in QATAR but if you fill value for this field differently it overrides the general status applied for this region.
Is Active (Ounass BAHRAIN) Dropdown N Dropdown This field is to set a status for BAHRAIN. Selecting ACTIVE means you want item to be available in BAHRAIN region.It is not mandatory to fill this field if you already filled Is Active (Ounass All) and want us to apply the same in BAHRAIN but if you fill value for this field differently it overrides the general status applied for this region.
Is Active (Ounass OMAN) Dropdown N Dropdown This field is to set a status for OMAN. Selecting ACTIVE means you want item to be available in OMAN region.It is not mandatory to fill this field if you already filled Is Active (Ounass All) and want us to apply the same in OMAN but if you fill value for this field differently it overrides the general status applied for this region.
Is Active (Ounass KUWAIT) Dropdown N Dropdown This field is to set a status for KUWAIT. Selecting ACTIVE means you want item to be available in KUWAIT region.It is not mandatory to fill this field if you already filled Is Active (Ounass All) and want us to apply the same in KUWAIT but if you fill value for this field differently it overrides the general status applied for this region.

Accessories

Field Type Mandatory Content Description
Exotic Skin Dropdown N Dropdown Material of the product. Value should be selected among the Exotic Skin list that is provided at specifications. It is not a mandatoy field. It can only be changed by Ounass Marketplace Team afterwards.
Flammable Product Dropdown N Dropdown Value should be Yes if product is flammable and No otherwise. It is not a mandatoy field. It can only be changed by Ounass Marketplace Team afterwards.
Serial Number Dropdown N Dropdown Value should be Yes if product has a serial number and No otherwise. It is not a mandatoy field. It can only be changed by Ounass Marketplace Team afterwards.
*Size Scale Country Dropdown Y Dropdown Size scale of the product. Value should be selected among the Size Scale list that is provided at specifications. It is a mandatoy field. It can only be changed by Ounass Marketplace Team afterwards.
*Country of Origin Dropdown Y Dropdown It corresponds to manufacturing country. Value should be selected among the Country of Origin list that is provided at specifications. It is a mandatoy field. It can only be changed by Ounass Marketplace Team afterwards.
Size Classification Dropdown N Dropdown Corresponds to the size type of the product. Value should be selected among the Size Classification list that is provided at specifications. It is not a mandatoy field. It can only be changed by Ounass Marketplace Team afterwards.
Exclusive Dropdown Y Dropdown Fill exclusive if the product is exclusive to Ounass or exclusively produced. Value should be either Yes or No. It is not a mandatoy field. It can only be changed by Ounass Marketplace Team afterwards.

Activewear

Field Type Mandatory Content Description
Size Classification Dropdown Y Dropdown Corresponds to the size type of the product. Value should be selected among the Size Classification list that is provided at specifications. It is not a mandatoy field. It can only be changed by Ounass Marketplace Team afterwards.
*Size Scale Country Dropdown Y Dropdown Size scale of the product. Value should be selected among the Size Scale list that is provided at specifications. It is a mandatoy field. It can only be changed by Ounass Marketplace Team afterwards.
*Country of Origin Dropdown Y Dropdown It corresponds to manufacturing country. Value should be selected among the Country of Origin list that is provided at specifications. It is a mandatoy field. It can only be changed by Ounass Marketplace Team afterwards.
Exclusive Dropdown Y Dropdown Fill exclusive if the product is exclusive to Ounass or exclusively produced. Value should be either Yes or No. It is not a mandatoy field. It can only be changed by Ounass Marketplace Team afterwards.

Bags

Field Type Mandatory Content Description
Exotic Skin Dropdown N Dropdown Material of the product. Value should be selected among the Exotic Skin list that is provided at specifications. It is not a mandatoy field. It can only be changed by Ounass Marketplace Team afterwards.
Serial Number Dropdown N Dropdown Value should be Yes if product has a serial number and No otherwise. It is not a mandatoy field. It can only be changed by Ounass Marketplace Team afterwards.
*Size Scale Country Dropdown Y Dropdown Size scale of the product. Value should be selected among the Size Scale list that is provided at specifications. It is a mandatoy field. It can only be changed by Ounass Marketplace Team afterwards.
*Country of Origin Dropdown Y Dropdown It corresponds to manufacturing country. Value should be selected among the Country of Origin list that is provided at specifications. It is a mandatoy field. It can only be changed by Ounass Marketplace Team afterwards.
Exclusive Dropdown Y Dropdown Fill exclusive if the product is exclusive to Ounass or exclusively produced. Value should be either Yes or No. It is not a mandatoy field. It can only be changed by Ounass Marketplace Team afterwards.

Beauty

Field Type Mandatory Content Description
*Beauty Sub Grouping Dropdown Y Dropdown It corresponds to the sub category of the product. Value should be selected among the Beauty Sub Grouping list that is provided at specifications. It is a mandatoy field. It can only be changed by Ounass Marketplace Team afterwards.
Flammable Product Dropdown N Dropdown Value should be Yes if product is flammable and No otherwise. It is not a mandatoy field. It can only be changed by Ounass Marketplace Team afterwards.
*Ingredients Dropdown Y Dropdown You need to fill the ingredients of the product for our content creators to generate rich content. It is a mandatoy field. It can only be changed by Ounass Marketplace Team afterwards.
*Instructions for Use Dropdown Y Dropdown You need to fill the instructions for use of the product for our content creators to generate rich content. It is a mandatoy field. It can only be changed by Ounass Marketplace Team afterwards.
Korean Beauty Dropdown Y Dropdown Value should be Yes if product origin is Korea and No otherwise. It is not a mandatoy field. It can only be changed by Ounass Marketplace Team afterwards.
Skin Concern Dropdown N Dropdown Corresponds to the skin problem product helps. Value should be selected among the Skin Concern list that is provided at specifications. It is not a mandatoy field. It can only be changed by Ounass Marketplace Team afterwards.
Skin Type Dropdown N Dropdown Corresponds to the skin type product is used for. Value should be selected among the Skin Type list that is provided at specifications. It is not a mandatoy field. It can only be changed by Ounass Marketplace Team afterwards.
Ingredient Specifications Dropdown N Dropdown Corresponds to the ingredient characteristic that would like to be highlighted. Value should be selected among the Ingredient Preferences list that is provided at specifications. It is not a mandatoy field. It can only be changed by Ounass Marketplace Team afterwards.
Hex Color Code String N Freetext
Exclusive Dropdown Y Dropdown Fill exclusive if the product is exclusive to Ounass or exclusively produced. Value should be either Yes or No. It is not a mandatoy field. It can only be changed by Ounass Marketplace Team afterwards.

Casual & Contemporary

Field Type Mandatory Content Description
Exotic Skin Dropdown N Dropdown Material of the product. Value should be selected among the Exotic Skin list that is provided at specifications. It is not a mandatoy field. It can only be changed by Ounass Marketplace Team afterwards.
Size Classification Dropdown Y Dropdown Corresponds to the size type of the product. Value should be selected among the Size Classification list that is provided at specifications. It is not a mandatoy field. It can only be changed by Ounass Marketplace Team afterwards.
*Size Scale Country Dropdown Y Dropdown Size scale of the product. Value should be selected among the Size Scale list that is provided at specifications. It is a mandatoy field. It can only be changed by Ounass Marketplace Team afterwards.
*Country of Origin Dropdown Y Dropdown It corresponds to manufacturing country. Value should be selected among the Country of Origin list that is provided at specifications. It is a mandatoy field. It can only be changed by Ounass Marketplace Team afterwards.
Exclusive Dropdown Y Dropdown Fill exclusive if the product is exclusive to Ounass or exclusively produced. Value should be either Yes or No. It is not a mandatoy field. It can only be changed by Ounass Marketplace Team afterwards.

Designer

Field Type Mandatory Content Description
Exotic Skin Dropdown N Dropdown Material of the product. Value should be selected among the Exotic Skin list that is provided at specifications. It is not a mandatoy field. It can only be changed by Ounass Marketplace Team afterwards.
Size Classification Dropdown Y Dropdown Corresponds to the size type of the product. Value should be selected among the Size Classification list that is provided at specifications. It is not a mandatoy field. It can only be changed by Ounass Marketplace Team afterwards.
*Size Scale Country Dropdown Y Dropdown Size scale of the product. Value should be selected among the Size Scale list that is provided at specifications. It is a mandatoy field. It can only be changed by Ounass Marketplace Team afterwards.
*Country of Origin Dropdown Y Dropdown It corresponds to manufacturing country. Value should be selected among the Country of Origin list that is provided at specifications. It is a mandatoy field. It can only be changed by Ounass Marketplace Team afterwards.
Exclusive Dropdown Y Dropdown Fill exclusive if the product is exclusive to Ounass or exclusively produced. Value should be either Yes or No. It is not a mandatoy field. It can only be changed by Ounass Marketplace Team afterwards.

Footwear

Field Type Mandatory Content Description
Exotic Skin Dropdown N Dropdown Material of the product. Value should be selected among the Exotic Skin list that is provided at specifications. It is not a mandatoy field. It can only be changed by Ounass Marketplace Team afterwards.
Size Classification Dropdown Y Dropdown Corresponds to the size type of the product. Value should be selected among the Size Classification list that is provided at specifications. It is not a mandatoy field. It can only be changed by Ounass Marketplace Team afterwards.
*Size Scale Country Dropdown Y Dropdown Size scale of the product. Value should be selected among the Size Scale list that is provided at specifications. It is a mandatoy field. It can only be changed by Ounass Marketplace Team afterwards.
*Country of Origin Dropdown Y Dropdown It corresponds to manufacturing country. Value should be selected among the Country of Origin list that is provided at specifications. It is a mandatoy field. It can only be changed by Ounass Marketplace Team afterwards.
Exclusive Dropdown Y Dropdown Fill exclusive if the product is exclusive to Ounass or exclusively produced. Value should be either Yes or No. It is not a mandatoy field. It can only be changed by Ounass Marketplace Team afterwards.

Home

Field Type Mandatory Content Description
Flammable Product Dropdown N Dropdown Value should be Yes if product is flammable and No otherwise. It is not a mandatoy field. It can only be changed by Ounass Marketplace Team afterwards.
*Size Scale Country Dropdown Y Dropdown Size scale of the product. Value should be selected among the Size Scale list that is provided at specifications. It is a mandatoy field. It can only be changed by Ounass Marketplace Team afterwards.
*Country of Origin Dropdown Y Dropdown It corresponds to manufacturing country. Value should be selected among the Country of Origin list that is provided at specifications. It is a mandatoy field. It can only be changed by Ounass Marketplace Team afterwards.
Exclusive Dropdown Y Dropdown Fill exclusive if the product is exclusive to Ounass or exclusively produced. Value should be either Yes or No. It is not a mandatoy field. It can only be changed by Ounass Marketplace Team afterwards.

Jewellery

Field Type Mandatory Content Description
Serial Number Dropdown N Dropdown Value should be Yes if product has a serial number and No otherwise. It is not a mandatoy field. It can only be changed by Ounass Marketplace Team afterwards.
Size Classification Dropdown Y Dropdown Corresponds to the size type of the product. Value should be selected among the Size Classification list that is provided at specifications. It is not a mandatoy field. It can only be changed by Ounass Marketplace Team afterwards.
*Size Scale Country Dropdown Y Dropdown Size scale of the product. Value should be selected among the Size Scale list that is provided at specifications. It is a mandatoy field. It can only be changed by Ounass Marketplace Team afterwards.
*Country of Origin Dropdown Y Dropdown It corresponds to manufacturing country. Value should be selected among the Country of Origin list that is provided at specifications. It is a mandatoy field. It can only be changed by Ounass Marketplace Team afterwards.
Exotic Skin Dropdown N Dropdown Material of the product. Value should be selected among the Exotic Skin list that is provided at specifications. It is not a mandatoy field. It can only be changed by Ounass Marketplace Team afterwards.
Flammable Product Dropdown N Dropdown Value should be Yes if product is flammable and No otherwise. It is not a mandatoy field. It can only be changed by Ounass Marketplace Team afterwards.
Exclusive Dropdown Y Dropdown Fill exclusive if the product is exclusive to Ounass or exclusively produced. Value should be either Yes or No. It is not a mandatoy field. It can only be changed by Ounass Marketplace Team afterwards.

Kids

Field Type Mandatory Content Description
*Kids Size Dropdown N Dropdown Kids size of the product. Value should be selected among the Kids Size list that is provided at specifications. It is a mandatoy field. It can only be changed by Ounass Marketplace Team afterwards.
*Size Bucket Dropdown N Dropdown Age bucket of the kids product. Value should be selected among the Size Bucket list that is provided at specifications. It is a mandatoy field. It can only be changed by Ounass Marketplace Team afterwards.
Size Classification Dropdown Y Dropdown Corresponds to the size type of the product. Value should be selected among the Size Classification list that is provided at specifications. It is not a mandatoy field. It can only be changed by Ounass Marketplace Team afterwards.
*Size Scale Country Dropdown Y Dropdown Size scale of the product. Value should be selected among the Size Scale list that is provided at specifications. It is a mandatoy field. It can only be changed by Ounass Marketplace Team afterwards.
*Country of Origin Dropdown Y Dropdown It corresponds to manufacturing country. Value should be selected among the Country of Origin list that is provided at specifications. It is a mandatoy field. It can only be changed by Ounass Marketplace Team afterwards.
Exclusive Dropdown Y Dropdown Fill exclusive if the product is exclusive to Ounass or exclusively produced. Value should be either Yes or No. It is not a mandatoy field. It can only be changed by Ounass Marketplace Team afterwards.

Swimwear & Basics & Intimates

Field Type Mandatory Content Description
Size Classification Dropdown Y Dropdown Corresponds to the size type of the product. Value should be selected among the Size Classification list that is provided at specifications. It is not a mandatoy field. It can only be changed by Ounass Marketplace Team afterwards.
*Size Scale Country Dropdown Y Dropdown Size scale of the product. Value should be selected among the Size Scale list that is provided at specifications. It is a mandatoy field. It can only be changed by Ounass Marketplace Team afterwards.
*Country of Origin Dropdown Y Dropdown It corresponds to manufacturing country. Value should be selected among the Country of Origin list that is provided at specifications. It is a mandatoy field. It can only be changed by Ounass Marketplace Team afterwards.
Exclusive Dropdown Y Dropdown Fill exclusive if the product is exclusive to Ounass or exclusively produced. Value should be either Yes or No. It is not a mandatoy field. It can only be changed by Ounass Marketplace Team afterwards.

Vintage

Field Type Mandatory Content Description
Bracelet Type Dropdown N Dropdown
Case material Dropdown N Dropdown
Case Shape Dropdown N Dropdown
Dial color Dropdown N Dropdown
Earring Type Dropdown N Dropdown
Exotic Skin Dropdown N Dropdown Material of the product. Value should be selected among the Exotic Skin list that is provided at specifications. It is not a mandatoy field. It can only be changed by Ounass Marketplace Team afterwards.
Flammable Product Dropdown N Dropdown Value should be Yes if product is flammable and No otherwise. It is not a mandatoy field. It can only be changed by Ounass Marketplace Team afterwards.
Jewellery Stone Type Dropdown N Dropdown
Jewellery Type Dropdown N Dropdown
Ring Type Dropdown N Dropdown
Size Classification Dropdown Y Dropdown Corresponds to the size type of the product. Value should be selected among the Size Classification list that is provided at specifications. It is not a mandatoy field. It can only be changed by Ounass Marketplace Team afterwards.
*Size Scale Country Dropdown Y Dropdown Size scale of the product. Value should be selected among the Size Scale list that is provided at specifications. It is a mandatoy field. It can only be changed by Ounass Marketplace Team afterwards.
*Country of Origin Dropdown Y Dropdown It corresponds to manufacturing country. Value should be selected among the Country of Origin list that is provided at specifications. It is a mandatoy field. It can only be changed by Ounass Marketplace Team afterwards.
Stone Color Dropdown N Dropdown
Strap Material Dropdown N Dropdown
Watch Category Dropdown N Dropdown
Watch Type Dropdown N Dropdown
Water resistant Dropdown N Dropdown

Vendor Catalog

Service is used to extract vendor products recorded on the system. The method brings detailed information about the products of the vendor. Including vendor product statuses, attribute values, price, stock etc.

GET vendor products

GET /api/v1/vendors/products HTTP/1.1
Accept: application/json
Authorization: Bearer {access-token}
Host: be-marketplace.ounass.com

curl --request GET \
  --url https://be-marketplace.ounass.com/api/v1/vendors/products \
  --header 'Accept: application/json' \
  --header 'Authorization: Bearer {access-token}'

Http Request:

GET /api/v1/vendors/products

Parameters:

Name Type Description
query string query text for search pages. You can search through VPN, Barcode, Item Name, SKU or Parent ID fields by adding space between keys. Bulk search is also available with unified string like VPN1 SKU2 ParentID3 "Item Name 4" "Barcode 05"
vendorProductStatus array[string] vendor product's status (could be used like vendorProductStatus[]=ACTIVE&vendorProductStatus[]=READY)
productId array[integer] Set this if you want to filter by specific product/products (could be used like productId[]=1&productId[]=2&productId[]=3)
brandId array[integer] Set this if you want to filter by specific brandId/brandIds (could be used like brandId[]=1&brandId[]=2&brandId[]=3)
categoryId array[integer] Set this if you want to filter by specific category/categories (could be used like categoryId[]=1&categoryId[]=2&categoryId[]=3)
attribute string Set this if you want to filter by specific attribute/attributes (could be used like attribute[Color]=1&attribute[Color]=2&attribute[Size]=3)
createdAtFrom string(date-time) createdAtFrom parameter in YYYY-MM-DDTHH:mm:ssZ format
createdAtTo string(date-time) createdAtTo parameter in YYYY-MM-DDTHH:mm:ssZ format
updatedAtFrom string(date-time) updatedAtFrom parameter in YYYY-MM-DDTHH:mm:ssZ format
updatedAtTo string(date-time) updatedAtTo parameter in YYYY-MM-DDTHH:mm:ssZ format
page integer page number. Default value is 1.
count integer number of items per pages. Default value is 10.

The above command returns JSON structured like this:

{
  "status": 200,
  "result": {
    "page": 1,
    "maxPage": 9,
    "count": 10,
    "totalCount": 87,
    "data": [
      {
        "id": 0,
        "parentId": "string",
        "barcode": "string",
        "vendorProductNo": "string",
        "color": "string",
        "size": "string",
        "status": "WAITING",
        "createdAt": "2019-08-24T14:15:22Z",
        "updatedAt": "2019-08-24T14:15:22Z",
        "deletedAt": "2019-08-24T14:15:22Z",
        "productId": 0,
        "product": {
          "id": 0,
          "name": "string",
          "sku": "string",
          "status": "FAILED",
          "brand": {
            "id": 0,
            "name": "string"
          },
          "categories": [
            {
              "id": 0,
              "name": "string",
              "hierarchy": "string",
              "parentId": 0,
              "productCategory": {
                "categoryId": 0,
                "productId": 0,
                "categoryWithAttributes": 0
              }
            }
          ],
          "productAttributeValues": [
            {
              "attributeId": 0,
              "key": "string",
              "value": "string",
              "type": "OPTION",
              "group": "PRODUCT_INFORMATION",
              "mandatory": true
            }
          ]
        },
        "vendorProductAttributeValues": [
          {
            "attributeId": 0,
            "key": "string",
            "value": "string",
            "type": "OPTION",
            "group": "PRODUCT_INFORMATION",
            "mandatory": true
          }
        ],
        "vendorProductItems": [
          {
            "id": 0,
            "vendorProductId": 0,
            "platformWebsiteId": 0,
            "commission": 0,
            "retailPrice": 0,
            "basePrice": 0,
            "currencyCode": "string",
            "baseCurrencyCode": "string",
            "promotionPrice": 0,
            "promotionStart": "2019-08-24T14:15:22Z",
            "promotionEnd": "2019-08-24T14:15:22Z",
            "fulfilmentLocation": "string",
            "status": "ACTIVE"
          }
        ],
        "vendorProductStock": [
          {
            "id": 0,
            "stock": 0,
            "vendorProductId": 0,
            "vendorsWarehouseId": 0,
            "vendorsWarehouse": {
              "id": 0,
              "warehouse": {
                "id": 0,
                "name": "UAE Warehouse",
                "platform": {
                  "id": 0,
                  "name": "string",
                  "code": "string",
                  "logo": "string"
                }
              }
            }
          }
        ]
      }
    ]
  }
}

Response:

Name Type Description
status integer http status code
result object search result
»page integer current page
»maxPage integer last page available for data
»count integer number of data in per page
»totalCount integer total count of data
» data [VendorProduct] array of vendor products matching search criteria
»» vendorProduct.id integer vendor product id
»» vendorProduct.parentId integer Vendor Product’s ParentID which will be the same around the same Vendor product number
»» vendorProduct.barcode string Vendor product’s barcode
»» vendorProduct.vendorProductNo string Vendor product number which the vendor filled
»» vendorProduct.color string Color of the product
»» vendorProduct.size string Size of the product
»» vendorProduct.createdAt string(date-time) Creation date of the vendor product
»» vendorProduct.updatedAt string(date-time) Last update date of the vendor product
»» vendorProduct.deletedAt string(date-time) Deleted date of the vendor product
»» vendorProduct.status string Status of the vendor product
»» vendorProduct.product Product Vendor product’s catalog product id and its details. Product SKU is the Id which you will see in the Ounass website
»» vendorProduct.product.name string Product name
»» vendorProduct.product.sku string Product sku
»» vendorProduct.product.brand Brand Product brand details
»» vendorProduct.product.categories [ProductCategory] Product’s category information details
»» vendorProduct.product.productAttributeValues [AttributeValue] Product’s attribute and its attribute values given by vendor
»» vendorProduct.vendorProductAttributeValues [AttributeValue] VendorProduct attribute and attribute values if there is any requested update
»» vendorProduct.vendorProductItems [VendorProductItem] Product’s region prices and their status details. You will get one vendor product item per each Ounass region
»» vendorProduct.vendorProductStock [VendorProductStock] Product’s stock in Ounass Warehouse

GET single vendor product info

GET /api/v1/vendors/products/0 HTTP/1.1
Accept: application/json
Authorization: Bearer {access-token}
Host: be-marketplace.ounass.com

curl --request GET \
  --url https://be-marketplace.ounass.com/api/v1/vendors/products/0 \
  --header 'Accept: application/json' \
  --header 'Authorization: Bearer {access-token}'

You can get information upon a single product as well as getting all products with filters. This API lets you extract single product information ith vendor product ID.

Http Request:

GET /api/v1/vendors/products/{vendorProductId}

Parameters:

Name Type Description
vendorProductId integer Vendor’s product Id. It will be provided right after you upload the template.

The above command returns JSON structured like this:

{
  "status": 200,
  "result": {
    "id": 0,
    "parentId": "string",
    "barcode": "string",
    "vendorProductNo": "string",
    "color": "string",
    "size": "string",
    "status": "WAITING",
    "product": {
      "id": 0,
      "name": "string",
      "sku": "string",
      "status": "FAILED",
      "brand": {
        "id": 0,
        "name": "string"
      },
      "categories": [
        {
          "id": 0,
          "name": "string",
          "hierarchy": "string",
          "parentId": 0,
          "productCategory": {
            "categoryId": 0,
            "productId": 0,
            "categoryWithAttributes": 0
          }
        }
      ],
      "productAttributeValues": [
        {
          "attributeId": 0,
          "key": "string",
          "value": "string",
          "type": "OPTION",
          "group": "PRODUCT_INFORMATION",
          "mandatory": true
        }
      ]
    },
    "vendorProductAttributeValues": [
      {
        "attributeId": 0,
        "key": "string",
        "value": "string",
        "type": "OPTION",
        "group": "PRODUCT_INFORMATION",
        "mandatory": true
      }
    ],
    "vendorProductItems": [
      {
        "id": 0,
        "vendorProductId": 0,
        "platformWebsiteId": 0,
        "commission": 0,
        "retailPrice": 0,
        "basePrice": 0,
        "currencyCode": "string",
        "baseCurrencyCode": "string",
        "promotionPrice": 0,
        "promotionStart": "2019-08-24T14:15:22Z",
        "promotionEnd": "2019-08-24T14:15:22Z",
        "fulfilmentLocation": "string",
        "status": "ACTIVE"
      }
    ],
    "vendorProductStock": [
      {
        "id": 0,
        "stock": 0,
        "vendorProductId": 0,
        "vendorsWarehouseId": 0,
        "vendorsWarehouse": {
          "id": 0,
          "warehouse": {
            "id": 0,
            "name": "UAE Warehouse",
            "platform": {
              "id": 0,
              "name": "string",
              "code": "string",
              "logo": "string"
            }
          }
        }
      }
    ]
  }
}

Response:

Name Type Description
status integer http status code
result VendorProduct vendor product object
» vendorProduct.id integer vendor product id
» vendorProduct.parentId integer Vendor Product’s ParentID which will be the same around the same Vendor product number
» vendorProduct.barcode string Vendor product’s barcode
» vendorProduct.vendorProductNo string Vendor product number which the vendor filled
» vendorProduct.color string Color of the product
» vendorProduct.size string Size of the product
» vendorProduct.status string Status of the vendor product
» vendorProduct.product Product Vendor product’s catalog product id and its details. Product SKU is the Id which you will see in the Ounass website
» vendorProduct.product.name string Product name
» vendorProduct.product.sku string Product sku
» vendorProduct.product.brand Brand Product brand details
» vendorProduct.product.categories ProductCategory Product’s category information details
» vendorProduct.product.productAttributeValues AttributeValue Product’s attribute and its attribute values given by vendor
» vendorProduct.vendorProductAttributeValues AttributeValue VendorProduct attribute and attribute values if there is any requested update
» vendorProduct.vendorProductItems VendorProductItem Product’s region prices and their status details. You will get one vendor product item per each Ounass region
» vendorProduct.vendorProductStock VendorProductStock Product’s stock in Ounass Warehouse

Transfer Integration

Create or Update Transfer

Once the product is created in order to transfer any stock, create or update transfer service should be called with below listed fields. API decides if this transfer creation or update via Transfer No. If Transfer No. field value is null then a new transfer will be created with a new Transfer No. Sending transfer number that belongs to one of your current open transfers will delete and re-write that transfer with the items sent, leading transfer update.

Validations:

  1. Transfers can only be created with mature products, meaning that the product will need to include the Ounass General Retail Price, Currency, as well as at least 1 website set as ACTIVE. Products eligible for transfers will have the statuses of Ready (for products finalized and recorded) or Active (products which we have received the stock for). You can check product statuses via GetVendorProductInfo service
  2. You can only create a transfer for products existing in your catalogue
  3. The combination of VPN, Color and Size makes a product unique. Therefore, these fields should be sent in order to recognize the product for the transfer. Also warehouse information and sales quantity should be sent. Shortly mandatory columns are indicated with * need to be sent to create the product
  4. The field names should remain the same (case insensitive). If you are having difficulty that way please contact your Account Manager for custom integration
  5. All fields listed as dropdown should have a value selected among the specifications. Warehouse should be up to specifications
  6. Transfers with “OPEN” status can only be updated

Transfer Statuses:

transferStatus Description
PROCESSING The initial status of a transfer where we process your request
OPEN displays when we finalize processing and the lifecycle of transfer begins, where you can request appointment, cancel a transfer or update a transfer
WAITING_FOR_APPOINTMENT will be the status of a transfer once an appointment request is sent to our appointment team who sets available time
WAITING_FOR_PICKUP (For vendors with Inco Term: Ex works only) will be the status of a transfer once a pick-up is requested.(not available for now)
READY_TO_SHIP will be the status once an appointment is reserved and and ID is received from appointment team
SHIPPED will be the status once you add shipment info related to the transfer
RECEIVED will be the status once shipment is received in Ounass Warehouse
HANDLING will be the status once quality control is finalized and the stock is reflected on our website. This is the only status that transfer and transfer item doesn’t share at the same time. While transfers keep being received the items inside the transfer will be come handling.
CLOSED will be the status following 10 days after receiving.

Excel - Create or Update Transfer

Download a Transfer Template

Download an empty transfer template

GET /api/v1/vendors/transferTemplate HTTP/1.1
Accept: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet
Authorization: Bearer {access-token}
Host: be-marketplace.ounass.com

curl --request GET \
  --url https://be-marketplace.ounass.com/api/v1/vendors/transferTemplate \
  --header 'Accept: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet' \
  --header 'Authorization: Bearer {access-token}'

In order to create a transfer, you should first download the transfer template to fill and upload. This API is to get transfer template.

Http Request:

GET /api/v1/vendors/transferTemplate

Query Parameters:

Name Type Description
transferNo string RMS Transfer No, It is required only updating a transfer
transferType TransferTemplateDownloadTypes Transfer template download types

Response:

Name Type Description
file string(binary) Download vendor transfer template

The above command downloads a file

download transfer template with a specific type

Download the transfer template with READY and ACTIVE products

curl --request GET \
  --url https://be-marketplace.ounass.com/api/v1/vendors/transferTemplate?transferType=CREATE \
  --header 'Accept: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet' \
  --header 'Authorization: Bearer {access-token}'
GET /api/v1/vendors/transferTemplate?transferType=CREATE HTTP/1.1
Accept: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet
Authorization: Bearer {access-token}
Host: be-marketplace.ounass.com

You can download your catalog template with different option, transferType query parameter can be one of from table below.

transferType Description
CREATE To download the transfer template with all of your "READY" and "ACTIVE" products
UPDATE To download a transfer template filled with the products which are in a specific transfer for updating the transfer, only applicable when rmsTransferId is provided in transferNo parameter
EMPTY To download an empty transfer template
FAILED To download the errors for your previously failed transfer template upload

The above command downloads a file

download transfer template for updating a specific transfer no

Download the transfer template of RMS Transfer No for updating the transfer

curl --request GET \
  --url 'https://be-marketplace.ounass.com/api/v1/vendors/transferTemplate?transferType=UPDATE&transferNo={rmsTransferId}' \
  --header 'Accept: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet' \
  --header 'Authorization: Bearer {access-token}'
GET /api/v1/vendors/transferTemplate?transferType=UPDATE&transferNo={rmsTransferId} HTTP/1.1
Accept: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet
Authorization: Bearer {access-token}
Host: be-marketplace.ounass.com

In order to download a template for updating a specific transfer, rmsTransferId(RMS Transfer No) of the required transfer MUST be provided in transferNo parameter and transferType parameter MUST be UPDATE.

The above command downloads a file

download errors of a previous uploaded transfer template

Download the errors for your previously failed transfer template upload

curl --request GET \
  --url https://be-marketplace.ounass.com/api/v1/vendors/transferTemplate?transferType=FAILED \
  --header 'Accept: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet' \
  --header 'Authorization: Bearer {access-token}'
GET /api/v1/vendors/transferTemplate?transferType=FAILED HTTP/1.1
Accept: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet
Authorization: Bearer {access-token}
Host: be-marketplace.ounass.com

If a previous template upload fails with reason Transfer template upload failed due to invalid content, the errors of the upload request can be downloaded by adding query parameter type=FAILED and the errors can be found in Errors column in downloaded template.

The above command downloads a file

Upload Transfer Template

POST /api/v1/vendors/transferTemplate HTTP/1.1
Content-Type: multipart/form-data
Accept: application/json
Authorization: Bearer {access-token}
Content-Type: multipart/form-data; boundary=---011000010111000001101001
Host: be-marketplace.ounass.com
Content-Length: 119

-----011000010111000001101001
Content-Disposition: form-data; name="file"

string
-----011000010111000001101001--

curl --request POST \
  --url https://be-marketplace.ounass.com/api/v1/vendors/transferTemplate \
  --header 'Accept: application/json' \
  --header 'Authorization: Bearer {access-token}' \
  --header 'Content-Type: multipart/form-data' \
  --header 'content-type: multipart/form-data; boundary=---011000010111000001101001' \
  --form file=string

Downloaded template will be filled according to the products and it should be sent to Ounass Marketplace via [POST] /api/v1/vendors/transferTemplate API. The same template can be used to update a transfer. To update a transfer, Transfer No field should be filled in the excel.

Following columns should be send with their values. VPN, Color and Size selected should be prerecorded with Create or Update Product service up front. Transfer No should only need to be sent if an update is requested.

For Transfer Creation > Mandatory To Fill Columns – Quantity, Warehouse Specification, Barcode OR Quantity, Warehouse Specification, VPN, Color, Size

For Transfer Update > Mandatory To Fill Columns – Transfer No, Quantity, Warehouse Specification, Barcode OR Transfer No, Quantity, Warehouse Specification, VPN, Color, Size

Columns Description
VPN VPN of the product
Color The color of the product
Size The size of the product
Barcode Barcode of the product
*Quantity The quantity of the products that you will send to the warehouse
*Warehouse Location The location of the warehouse where the products will be shipped. Please send a value matching with from Spec: *Warehouse Location column for every product.
Transfer No The transfer number which will be updated and will include uploaded products with referring quantities after a successful upload

*: mandatory

Http Request:

POST /api/v1/vendors/transferTemplate

Body Parameters:

Name Type Description
file string(binary) transfer template file

The above command returns JSON structured like this:

{
  "status": 200,
  "result": [
    {
      "sheet": "string",
      "rowNumber": 0,
      "transferItem": {
        "id": 0,
        "quantityRequested": 0,
        "quantityReceived": 0,
        "quantityDiscrepancy": 0,
        "reason": "string",
        "vendorProductId": 0
      }
    }
  ]
}

Response:

Name Type Description
status integer http status code
result [object] array of result object per row in the uploaded excel
» sheet string Template’s sheet name
» rowNumber integer The number of processed row in the sheet
» transferItem TransferItem transfer item object
»» transferItem.id integer Created transfer item id
»» transferItem.quantityRequested integer To Be Defined
»» transferItem.quantityReceived string To Be Defined
»» transferItem.reason string To Be Defined
»» transferItem.vendorProductId string Associated vendor product id

JSON - Create or Update Transfer

You can also create or update your transfer via sending your request in the form of JSON payload. Please see the API parameters and examples below for creating or updating the transfers via JSON.

Create Transfer with Json

Create a new transfer

POST /api/v1/vendors/transfers HTTP/1.1
Content-Type: application/json
Accept: application/json
Authorization: Bearer {access-token}
Host: be-marketplace.ounass.com
Content-Length: 159

{"items":[{"quantity":1,"vpn":"V2000013","color":"28642/01B PINK MULTI","size":"One Size","warehouseLocation":"UAE Warehouse"}]}
curl --request POST \
  --url https://be-marketplace.ounass.com/api/v1/vendors/transfers \
  --header 'Accept: application/json' \
  --header 'Authorization: Bearer {access-token}' \
  --header 'Content-Type: application/json' \
  --data '{
  "items": [
    {
      "quantity": 1,
      "barcocde": "BRCD",
      "vpn": "V2000013",
      "color": "28642/01B PINK MULTI",
      "size": "One Size",
      "warehouseLocation": "UAE Warehouse"
    }
  ]
}'

Http Request:

POST /api/v1/vendors/transfers

Body Parameters:

Name Type Description
items [object] Array of transfer creation objects
» transferNo string transfer.rmsTransferId available in the transfer detail
» barcode string Barcode of existing transfer item
» quantity integer requested quantity of transfer item
» vpn string VendorProductNumber of product
» color string Color value of product
» size string Size value of product
» warehouseLocation string WarehouseLocation value of transfer item

The above command returns JSON structured like this:

{
  "status": 200,
  "result": [
    {
      "rowNumber": 0,
      "transferItem": {
        "id": 0,
        "quantityRequested": 0,
        "quantityReceived": 0,
        "quantityDiscrepancy": 0,
        "reason": "string",
        "vendorProductId": 0
      }
    }
  ]
}

Response:

Name Type Description
status integer http status code
result [object] array of result object per row in the uploaded excel
» rowNumber integer The number of processed row in the sheet
» transferItem TransferItem transfer item object
»» transferItem.id integer Created transfer item id
»» transferItem.quantityRequested integer To Be Defined
»» transferItem.quantityReceived string To Be Defined
»» transferItem.reason string To Be Defined
»» transferItem.vendorProductId string Associated vendor product id

Update Transfer with Json

Update an existing transfer with transfer.rmsTransferId

POST /api/v1/vendors/transfers HTTP/1.1
Content-Type: application/json
Accept: application/json
Authorization: Bearer {access-token}
Host: be-marketplace.ounass.com
Content-Length: 159

{"items":[{"transferNo":<rmsTransferId>,"quantity":1,"vpn":"V2000012","color":"28642/01B PINK MULTI","size":"One Size","warehouseLocation":"UAE Warehouse"}]}
curl --request POST \
  --url https://be-marketplace.ounass.com/api/v1/vendors/transfers \
  --header 'Accept: application/json' \
  --header 'Authorization: Bearer {access-token}' \
  --header 'Content-Type: application/json' \
  --data '{
  "items": [
    {
      "transferNo": <transfer.rmsTransferId>,
      "quantity": 1,
      "vpn": "V2000012",
      "color": "28642/01B PINK MULTI",
      "size": "One Size",
      "barcocde": "BRCD",
      "warehouseLocation": "UAE Warehouse"
    }
  ]
}'

Parameters and response structure of update transfer with json request is identical to transfer creation with json request but includes transfer.rmsTransferId for update in the request parameters

Get Transfers

Get list of all transfers

GET /api/v1/vendors/transfers HTTP/1.1
Accept: application/json
Authorization: Bearer {access-token}
Host: be-marketplace.ounass.com

curl --request GET \
  --url https://be-marketplace.ounass.com/api/v1/vendors/transfers \
  --header 'Accept: application/json' \
  --header 'Authorization: Bearer {access-token}'

Transfer List service will give you all your recently created transfers.

Http Request:

GET /api/v1/vendors/transfers

The above command returns JSON structured like this:

{
  "status": 200,
  "result": [
    {
      "id": 0,
      "fileName": "string",
      "rmsTransferId": 0,
      "rmsAppointmentId": 0,
      "asnTrackingNumber": 0,
      "status": "OPEN",
      "createdAt": "2019-08-24T14:15:22Z",
      "updatedAt": "2019-08-24T14:15:22Z",
      "vendorsWarehouse": {
        "id": 0,
        "warehouse": {
          "id": 0,
          "name": "UAE Warehouse"
        }
      },
      "transferItems": [
        {
          "id": 0,
          "quantityRequested": 0,
          "quantityReceived": 0,
          "quantityDiscrepancy": 0,
          "reason": "string",
          "vendorProductId": 0
        }
      ]
    }
  ]
}

Response:

Name Type Description
status integer http status code
result [transfer] array of transfers matching search criteria
» transfer.id integer Transfer id
» transfer.fileName string Filename of the template created the transfer
» transfer.rmsTransferId string RMS Transfer No
» transfer.rmsAppointmentId integer Appointment id
» transfer.asnTrackingNumber integer tracking number
» transfer.status TransferStatusEnum Transfer status
» transfer.createdAt string(date-time) Transfer creation date
» transfer.updatedAt string(date-time) Last update date of the transfer
» transfer.vendorsWarehouse VendorWarehouse Vendor Warehouse object
» transfer.transferItems [TransferItem] Array of transfer items

Get a Transfer's Detail

Get transfer details of transfer with transfer id

GET /api/v1/vendors/transfers/{transferId} HTTP/1.1
Accept: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet
Authorization: Bearer {access-token}
Host: be-marketplace.ounass.com

curl --request GET \
  --url https://be-marketplace.ounass.com/api/v1/vendors/transfers/{transferId} \
  --header 'Accept: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet' \
  --header 'Authorization: Bearer {access-token}'

Transfer Detail service will give you details of a specific transfer requested. You can call this service via transfer's unique number "TransferId" to receive below listed details of the transfer.

Http Request:

GET /api/v1/vendors/transfers/{transferId}

Path Parameters:

Name Type Description
transferId integer The Transfer’s unique ID

The above command returns JSON structured like this:

{
  "status": 200,
  "result": {
    "id": 0,
    "fileName": "string",
    "rmsTransferId": 0,
    "rmsAppointmentId": 0,
    "asnTrackingNumber": 0,
    "status": "OPEN",
    "createdAt": "2019-08-24T14:15:22Z",
    "updatedAt": "2019-08-24T14:15:22Z",
    "vendorsWarehouse": {
      "id": 0,
      "warehouse": {
        "id": 0,
        "name": "UAE Warehouse"
      }
    },
    "transferItems": [
      {
        "id": 0,
        "quantityRequested": 0,
        "quantityReceived": 0,
        "quantityDiscrepancy": 0,
        "reason": "string",
        "vendorProductId": 0
      }
    ],
    "transferShipment": {
      "id": 0,
      "vendorAddress": {
        "id": 0,
        "title": "string",
        "address": "string",
        "countryCode": "string",
        "city": "string",
        "postalCode": "string"
      },
      "type": "LOCAL",
      "dropByVendor": true,
      "courierCompany": "string",
      "trackingNumber": "string",
      "contactPhone": "string"
    }
  }
}

Response:

Name Type Description
status integer http status code
result [transfer] array of transfers matching search criteria
» transfer.id integer Transfer id
» transfer.fileName string Filename of the template created the transfer
» transfer.rmsTransferId string RMS Transfer No
» transfer.rmsAppointmentId integer Appointment id
» transfer.asnTrackingNumber integer tracking number
» transfer.status TransferStatusEnum Transfer status
» transfer.createdAt string(date-time) Transfer creation date
» transfer.updatedAt string(date-time) Last update date of the transfer
» transfer.vendorsWarehouse VendorWarehouse Vendor Warehouse object
» transfer.transferItems [TransferItem] Array of transfer items
» transfer.transferShipment Shipment Shipment details

Delete a Transfer

Delete the transfer with transfer id

DELETE /api/v1/vendors/transfers/{transferId} HTTP/1.1
Authorization: Bearer {access-token}
Host: be-marketplace.ounass.com

curl --request DELETE \
  --url https://be-marketplace.ounass.com/api/v1/vendors/transfers/{transferId} \
  --header 'Authorization: Bearer {access-token}'

You can only delete a transfer with “OPEN” status.

Http Request:

DELETE /api/v1/vendors/transfers/{transferId}

Path Parameters:

Name Type Description
transferId integer The Transfer’s unique ID

The above command returns JSON structured like this:

{
  "status": 200
}

Response:

Name Type Description
status integer http status code

Create Appointment for a Transfer

Create an appointment for the transfer with transfer id

POST /api/v1/vendors/transfers/{transferId}/appointment HTTP/1.1
Accept: application/json
Authorization: Bearer {access-token}
Host: be-marketplace.ounass.com

curl --request POST \
  --url https://be-marketplace.ounass.com/api/v1/vendors/transfers/{transferId}/appointment \
  --header 'Accept: application/json' \
  --header 'Authorization: Bearer {access-token}'

Once we process your request of creating transfer, we will change your transfer status to “OPEN”. In transfers with open status you will be able to Create Appointment by using unique transfer No "TransferId". To receive status of related transfer you can use TransferDetail service or can receive success or fail as a response to your appointment request.

After appointment request is successful, logistic team will send email about scheduling time to vendor's primary contact email address. To change primary contact, please contact with your Account Executive

Http Request:

POST /api/v1/vendors/transfers/{transferId}/appointment

Path Parameters:

Name Type Description
transferId integer The Transfer’s unique ID

The above command returns JSON structured like this:

{
  "status": 200,
  "result": {
    "id": 0,
    "fileName": "string",
    "rmsTransferId": 0,
    "rmsAppointmentId": 0,
    "asnTrackingNumber": 0,
    "status": "OPEN",
    "createdAt": "2019-08-24T14:15:22Z",
    "updatedAt": "2019-08-24T14:15:22Z",
    "vendorsWarehouse": {
      "id": 0,
      "warehouse": {
        "id": 0,
        "name": "UAE Warehouse"
      }
    },
    "transferItems": [
      {
        "id": 0,
        "quantityRequested": 0,
        "quantityReceived": 0,
        "quantityDiscrepancy": 0,
        "reason": "string",
        "vendorProductId": 0
      }
    ]
  }
}

Response:

Name Type Description
status integer http status code
result [transfer] array of transfers matching search criteria
» transfer.id integer Transfer id
» transfer.fileName string Filename of the template created the transfer
» transfer.rmsTransferId string RMS Transfer No
» transfer.rmsAppointmentId integer Appointment id
» transfer.asnTrackingNumber integer tracking number
» transfer.status TransferStatusEnum Transfer status
» transfer.createdAt string(date-time) Transfer creation date
» transfer.updatedAt string(date-time) Last update date of the transfer
» transfer.vendorsWarehouse VendorWarehouse Vendor Warehouse object
» transfer.transferItems [TransferItem] Array of transfer items

Appointment ID Acknowledgement

Appointment Id is used to communicate warehouse which stock is coming in. Once an Appointment ID is created on the system you will receive an email for scheduling. Appointment ID is created on the system couple of hours later appointment creation. To request appointment ID created on the system you can use Transfer Detail service.

Please check Transfer Detail Service to get appointment ID

Create/Update Shipment Info

After you receive an appointment ID and plan your shipment choice, we expect you to send the related shipment information so that in any problem we track your shipment from the information you transmit. To do so, you need to send your shipment information and we will be sharing this info with our logistic team. The moment you sent below listed information, your transfer status will change to “Shipped”. If you sent this information wrongly you can also send update. If you don’t send this info you transfer status will keep being Ready to ship and will become received once warehouse issues your stock. f For creation of a shipment information; [POST] /api/v1/vendors/transfers/{transferId}/shipment shipment API is used, for updating [PUT] /api/v1/vendors/transfers/{transferId}/shipment/{shipmentId} is used.

Create Shipment for a Transfer

Create a shipment for the transfer id with a new shipment address

POST /api/v1/vendors/transfers/{transferId}/shipment HTTP/1.1
Content-Type: application/json
Accept: application/json
Authorization: Bearer {access-token}
Host: be-marketplace.ounass.com
Content-Length: 234

{"vendorAddress":{"title":"string","address":"string","countryCode":"string","city":"string","postalCode":"string"},"type":"LOCAL","dropByVendor":true,"courierCompany":"string","trackingNumber":"string","contactPhone":"string"}
curl --request POST \
  --url https://be-marketplace.ounass.com/api/v1/vendors/transfers/{transferId}/shipment \
  --header 'Accept: application/json' \
  --header 'Authorization: Bearer {access-token}' \
  --header 'Content-Type: application/json' \
  --data '{
  "vendorAddress": {
    "title": "string",
    "address": "string",
    "countryCode": "string",
    "city": "string",
    "postalCode": "string"
  },
  "type": "LOCAL",
  "dropByVendor": true,
  "courierCompany": "string",
  "trackingNumber": "string",
  "contactPhone": "string"
}'

The API is used for creating a shipment for a transfer. Please see the details below and for detailed parameter descriptions please check Shipment Schema

Http Request:

POST /api/v1/vendors/transfers/{transferId}/shipment

Path Parameters:

Name Type Description
transferId path integer

Body Parameters:

Name Type Description
body Shipment none

The above command returns JSON structured like this:

{
  "status": 200,
  "result": {
    "id": 0,
    "vendorAddress": {
      "id": 0,
      "title": "string",
      "address": "string",
      "countryCode": "string",
      "city": "string",
      "postalCode": "string"
    },
    "type": "LOCAL",
    "dropByVendor": true,
    "courierCompany": "string",
    "trackingNumber": "string",
    "contactPhone": "string"
  }
}

Response:

Name Type Description
status integer http status code
result shipment shipment details
id integer none
» shipment.vendorAddress VendorAddress none
» shipment.type ShipmentTypesEnum If you are a local vendor (from UAE), you need to send Shipment Type as «LOCAL», if not «INTERNATIONAL»
» shipment.dropByVendor boolean true if If you are a local who is planning to bring the products to our warehouse, false if you send the products with a courier company
» shipment.courierCompany string Courier company which the shipment will be sent via
» shipment.trackingNumber string Shipment tracking number that you should receive from courier company the moment you shipped the goods
» shipment.contactPhone string A cellphone of a responsible to contact with upon any problem related with this shipment

Update Shipment for a Transfer

Update the shipment: 12 of transfer id with shipment address: 123

PUT /api/v1/vendors/transfers/{transferId}/shipment/{shipmentId} HTTP/1.1
Content-Type: application/json
Accept: application/json
Authorization: Bearer {access-token}
Host: be-marketplace.ounass.com
Content-Length: 234

{"vendorAddress":{"id":123},"type":"LOCAL","dropByVendor":true,"courierCompany":"string","trackingNumber":"string","contactPhone":"string"}
curl --request PUT \
  --url https://be-marketplace.ounass.com/api/v1/vendors/transfers/{transferID}/shipment/{shipmentId} \
  --header 'Accept: application/json' \
  --header 'Authorization: Bearer {access-token}' \
  --header 'Content-Type: application/json' \
  --data '{
  "vendorAddress": {
    "id": 123,
  },
  "type": "LOCAL",
  "dropByVendor": true,
  "courierCompany": "string",
  "trackingNumber": "string",
  "contactPhone": "string"
}'

You can update an existing shipment address with shipmentId and vendorAddressId. Both shipmentId and vendorAddressId is available in response of shipment creation request or can be retrieved from Transfer Detail Api with the corresponding transferId.

The "shipment ID" will be used in the URL of the API and the vendorAddressID will be used in "id" parameter while updating the shipment address.

Http Request:

PUT /api/v1/vendors/transfers/{transferId}/shipment/{shipmentId}

Path Parameters:

Name Type Description
transferId path integer
shipmentId path integer

Body Parameters:

Name Type Description
body Shipment Shipment update object

The above command returns JSON structured like this:

{
  "status": 200,
  "result": {
    "id": 0,
    "vendorAddress": {
      "id": 0,
      "title": "string",
      "address": "string",
      "countryCode": "string",
      "city": "string",
      "postalCode": "string"
    },
    "type": "LOCAL",
    "dropByVendor": true,
    "courierCompany": "string",
    "trackingNumber": "string",
    "contactPhone": "string"
  }
}

Response:

Name Type Description
status integer http status code
result shipment shipment details
id integer none
» shipment.vendorAddress VendorAddress none
» shipment.type ShipmentTypesEnum If you are a local vendor (from UAE), you need to send Shipment Type as «LOCAL», if not «INTERNATIONAL»
» shipment.dropByVendor boolean true if If you are a local who is planning to bring the products to our warehouse, false if you send the products with a courier company
» shipment.courierCompany string Courier company which the shipment will be sent via
» shipment.trackingNumber string Shipment tracking number that you should receive from courier company the moment you shipped the goods
» shipment.contactPhone string A cellphone of a responsible to contact with upon any problem related with this shipment

Reporting Integration

Order Report

Order report gives info upon orders received between any time interval requested. You will need to select start date and end date with Vendor ID to receive order item based list.

download return and cancellation statistics

GET /api/v1/vendors/download/returnAndCancellation HTTP/1.1
Accept: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet
Authorization: Bearer {access-token}
Host: be-marketplace.ounass.com

curl --request GET \
  --url https://be-marketplace.ounass.com/api/v1/vendors/download/returnAndCancellation \
  --header 'Accept: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet' \
  --header 'Authorization: Bearer {access-token}'

Http Request:

GET /api/v1/vendors/download/returnAndCancellation

Parameters:

Name Type Description
brandId array[integer] dynamic brandId (could be used like brandId[]=1&brandId[]=2&brandId[]=3)
dateText string dynamic date parameter to filter items from start of, options:(DAY,WEEK,MONTH,YEAR)
dateFrom string(date) from date parameter in YYYY/MM/DD format
dateTo string(date) to date parameter in YYYY/MM/DD format

Response:

Name Type Description
file string(binary) Download vendor transfer template

Return and Cancellation Fields

Field Name Description
Vendor ID Vendor ID registered at Ounass
Order ID Unique Order ID registered at Ounass
Order Creation Date Order Creation date at Ounass
Status Record Date Latest status record date of the order
Order Status Order status
Customer ID Customer ID who places order
Website Website product is sold
Shipment Country Shipment country shipment will be delivered
Shipment City Shipment city shipment will be delivered
SKU SKU ID of related VPN+Color+Size
Brand Brand of related SKU
VPN VPN of related SKU
Color Color of related SKU
Size Size of related SKU
Barcode Barcode of related SKU
Gender Gender of related SKU
Category Category of related SKU
Season Season of related SKU
Item Name Item name of related SKU
Pricing Type Markdown or Full price differentiation
Discount Amount Discount Amount applied in the form of Coupon or Cart Rule
Campaign Rule ID Applied campaign ID (if any exists inside the order)
Retail Price Local retail price of the product sold
Retail Price AED Retail price of the product sold in AED
Gross Revenue AED Gross Revenue of the product sold in AED
Currency Rate Conversion rate between local currency & AED
SKU Quantity Sold quantity
Reason Return or Cancellation reason if exists

get return and cancellation reports

GET /api/v1/vendors/reports/returnAndCancellation HTTP/1.1
Accept: application/json
Authorization: Bearer {access-token}
Host: be-marketplace.ounass.com

curl --request GET \
  --url https://be-marketplace.ounass.com/api/v1/vendors/reports/returnAndCancellation \
  --header 'Accept: application/json' \
  --header 'Authorization: Bearer {access-token}'

Http Request:

GET /api/v1/vendors/reports/returnAndCancellation

Parameters:

Name Type Description
brandId array[integer] dynamic brandId (could be used like brandId[]=1&brandId[]=2&brandId[]=3)
date string dynamic date parameter to filter items by start of this WEEK/MONTH/WEEK/DAY
dateFrom string(date) from date parameter in YYYY/MM/DD format
dateTo string(date) to date parameter in YYYY/MM/DD format

The above command returns JSON structured like this:

{
  "status": 200,
  "result": [
    {
      "vendorId": 0,
      "orderId": 0,
      "orderCreationDate": "string",
      "statusRecordDate": "string",
      "orderStatus": "string",
      "customerId": "string",
      "website": "string",
      "shipmentCountry": "string",
      "shipmentCity": "string",
      "sku": "string",
      "brand": "string",
      "vpn": "string",
      "color": "string",
      "size": "string",
      "barcode": "string",
      "gender": "string",
      "category": "string",
      "season": "string",
      "itemName": "string",
      "pricingType": "string",
      "discountAmount": "string",
      "retailPrice": 0,
      "retailPriceAed": 0,
      "grossRevenueAed": 0,
      "currencyRate": 0,
      "skuQuantity": 0,
      "reason": "string"
    }
  ]
}

Response:

Name Type Description
status integer http status code
result [object] array of result object per row in the uploaded excel
» vendorId integer Vendor ID registered at Ounass
» orderId integer Unique Order ID registered at Ounass
» orderCreationDate string Order Creation date at Ounass
» statusRecordDate string Latest status record date of the order
» orderStatus string Order status
» customerId string Customer ID who places order
» website string Website product is sold
» shipmentCountry string Shipment country shipment will be delivered
» shipmentCity string Shipment city shipment will be delivered
» sku string SKU ID of related VPN+Color+Size
» brand string Brand of related SKU
» vpn string VPN of related SKU
» color string Color of related SKU
» size string Size of related SKU
» barcode string Barcode of related SKU
» gender string Gender of related SKU
» category string Category of related SKU
» season string Season of related SKU
» itemName string Item name of related SKU
» pricingType string Markdown or Full price differentiation
» discountAmount string Discount Amount applied in the form of Coupon or Cart Rule
» campaignRuleId string Applied campaign ID (if any exists inside the order)
» retailPrice integer Local retail price of the product sold
» retailPriceAed integer Retail price of the product sold in AED
» grossRevenueAed integer Gross Revenue of the product sold in AED
» currencyRate integer Conversion rate between local currency & AED
» skuQuantity integer Sold quantity
» reason string Return or Cancellation reason if exists

Stock Report

Stock report gives info upon related stock. You can select Type and can receive regarding stock information or you can send VPN+Color+Size info to learn SOH.

get stock details report

GET /api/v1/vendors/reports/stockDetails?stockFilter=STOCK_ON_HAND HTTP/1.1
Accept: application/json
Authorization: Bearer {access-token}
Host: be-marketplace.ounass.com

curl --request GET \
  --url 'https://be-marketplace.ounass.com/api/v1/vendors/reports/stockDetails?stockFilter=STOCK_ON_HAND' \
  --header 'Accept: application/json' \
  --header 'Authorization: Bearer {access-token}'

Http Request:

GET /api/v1/vendors/reports/stockDetails

Parameters:

Name Type Description
stockFilter StockFilterEnum stock filter type to get stock details
brandId array[integer] dynamic brandId (could be used like brandId[]=1&brandId[]=2&brandId[]=3)
categoryId array[integer] dynamic category id (could be used like categoryId[]=1&categoryId[]=2&categoryId[]=3)
attribute string Set this if you want to filter by specific attribute/attributes (could be used like attribute[Color]=1&attribute[Color]=2&attribute[Size]=3)
query string query text for search pages
page integer page number
count integer number of items per pages

Stock Filter options

Parameter Value Description
stockFilter STOCK_ON_HAND Stock On Hand is the real time total amount of stock sitting in the warehouse.
stockFilter RECEIVED_STOCK Received Stock is the total amount of stock inbounded.
stockFilter OUT_OF_STOCK Out Of Stock is the list of SKUs which have 0 sellable stock.
stockFilter SELLABLE_STOCK Sellable Stock is the real time total amount of stock available to sell in our websites.
stockFilter IN_TRANSIT_STOCK In Transit Stock is the real time total amount of stock that is in transit between Ounass locations.
stockFilter RTV_STOCK RTV Stock is the real time total amount of stock that is marked to return to vendor.
stockFilter EXPECTED_STOCK Expected Stock is the total amount of the stock ready to ship or shipped.
stockFilter RESERVED_STOCK Reserved Stock is the real time total amount of stock reserved before going in transit between Ounass locations.
stockFilter DAMAGED_STOCK Damaged Stock is the real time total amount of stock that is not sellable.
stockFilter CREATIVE_STOCK Creative Stock is the real time total amount of stock sitting in Ounass Photo Shoot UAE/ Ounass Studio UAE, Ounass Editorial Store UAE, Ounass PR UAE, Ounass Product Sample and Ounass Studio Styling locations.
stockFilter PERSONAL_SHOPPER_STOCK Personal Shopper Stock is the real time stock personal shoppers virtually hold for a potential VIP transaction.
stockFilter ACTIVATION_STOCK Activation stock is the stock in Maison VIP process or any other pop up store.

The above command returns JSON structured like this:

{
  "status": 200,
  "result": {
    "page": 1,
    "maxPage": 9,
    "count": 10,
    "totalCount": 87,
    "data": [
      {
        "vendorId": 0,
        "vendorName": "string",
        "itemName": "string",
        "brandName": "string",
        "sku": "string",
        "barcode": "string",
        "vpn": "string",
        "color": "string",
        "size": "string",
        "gender": "string",
        "season": "string",
        "category": "string",
        "quantity": "string",
        "threshold": 0
      }
    ]
  }
}

Response:

Name Type Description
status integer http status code
» result object search result
»»page integer current page
»»maxPage integer last page available for data
»»count integer number of data in per page
»»totalCount integer total count of data
»» data [object] The stock details for every product
»»» vendorId integer Vendor Id
»»» vendorName string Vendor name
»»» itemName string Vendor product name
»»» brandName string Vendor product brand name
»»» sku string Vendor product sku
»»» barcode string Vendor product barcode
»»» vpn string Vendor product no
»»» color string Vendor product color
»»» size string Vendor product size
»»» gender string Vendor product gender
»»» season string Vendor product season
»»» category string Vendor product quantity
»»» quantity string (If you set the stockFilter query parameter to SELLABLE_STOCK, threshold field is contained in the response, if you use other stockFilter options, you cannot get the threshold field)

Stock Details Fields

Field Name Description
Type You can get stock on hand, sellable stock, received stock in transit stock and Out of Stock items
Vendor Id Vendor ID registered at Ounass
Vendor Name Vendor Name registered at Ounass
Item Name Item name of related SkU
Brand Brand of related SKU
SKU ID SKU ID of related SKU
Barcode Barcode of related SKU
VPN VPN of related SKU
Color Color of related SKU
Size Size of related SKU
Gender Gender of related SKU
Season Season of related SKU
Category Category of related SKU
Quantity Quantity of related SKU
Threshold If the product has a safe stock

Financial Report

The Financial Report API provides in-depth financial information on orders that have been completed or returned within the specified time period highlighted by the "Order Completion Date" column/field. If no time period parameter is provided, the default period is set to month-to-date from the date of request.

Download Financial Report

GET /api/v1/vendors/download/financialReport HTTP/1.1
Accept: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet
Authorization: Bearer {access-token}
Host: be-marketplace.ounass.com
curl --request GET \
  --url https://be-marketplace.ounass.com/api/v1/vendors/download/financialReport \
  --header 'Accept: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet' \
  --header 'Authorization: Bearer {access-token}'

Http Request:

GET /api/v1/vendors/download/financialReport

Parameters:

Name Type Description
brandId array[integer] dynamic brandId (could be used like brandId[]=1&brandId[]=2&brandId[]=3)
dateFrom string(date) from date parameter in YYYY/MM/DD format to fiter order completion or return date
dateTo string(date) to date parameter in YYYY/MM/DD format to fiter order completion or return date

Response:

Name Type Description
file string(binary) Download vendor transfer template

Financial Report Fields

Field Name Description
Order ID Unique Order ID registered at Ounass
Order Completion Date Date of sale or return of an SKU
Order Creation Date Order Creation date at Ounass
Vendor ID Vendor ID registered at Ounass
Vendor Name Vendor Name registered at Ounass
Invoice Currency Currency of vendor invoice
Invoice Type GROSS or NET invoice type
Website Website of sale or return
Brand Brand of sale or return
SKU ID SKU ID of sale or return
Barcode Barcode associated with the SKU ID of sale or return
VPN Vendor Product Number associated with the SKU ID of sale or return
Color Color associated with the SKU ID of sale or return
Size Size associated with the SKU ID of sale or return
Item Description Item Description associated with the SKU ID of sale or return
Sales Quantity Quantity associated with the SKU ID of sale or return (positive values are sale and negatives are return)
Local Sales Currency Currency of the website of sale or return
Currency Conversion Rate (to AED) Convertion rate from local sales currency to AED
Currency Conversion Rate (to SAR) Convertion rate from local sales currency to SAR
Original Price Incl VAT (AED) Original price in AED including VAT associated with the SKU ID
Original Price Incl VAT (SAR) Original price in SAR including VAT associated with the SKU ID
Retail Price Incl VAT (AED) Retail price in AED including VAT associated with the SKU ID
Retail Price Incl VAT (SAR) Retail price in SAR including VAT associated with the SKU ID
Retail Price Exc VAT (AED) Retail price in AED excluding VAT associated with the SKU ID
Retail Price Exc VAT (SAR) Retail price in SAR excluding VAT associated with the SKU ID
Total Retail Price Exc VAT (AED) Brand of sale or return
Total Retail Price Exc VAT (SAR) Brand of sale or return
Discount Agreed % Percentage of discount associated with the sale or return
Vendor Net Sale (AED) The net sale in AED with the discount excluded associated with the sale or return
Vendor Net Sale (SAR) The net sale in SAR with the discount excluded associated with the sale or return
Commission % Commision percentage agreed upon
Earning (AED) The net earning in AED excluding the commission associated with the sale or return
Earning (SAR) The net earning in SAR excluding the commission associated with the sale or return

Get Financial Report

GET /api/v1/vendors/reports/financialReport HTTP/1.1
Accept: application/json
Authorization: Bearer {access-token}
Host: be-marketplace.ounass.com
curl --request GET \
  --url https://be-marketplace.ounass.com/api/v1/vendors/reports/financialReport \
  --header 'Accept: application/json' \
  --header 'Authorization: Bearer {access-token}'

Http Request:

GET /api/v1/vendors/reports/financialReport

Parameters:

Name Type Description
brandId array[integer] dynamic brandId (could be used like brandId[]=1&brandId[]=2&brandId[]=3)
dateFrom string(date) from date parameter in YYYY/MM/DD format to fiter order completion or return date
dateTo string(date) to date parameter in YYYY/MM/DD format to fiter order completion or return date

The above command returns JSON structured like this:

{
  "status": 200,
  "result": [
    {
      "orderId": "11223344",
      "orderCompletionDate": "2024-07-22 14:26:44",
      "orderCreationDate": "2024-07-22 14:10:05",
      "vendorId": 11223344,
      "vendorName": "Vendor Name",
      "invoiceCurrency": "AED",
      "invoiceType": "GROSS",
      "website": "UAE",
      "brand": "name",
      "sku": 11223344,
      "barcode": 11223344,
      "vpn": "VPN123VPN",
      "color": "Black",
      "size": "XL",
      "itemDescription": "Stylish cotton shirt with bold prints",
      "salesQuantity": 1,
      "localSalesCurrency": "AED",
      "currencyConversionRateAED": 1.0,
      "currencyConversionRateSAR": null,
      "originalPriceInclVatAED": 52.0,
      "originalPriceInclVatSAR": null,
      "retailPriceInclVatAED": 81.0,
      "retailPriceInclVatSAR": null,
      "retailPriceExcVatAED": 77.14,
      "retailPriceExcVatSAR": null,
      "totalRetailPriceExcVatAed": 77.14,
      "totalRetailPriceExcVatSar": null,
      "discountAgreedPercentage": "-",
      "vendorNetSaleAed": 77.14,
      "vendorNetSaleSar": null,
      "commissionPercentage": 45,
      "earningAED": 70.72,
      "earningSAR": null
    }
  ]
}

Response:

Name Type Description
status integer http status code
result [object] array of result object per row in the uploaded excel
» orderId string Unique Order ID registered at Ounass
» orderCompletionDate string Date of sale or return of an SKU
» orderCreationDate string Order Creation date at Ounass
» vendorId integer Vendor ID registered at Ounass
» vendorName string Vendor Name registered at Ounass
» invoiceCurrency string Currency of vendor invoice
» invoiceType string GROSS or NET invoice type
» website string Website of sale or return
» brand string Brand of sale or return
» sku integer SKU ID of sale or return
» barcode string Barcode associated with the SKU ID of sale or return
» vpn string Vendor Product Number associated with the SKU ID of sale or return
» color string Color associated with the SKU ID of sale or return
» size string Size associated with the SKU ID of sale or return
» itemDescription string Item Description associated with the SKU ID of sale or return
» salesQuantity integer Quantity associated with the SKU ID of sale or return (positive values are sale and negatives are return)
» localSalesCurrency string Currency of the website of sale or return
» currencyConversionRateAED float Conversion rate from local sales currency to AED
» currencyConversionRateSAR float Conversion rate from local sales currency to SAR
» originalPriceInclVatAED float Original price in AED including VAT associated with the SKU ID
» originalPriceInclVatSAR float Original price in SAR including VAT associated with the SKU ID
» retailPriceInclVatAED float Retail price in AED including VAT associated with the SKU ID
» retailPriceInclVatSAR float Retail price in SAR including VAT associated with the SKU ID
» retailPriceExcVatAED float Retail price in AED excluding VAT associated with the SKU ID
» retailPriceExcVatSAR float Retail price in SAR excluding VAT associated with the SKU ID
» totalRetailPriceExcVatAED float Total retail price in AED excluding VAT associated with the SKU ID
» totalRetailPriceExcVatSAR float Total retail price in SAR excluding VAT associated with the SKU ID
» discountAgreedPercentage string Percentage of discount associated with the sale or return
» vendorNetSaleAED float The net sale in AED with the discount excluded associated with the sale or return
» vendorNetSaleSAR float The net sale in SAR with the discount excluded associated with the sale or return
» commissionPercentage integer Commission percentage agreed upon
» earningAED float The net earning in AED excluding the commission associated with the sale or return
» earningSAR float The net earning in SAR excluding the commission associated with the sale or return

Key & Value Mapping

Key(s) and Values(s) of product/transfer excel or json requests are customizable.

The Key corresponds to Column Header, and the Value corresponds to Cell Value for apis accepting/returning excel file;

And for JSON based apis below, the Key corresponds to Object key and the Value corresponds to Object Value.

Key Mapping

Key mapping can be applied for each endpoint separately.

Key Mapping Types

In order to apply a custom key mapping, follow the steps;

  1. get default mapping of a mapping type
  2. post your custom mapping data (consecutive request will override previous mapping)
  3. get and verify your mapping
  4. delete your custom mapping if you want to reset back to default mapping

Example use case for product excel

This use case will demonstrate a simple example of applying a custom mapping for PRODUCT_EXCEL.

Getting default product excel keys

GET /api/v1/vendors/mapping?default=true&keyMappingType=PRODUCT_EXCEL HTTP/1.1
Accept: application/json
Authorization: Bearer {access-token}
Host: be-marketplace.ounass.com
curl --request GET \
  --url 'https://be-marketplace.ounass.com/api/v1/vendors/mapping?default=true&keyMappingType=PRODUCT_EXCEL' \
  --header 'Accept: application/json' \
  --header 'Authorization: Bearer {access-token}'

First, we need to query default mappings with getting default mapping api, default mapping will return all mappings for the type PRODUCT_EXCEL

The above command returns JSON structured like this:

{
  "status": 200,
  "result": [
    .
    .
    .
    {
      "marketplaceField": "Color",
      "vendorField": "Color"
    },
    {
      "marketplaceField": "Item Name",
      "vendorField": "Item Name"
    },
    .
    .
    .
  ]
}

The api will return all default field mappings for the type PRODUCT_EXCEL. marketplaceField states the original field, vendorField is custom field value and by default it is same as the marketplaceField.

Overriding product excel keys

POST /api/v1/vendors/mapping?keyMappingType=PRODUCT_EXCEL HTTP/1.1
Content-Type: application/json
Accept: application/json
Authorization: Bearer {access-token}
Host: be-marketplace.ounass.com
Content-Length: 64

{"pairs":[{"marketplaceField":"Color","vendorField":"Colour"},{"marketplaceField":"Item Name","vendorField":"Product Name"}]}
curl --request POST \
  --url 'https://be-marketplace.ounass.com/api/v1/vendors/mapping?keyMappingType=PRODUCT_EXCEL' \
  --header 'Accept: application/json' \
  --header 'Authorization: Bearer {access-token}' \
  --header 'Content-Type: application/json' \
  --data '{"pairs":[{"marketplaceField":"Color","vendorField":"Colour"},{"marketplaceField":"Item Name","vendorField":"Product Name"}]}'

Body Parameter

{
  "pairs": [
    {
      "marketplaceField": "Color",
      "vendorField": "Colour"
    },
    {
      "marketplaceField": "Item Name",
      "vendorField": "Product Name"
    }
  ]
}

And lets assume, we would like to use Colour instead of Color and Product Name instead of Item Name in our excel files while creating or updating products via excel

Upon receiving 200 ok, we can now use our custom headers in our excel files. And the key mapping will also be applied to download product excel api

The above command returns JSON structured like this:

{
  "status": 200
}

Product template before applying key mapping:

api management screen

Product template after applying key mapping:

api management screen

This use case can be applied to all remaining key mapping types in order to customize their input and output.

Getting default mapping for a mapping type

GET /api/v1/vendors/mapping?default=true&keyMappingType={key-mapping-type} HTTP/1.1
Accept: application/json
Authorization: Bearer {access-token}
Host: be-marketplace.ounass.com
curl --request GET \
  --url 'https://be-marketplace.ounass.com/api/v1/vendors/mapping?default=true&keyMappingType={key-mapping-type}' \
  --header 'Accept: application/json' \
  --header 'Authorization: Bearer {access-token}'

Http Request:

GET /api/v1/vendors/mapping?default=true&keyMappingType={key-mapping-type}

Query Parameters:

Name In Type Description
keyMappingType KeyMappingTypes key mapping type parameter

The above command returns JSON structured like this:

{
  "status": 200,
  "result": [
    {
      "marketplaceField": "Field-1",
      "vendorField": "Custom Mapping for Field-1"
    },
  ]
}

Response:

Name Type Description
status integer http status code
result [mapping] array of key mapping object
» mapping.marketplaceField string original field value
» mapping.vendorField string custom field value

Create/update mapping for a mapping type

POST /api/v1/vendors/mapping?keyMappingType={key-mapping-type} HTTP/1.1
Content-Type: application/json
Accept: application/json
Authorization: Bearer {access-token}
Host: be-marketplace.ounass.com
Content-Length: 64

{"pairs":[{"marketplaceField":"string","vendorField":"string"}]}
curl --request POST \
  --url 'https://be-marketplace.ounass.com/api/v1/vendors/mapping?keyMappingType={key-mapping-type}' \
  --header 'Accept: application/json' \
  --header 'Authorization: Bearer {access-token}' \
  --header 'Content-Type: application/json' \
  --data '{"pairs":[{"marketplaceField":"string","vendorField":"string"}]}'

Http Request:

POST /api/v1/vendors/mapping?keyMappingType={key-mapping-type}

Query Parameters:

Name Type Description
keyMappingType KeyMappingTypes key mapping type parameter

Body Parameters:

Name Type Description
pairs [mapping] none
» mapping.marketplaceField string field name on Ounass side
» mapping.vendorField string field name on vendor side

The above command returns JSON structured like this:

{
  "status": 200
}

Response:

Name Type Description
status integer http status code

Getting mapping for a mapping type

GET /api/v1/vendors/mapping?keyMappingType={key-mapping-type} HTTP/1.1
Accept: application/json
Authorization: Bearer {access-token}
Host: be-marketplace.ounass.com
curl --request GET \
  --url 'https://be-marketplace.ounass.com/api/v1/vendors/mapping?keyMappingType={key-mapping-type}' \
  --header 'Accept: application/json' \
  --header 'Authorization: Bearer {access-token}'

Http Request:

GET /api/v1/vendors/mapping?keyMappingType={key-mapping-type}

Query Parameters:

Name In Type Description
keyMappingType KeyMappingTypes key mapping type parameter

The above command returns JSON structured like this:

{
  "status": 200,
  "result": [
    {
      "marketplaceField": "Field-1",
      "vendorField": "Custom Mapping for Field-1"
    },
  ]
}

Response:

Name Type Description
status integer http status code
result [mapping] array of key mapping object
» mapping.marketplaceField string original field value
» mapping.vendorField string custom field value

Deleting custom mapping for a mapping type

DELETE /api/v1/vendors/mapping?keyMappingType={key-mapping-type} HTTP/1.1
Accept: application/json
Authorization: Bearer {access-token}
Host: be-marketplace.ounass.com

curl --request DELETE \
  --url 'https://be-marketplace.ounass.com/api/v1/vendors/mapping?keyMappingType={key-mapping-type}' \
  --header 'Accept: application/json' \
  --header 'Authorization: Bearer {access-token}'

Http Request:

DELETE /api/v1/vendors/mapping?keyMappingType={key-mapping-type}

Query Parameters:

Name Type Description
keyMappingType KeyMappingTypes key mapping type parameter

The above command returns JSON structured like this:

{
  "status": 200
}

Response:

Name Type Description
status integer http status code

Value Mapping

Value mapping is applied to all product and transfer endpoints by mapping attribute options to custom values

In order to apply a custom value mapping, follow the steps;

  1. get attribute options
  2. post your custom value mapping data (consecutive request will override previous mapping)
  3. get and verify your value mapping
  4. delete your custom value mapping if you want not to do any value mapping

Example

This use case will demonstrate a simple example of applying a custom value mapping.

Getting attribute options

GET /api/v1/categories/1670/attributes HTTP/1.1
Accept: application/json
Authorization: Bearer {access-token}
Host: be-marketplace.ounass.com
curl --request GET \
  --url 'https://be-marketplace.ounass.com/api/v1/categories/1670/attributes' \
  --header 'Accept: application/json' \
  --header 'Authorization: Bearer {access-token}'

First, we need to get category attributes and their options with get attribute options, it will return category attributes and its options

The above command returns JSON structured like this:

{
  "status": 200,
  "result": {
    "attributes": [
      {
        "key": "description",
        "type": "FREE_TEXT",
        "mandatory": true,
      },
      {
        "key": "Color",
        "type": "OPTION",
        "mandatory": true,
        "options": [
          {
            "id": 1584,
            "value": "Bright Red",
            "languageCode": "en"
          },
          {
            "id": 1585,
            "value": "Bright Yellow",
            "languageCode": "en"
          },
          .
          .
          .
        ]
      },
      {
        "key": "countryOfOrigin",
        "type": "OPTION",
        "mandatory": false,
        "options": [
          {
            "id": 1586,
            "value": "United Arab Emirates",
            "languageCode": "en"
          },
          {
            "id": 1587,
            "value": "United Kingdom",
            "languageCode": "en"
          },
          .
          .
          .
        ]
      },
      .
      .
      .
   }
  }
}

Setting value mapping

POST /api/v1/vendors/valuemapping HTTP/1.1
Content-Type: application/json
Accept: application/json
Authorization: Bearer {access-token}
Host: be-marketplace.ounass.com
Content-Length: 64

{"pairs":[{"attributeOptionId":1584,"vendorValue":"Pink"},{"attributeOptionId":1586,"vendorValue":"UAE"}]}
curl --request POST \
  --url 'https://be-marketplace.ounass.com/api/v1/vendors/valuemapping' \
  --header 'Accept: application/json' \
  --header 'Authorization: Bearer {access-token}' \
  --header 'Content-Type: application/json' \
  --data '{"pairs":[{"attributeOptionId":1584,"vendorValue":"Pink"},{"attributeOptionId":1586,"vendorValue":"UAE"}]}'

Body Parameter

{
  "pairs": [
    {
      "attributeOptionId":1584,
      "vendorValue":"Pink"
    },
    {
      "attributeOptionId":1586,
      "vendorValue":"UAE"
    }
  ]
}

And lets assume, we would like to use Pink instead of Bright Red and UAE instead of United Arab Emirates in our excel files while creating or updating products via excel

Upon receiving 200 ok, we can now use our custom attribute option values in our excel files, and JSON bodies for product/transfer APIs. And the key mapping will also be applied to download product excel api.

The above command returns JSON structured like this:

{
  "result": [
    {
      "vendorValue": "Pink",
      "marketplaceValue": "Bright Red",
      "attributeId": 5,
      "attributeKey": "Color"
    }
  ],
  "status": 200
}

Create/update value mapping

POST /api/v1/vendors/valuemapping HTTP/1.1
Content-Type: application/json
Accept: application/json
Authorization: Bearer {access-token}
Host: be-marketplace.ounass.com
Content-Length: 64

{"pairs":[{"attributeOptionId":integer,"vendorValue":"string"}]}
curl --request POST \
  --url 'https://be-marketplace.ounass.com/api/v1/vendors/valuemapping' \
  --header 'Accept: application/json' \
  --header 'Authorization: Bearer {access-token}' \
  --header 'Content-Type: application/json' \
  --data '{"pairs":[{"attributeOptionId":integer,"vendorValue":"string"}]}'

Http Request:

POST /api/v1/vendors/valuemapping

Body Parameters:

Name Type Description
pairs [valuemappingrequest] none
» valuemappingrequest.attributeOptionId integer attribute option id
» valuemappingrequest.vendorValue string attribute option value on vendor side

The above command returns JSON structured like this:

{
  "result": [
    {
      "vendorValue": "Pink",
      "marketplaceValue": "Bright Red",
      "attributeId": 5,
      "attributeKey": "Color"
    }
  ],
  "status": 200
}

Response:

Name Type Description
status integer http status code
result [valuemappingresponse] array of value mapping object
» valuemappingresponse.vendorValue string custom attribute option value
» valuemappingresponse.marketplaceValue string original attribute option value
» valuemappingresponse.attributeId string attribute option's attribute id
» valuemappingresponse.attributeKey string attribute option's attribute key

Getting value mapping

GET /api/v1/vendors/valuemapping HTTP/1.1
Accept: application/json
Authorization: Bearer {access-token}
Host: be-marketplace.ounass.com
curl --request GET \
  --url 'https://be-marketplace.ounass.com/api/v1/vendors/valuemapping' \
  --header 'Accept: application/json' \
  --header 'Authorization: Bearer {access-token}'

Http Request:

GET /api/v1/vendors/valuemapping

The above command returns JSON structured like this:

{
  "result": [
    {
      "vendorValue": "Pink",
      "marketplaceValue": "Bright Red",
      "attributeId": 5,
      "attributeKey": "Color"
    }
  ],
  "status": 200
}

Response:

Name Type Description
status integer http status code
result [valuemappingresponse] array of value mapping object
» valuemappingresponse.vendorValue string custom attribute option value
» valuemappingresponse.marketplaceValue string original attribute option value
» valuemappingresponse.attributeId string attribute option's attribute id
» valuemappingresponse.attributeKey string attribute option's attribute key

Deleting value mapping

DELETE /api/v1/vendors/valuemapping HTTP/1.1
Accept: application/json
Authorization: Bearer {access-token}
Host: be-marketplace.ounass.com

curl --request DELETE \
  --url 'https://be-marketplace.ounass.com/api/v1/vendors/valuemapping' \
  --header 'Accept: application/json' \
  --header 'Authorization: Bearer {access-token}'

Http Request:

DELETE /api/v1/vendors/valuemapping

The above command returns JSON structured like this:

{
  "status": 200
}

Response:

Name Type Description
status integer http status code

Environments

We have test and live environment for API requests. After making integration, initially datas are sent to test environments and once validated by Ounass then Access to production environment will be given.

API request limitation: For all requests you make to the Ounass Marketplace API’s, you can get a maximum of 3000 requests within 30 seconds to the same endpoint. When you try further, you will get an error with 03 status code that says “too many requests".

Test environment endpoint information: Example API requests should be sent to https://preprod-be-marketplace.ounass.com

Production environment endpoint information: Live request should be sent to https://be-marketplace.ounass.com

Troubleshoot

For technical support you can react us via [email protected] and our developers will return during 10:00-19:00 (GMT+4) on weekdays and weekends.

Schemas

Brand

Brand example

{
  "id": 4475,
  "name": "Spektre",
}
Name Type Description
id integer brand id
name string brand name

ProductCategory

Product Category example

{
  "id": 378,
  "name": "Sleeveless",
  "hierarchy": "Women's Casual & Contemporary > Jumpsuit > Sleeveless"
}
Name Type Description
id string category id
name string category name
hierarchy string category hierarchy

AttributeValue

Attribute value example

{
  "key": "Color",
  "mandatory": true,
  "type": "OPTION",
  "value": "Red"
}
Name Type Description
key string attribute key
mandatory string is attribute mandatory
type string OPTION or FREETEXT
value string attribute value

Product

Name Type Description
id integer Product id
name string Product name
sku string Product sku
status string Product status
brand Brand Product brand details
product.categories [ProductCategory] Product’s category information details
product.productAttributeValues [AttributeValue] Product’s attribute and its attribute values given by vendor

VendorProduct

Name Type Description
id integer vendor product id
parentId integer Vendor Product’s ParentID which will be the same around the same Vendor product number
barcode string Vendor product’s barcode
vendorProductNo string Vendor product number which the vendor filled
color string Color of the product
size string Size of the product
status string Status of the vendor product
product Product Vendor product’s catalog product id and its details. Product SKU is the Id which you will see in the Ounass website
vendorProductAttributeValues [AttributeValue] Product attribute and attribute values if there is any requested update
vendorProductItems [VendorProductItem] Product’s region prices and their status details. You will get one vendor product item per each Ounass region
vendorProductStock [object] Product’s stock in Ounass Warehouse

VendorProductItem

{
  "id": 0,
  "commission": 0,
  "retailPrice": 0,
  "basePrice": 0,
  "currencyCode": "string",
  "baseCurrencyCode": "string",
  "promotionPrice": 0,
  "promotionStart": "2019-08-24T14:15:22Z",
  "promotionEnd": "2019-08-24T14:15:22Z",
  "fulfilmentLocation": "string",
  "status": "ACTIVE"
}
Name Type Description
id integer Vendor product item id
commission number(float) To Be Defined
retailPrice number(float) To Be Defined
basePrice number(float) To Be Defined
currencyCode string
baseCurrencyCode string To Be Defined
promotionPrice number(float) To Be Defined
promotionStart string(date-time) To Be Defined
promotionEnd string(date-time) To Be Defined
fulfilmentLocation string To Be Defined
status string To Be Defined

TransferItem

{
  "id": 0,
  "quantityRequested": 0,
  "quantityReceived": 0,
  "quantityDiscrepancy": 0,
  "reason": "string",
  "vendorProductId": 0
}
Name Type Description
id integer Created transfer item id
quantityRequested integer To Be Defined
quantityReceived string To Be Defined
reason string To Be Defined
vendorProductId string Associated vendor product id

Warehouse

{
  "id": 0,
  "name": "UAE Warehouse",
  "currencyCode": "string",
  "address": "string",
  "label": "string",
}

Name Type Description
id integer Warehouse id
name WarehouseNameEnum Warehouse name
currencyCode string Warehouse currency code
address string Warehouse address
label string Warehouse label to be displayed

Warehouse Name Enum

"UAE Warehouse"
Value
UAE Warehouse
KSA Warehouse

VendorWarehouse

{
  "id": 0,
  "invoiceModel": "NET",
  "warehouse": {
    "id": 0,
    "name": "UAE Warehouse"
  }
}

Name Type Description
id integer Vendor warehouse id
invoiceModel InvoiceModelEnum Vendor warehouse invoice model
warehouse Warehouse Warehouse object

Transfer

{
  "status": 200,
  "result": [
    {
      "id": 0,
      "fileName": "string",
      "rmsTransferId": 0,
      "rmsAppointmentId": 0,
      "asnTrackingNumber": 0,
      "status": "OPEN",
      "createdAt": "2019-08-24T14:15:22Z",
      "updatedAt": "2019-08-24T14:15:22Z",
      "vendorsWarehouse": {
        "id": 0,
        "warehouse": {
          "id": 0,
          "name": "UAE Warehouse"
        }
      },
      "transferItems": [
        {
          "id": 0,
          "quantityRequested": 0,
          "quantityReceived": 0,
          "quantityDiscrepancy": 0,
          "reason": "string",
          "vendorProductId": 0
        }
      ]
    }
  ]
}
Name Type Description
id integer Transfer id
fileName string Filename of the template created the transfer
rmsTransferId string RMS Transfer No
rmsAppointmentId integer Appointment id
asnTrackingNumber integer tracking number
status TransferStatusEnum Transfer status
createdAt string(date-time) Transfer creation date
updatedAt string(date-time) Last update date of the transfer
vendorsWarehouse VendorWarehouse Vendor Warehouse object
transferItems [TransferItem] Array of transfer items

VendorAddress

{
  "id": 0,
  "title": "string",
  "address": "string",
  "countryCode": "string",
  "city": "string",
  "postalCode": "string"
}

Name Type Description
id integer Vendor address id
title string Unique title of the address
address string address string
countryCode string country code
city string city name
postalCode string postal code of the city

Shipment Types

"LOCAL"

If you are a local vendor (from UAE), you need to send Shipment Type as «LOCAL», if not «INTERNATIONAL»

Value
LOCAL
INTERNATIONAL

Shipment

{
  "id": 0,
  "vendorAddress": {
    "id": 0,
    "title": "string",
    "address": "string",
    "countryCode": "string",
    "city": "string",
    "postalCode": "string"
  },
  "type": "LOCAL",
  "dropByVendor": true,
  "courierCompany": "string",
  "trackingNumber": "string",
  "contactPhone": "string"
}
Name Type Description
id integer none
vendorAddress VendorAddress none
type ShipmentTypesEnum If you are a local vendor (from UAE), you need to send Shipment Type as «LOCAL», if not «INTERNATIONAL»
dropByVendor boolean true if If you are a local who is planning to bring the products to our warehouse, false if you send the products with a courier company
courierCompany string Courier company which the shipment will be sent via
trackingNumber string Shipment tracking number that you should receive from courier company the moment you shipped the goods
contactPhone string A cellphone of a responsible to contact with upon any problem related with this shipment

Mapping

{
  "status": 200,
  "result": [
    {
      "marketplaceField": "Field-1",
      "vendorField": "Custom Mapping for Field-1"
    },
  ]
}
Name Type Description
marketplaceField string original field value
vendorField string custom field value

Value Mapping Request

{
  "pairs": [
    {
      "attributeOptionId":1584,
      "vendorValue":"Pink"
    },
  ]
}
Name Type Description
attributeOptionId integer attribute option id
vendorValue string attribute option value on vendor side

Value Mapping Response

{
  "result": [
    {
      "vendorValue": "Pink",
      "marketplaceValue": "Bright Red",
      "attributeId": 5,
      "attributeKey": "Color"
    }
  ],
  "status": 200
}
Name Type Description
vendorValue string custom attribute option value
marketplaceValue string original attribute option value
attributeId string attribute option's attribute id
attributeKey string attribute option's attribute key