Skip to content

Latest commit

 

History

History
55 lines (47 loc) · 2.49 KB

upsert-catalog-object-request.md

File metadata and controls

55 lines (47 loc) · 2.49 KB

Upsert Catalog Object Request

Structure

UpsertCatalogObjectRequest

Fields

Name Type Tags Description
idempotencyKey string Required A value you specify that uniquely identifies this
request among all your requests. A common way to create
a valid idempotency key is to use a Universally unique
identifier (UUID).

If you're unsure whether a particular request was successful,
you can reattempt it with the same idempotency key without
worrying about creating duplicate objects.

See Idempotency for more information.
Constraints: Minimum Length: 1
object CatalogObject Required The wrapper object for the catalog entries of a given object type.

Depending on the type attribute value, a CatalogObject instance assumes a type-specific data to yield the corresponding type of catalog object.

For example, if type=ITEM, the CatalogObject instance must have the ITEM-specific data set on the item_data attribute. The resulting CatalogObject instance is also a CatalogItem instance.

In general, if type=<OBJECT_TYPE>, the CatalogObject instance must have the <OBJECT_TYPE>-specific data set on the <object_type>_data attribute. The resulting CatalogObject instance is also a Catalog<ObjectType> instance.

For a more detailed discussion of the Catalog data model, please see the
Design a Catalog guide.

Example (as JSON)

{
  "idempotency_key": "af3d1afc-7212-4300-b463-0bfc5314a5ae",
  "object": {
    "id": "#Cocoa",
    "item_data": {
      "abbreviation": "Ch",
      "description_html": "<p><strong>Hot</strong> Chocolate</p>",
      "name": "Cocoa",
      "variations": [
        {
          "id": "#Small",
          "item_variation_data": {
            "item_id": "#Cocoa",
            "name": "Small",
            "pricing_type": "VARIABLE_PRICING"
          },
          "type": "ITEM_VARIATION"
        },
        {
          "id": "#Large",
          "item_variation_data": {
            "item_id": "#Cocoa",
            "name": "Large",
            "price_money": {
              "amount": 400,
              "currency": "USD"
            },
            "pricing_type": "FIXED_PRICING"
          },
          "type": "ITEM_VARIATION"
        }
      ]
    },
    "type": "ITEM"
  }
}