GET
/
catalog
/
offers
/
merchants
/
{merchant_id}
curl --request GET \
  --url https://sandbox-api.violet.io/v1/catalog/offers/merchants/{merchant_id}
{
  "content": [
    {
      "id": 123,
      "product_id": "<string>",
      "external_id": "<string>",
      "external_url": "<string>",
      "name": "<string>",
      "description": "<string>",
      "source": "OTHER",
      "seller": "<string>",
      "vendor": "<string>",
      "merchant_id": 123,
      "available": true,
      "visible": true,
      "min_price": 123,
      "max_price": 123,
      "currency": "<string>",
      "source_category_name": "<string>",
      "metadata": [
        {
          "version": 123,
          "type": "STRING",
          "external_type": "<string>",
          "key": "<string>",
          "value": {},
          "external_id": "<string>",
          "source": "INTERNAL"
        }
      ],
      "variants": [
        {
          "id": 123,
          "product_variant_id": "<string>",
          "external_id": "<string>",
          "name": "<string>",
          "visual": true,
          "values": [
            {
              "id": 123,
              "product_variant_value_id": "<string>",
              "external_id": "<string>",
              "name": "<string>",
              "sku_ids": [
                123
              ],
              "display_order": 123
            }
          ],
          "display_order": 123
        }
      ],
      "skus": [
        {
          "id": 123,
          "offer_id": 123,
          "merchant_id": 123,
          "external_id": "<string>",
          "name": "<string>",
          "asin": "<string>",
          "gtin": "<string>",
          "upc": "<string>",
          "ean": "<string>",
          "isbn": "<string>",
          "in_stock": true,
          "quantity_available": 123,
          "inventory_tracked": true,
          "sale_price": 123,
          "retail_price": 123,
          "currency": "<string>",
          "presented_currency": "<string>",
          "taxable": true,
          "tax_type": "DEFAULT",
          "albums": [
            {
              "id": 123,
              "parent_id": 123,
              "type": "OFFER",
              "name": "<string>",
              "media": [
                {
                  "id": 123,
                  "album_id": 123,
                  "external_id": "<string>",
                  "cloud_id": "<string>",
                  "url": "<string>",
                  "source_url": "<string>",
                  "type": "IMAGE",
                  "display_order": 123,
                  "primary": true
                }
              ],
              "primary_media": {
                "id": 123,
                "album_id": 123,
                "external_id": "<string>",
                "cloud_id": "<string>",
                "url": "<string>",
                "source_url": "<string>",
                "type": "IMAGE",
                "display_order": 123,
                "primary": true
              }
            }
          ],
          "variant_values": [
            {
              "variant": "<string>",
              "value": "<string>"
            }
          ],
          "type": "PHYSICAL",
          "status": "UNAVAILABLE",
          "date_created": "2023-11-07T05:31:56Z",
          "date_last_modified": "2023-11-07T05:31:56Z",
          "sku_dimensions": {
            "sku_id": 123,
            "weight": 123,
            "height": 123,
            "width": 123,
            "length": 123,
            "type": "SKU"
          },
          "shipping_dimensions": {
            "sku_id": 123,
            "weight": 123,
            "height": 123,
            "width": 123,
            "length": 123,
            "type": "SKU"
          },
          "display_order": 123
        }
      ],
      "albums": [
        {
          "id": 123,
          "parent_id": 123,
          "type": "OFFER",
          "name": "<string>",
          "media": [
            {
              "id": 123,
              "album_id": 123,
              "external_id": "<string>",
              "cloud_id": "<string>",
              "url": "<string>",
              "source_url": "<string>",
              "type": "IMAGE",
              "display_order": 123,
              "primary": true
            }
          ],
          "primary_media": {
            "id": 123,
            "album_id": 123,
            "external_id": "<string>",
            "cloud_id": "<string>",
            "url": "<string>",
            "source_url": "<string>",
            "type": "IMAGE",
            "display_order": 123,
            "primary": true
          }
        }
      ],
      "three_d_enabled": true,
      "three_d_resource": "<string>",
      "type": "PHYSICAL",
      "status": "UNAVAILABLE",
      "publishing_status": "NOT_PUBLISHED",
      "date_created": "2023-11-07T05:31:56Z",
      "date_last_modified": "2023-11-07T05:31:56Z",
      "date_last_consolidated": "2023-11-07T05:31:56Z",
      "commission_rate": 123,
      "currency_symbol": "<string>",
      "presented_currency": "<string>",
      "default_image_url": "<string>",
      "subscription_status": "NOT_SUBSCRIBED",
      "external_data": {},
      "collections": [
        {
          "id": 123,
          "external_id": "<string>",
          "merchant_id": 123,
          "parent_id": 123,
          "name": "<string>",
          "handle": "<string>",
          "description": "<string>",
          "status": "INACTIVE",
          "type": "CUSTOM",
          "media": {
            "source_url": "<string>",
            "alt": "<string>",
            "height": 123,
            "width": 123,
            "date_created": "2023-11-07T05:31:56Z"
          },
          "date_created": "2023-11-07T05:31:56Z",
          "date_last_modified": "2023-11-07T05:31:56Z"
        }
      ],
      "tags": [
        "<string>"
      ]
    }
  ],
  "last": true,
  "total_pages": 123,
  "total_elements": 123,
  "first": true,
  "number_of_elements": 123,
  "size": 123,
  "number": 123,
  "empty": true,
  "next_page_cursor": "<string>",
  "pageable": {
    "page_number": 123,
    "page_size": 123,
    "sort": {
      "unsorted": true,
      "sorted": true,
      "empty": true
    },
    "offset": 123,
    "paged": true,
    "unpaged": true
  },
  "sort": {
    "unsorted": true,
    "sorted": true,
    "empty": true
  }
}

Note: For more details on this endpoint and the other possible filter options it can take, please refer to the API Reference

When retrieving Offers, if you provide the base_currency query parameter the currency in the Offer object will match what was passed in and all prices will reflect that currency. The default currency when no parameter is provided is USD.

Violet strongly discourages scraping this endpoint. Most offers do not change very often, so re-scraping all of a merchants offers on a regular basis is a very costly way to keep your catalog up to date.

Violet’s recommendation is to make use of offer webhooks to be notified when offers are added/updated in Violet’s system. This works because when your merchants onboard, their products are pulled into Violet’s system and so you will receive a webhook for each of the new merchant’s offers. Additionally, Violet employs a number of methods to keep our merchant’s catalogs up to date and all of those methods will generate webhooks sent to your system.

Headers

X-Violet-Token
string
X-Violet-App-Secret
string
X-Violet-App-Id
integer
X-Violet-Api-Features
string

Path Parameters

merchant_id
integer
required

Query Parameters

since
integer

A date represented in epoch milliseconds (https://www.epochconverter.com/). Gets offers last modified after the given date.

page
integer
default: 1
size
integer
default: 20
map_variants
boolean
default: true
base_currency
string
include
string

Comma-separated list of extra data to be included. E.g. metadata,collections.

Response

default - application/json
content
object[]

The actual content of the response; A list of the result objects

last
boolean

Boolean indicating if this is the last page

total_pages
integer

The total count of pages available

total_elements
integer

The total count of objects available

first
boolean

Boolean indicating if this is the first page of the response

number_of_elements
integer

The total number of objects in this specific response

size
integer

The page size selected at request time

number
integer

The page number selected at request time

empty
boolean

Boolean indicating if the response content is empty

next_page_cursor
string

Contains the cursor for the next page. This property will only be used for situations where the API does not support the page number/page size paradigm and it will mutually exclusive with the size/number fields in the response. If this property is returned it must be passed when requesting the next page from the API. Does not apply to endpoints that do not have a next_page_cursor query param documented.

pageable
object

Violet wrapper for springframework pageable

sort
object

Violet Wrapper for springframework sort