Native Ecommerce

All webhooks related to Duda's Native store events are listed below._

Store Created

A notification is sent when a new native ecomm store is created on a site. Event type: ECOMM_STORE_CREATED

{
  "data": {},
  "source": null,
  "resource_data": {
    "site_name": "f98d30cb"
  },
  "event_timestamp": 1714673087297,
  "event_type": "ECOMM_STORE_CREATED"
}

Store Deleted

A notification is sent when a new native ecomm store is deleted on a site. Event type: ECOMM_STORE_DELETED

{
  "data": {},
  "source": null,
  "resource_data": {
    "site_name": "f98d30cb"
  },
  "event_timestamp": 1714673087297,
  "event_type": "ECOMM_STORE_DELETED"
}

Product Created

A notification is sent when a new product is created within the store. Event type: ECOMM_PRODUCT_CREATED

{
  "data": {
    "id": "jWtChkON",
    "name": "test_product",
    "type": "PHYSICAL",
    "description": "test_description",
    "seo": {
      "product_url": "product_url",
      "title": "title",
      "description": "description"
    },
    "status": "ACTIVE",
    "sku": "sku",
    "images": [],
    "prices": [
      {
        "currency": "USD",
        "price": "19.99",
        "compare_at_price": "20.00"
      }
    ],
    "external_id": "test_external_id",
    "options": null,
    "variations": [],
    "managed_inventory": false,
    "custom_fields": [],
    "categories": [],
    "requires_shipping": true,
    "stock_status": "IN_STOCK"
  },
  "source": null,
  "resource_data": {
    "site_name": "site_id"
  },
  "event_timestamp": 1705438960924,
  "event_type": "ECOMM_PRODUCT_CREATED"
}
NameTypeDescription
data.idstringA unique identifier for the product
data.namestringProduct name
data.typestringProduct type. Can be one of PHYSICAL, DIGITAL, SERVICE, or DONATION
data.descriptionstringProduct description
data.seostringOverridable seo properties of the product
data.statusstringProduct display status. Can be one of HIDDEN or ACTIVE
data.skustringStock keeping unit of given product
data.prices.currencystringCurrency code according to ISO_4217.
data.prices.pricestringThe price of the product
data.prices.compare_at_pricestringWhen specified and not equal to price, means that the product is discounted
data.external_idstringProduct external id
data.managed_inventorybooleanIndicated if this product should have inventory management
data.requires_shippingbooleanIndicated if this product is shippable or not
data.stock_statusstringStock status, value is relevant only if product's inventory is managed. Can be one of IN_STOCK or OUT_OF_STOCK

Product Updated

A notification is sent when a product is updated within the store. Event type: ECOMM_PRODUCT_UPDATED

{
  "data": {
    "id": "jWtChkON",
    "name": "test_product",
    "type": "PHYSICAL",
    "description": "test_description",
    "seo": {
      "product_url": "product_url",
      "title": "title",
      "description": "description"
    },
    "status": "ACTIVE",
    "sku": "sku",
    "images": [],
    "prices": [
      {
        "currency": "USD",
        "price": "19.99",
        "compare_at_price": "20.00"
      }
    ],
    "external_id": "test_external_id",
    "options": null,
    "variations": [],
    "managed_inventory": false,
    "custom_fields": [],
    "categories": [],
    "requires_shipping": true,
    "stock_status": "IN_STOCK"
  },
  "source": null,
  "resource_data": {
    "site_name": "site_id"
  },
  "event_timestamp": 1705438960924,
  "event_type": "ECOMM_PRODUCT_UPDATED"
}
NameTypeDescription
data.idstringA unique identifier for the product
data.namestringProduct name
data.typestringProduct type. Can be one of PHYSICAL, DIGITAL, SERVICE, or DONATION
data.descriptionstringProduct description
data.seostringOverridable seo properties of the product
data.statusstringProduct display status. Can be one of HIDDEN or ACTIVE
data.skustringStock keeping unit of given product
data.prices.currencystringCurrency code according to ISO_4217.
data.prices.pricestringThe price of the product
data.prices.compare_at_pricestringWhen specified and not equal to price, means that the product is discounted
data.external_idstringProduct external id
data.managed_inventorybooleanIndicated if this product should have inventory management
data.requires_shippingbooleanIndicated if this product is shippable or not
data.stock_statusstringStock status, value is relevant only if product's inventory is managed. Can be one of IN_STOCK or OUT_OF_STOCK

Product Deleted

A notification is sent when a product is deleted within the store. Event type: ECOMM_PRODUCT_DELETED

{
  "data": {
    "id": "jWtChkON",
    "external_id": "test_external_id"
  },
  "source": null,
  "resource_data": {
    "site_name": "site_id"
  },
  "event_timestamp": 1705439151112,
  "event_type": "ECOMM_PRODUCT_DELETED"
}
NameTypeDescription
data.idstringA unique identifier for the order
data.external_idstringProduct external id

Order Created

A notification is sent when a new order is created within the store. Event type: ECOMM_ORDER_CREATED

{
  "data": {
    "source": "EXTERNAL",
    "mode": "LIVE",
    "id": "e9c7062a-b557-4adc-92b8-867aa90bac97",
    "external_id": "external_id",
    "status": "IN_PROGRESS",
    "email": "email",
    "invoice_number": "invoice_number",
    "items": [
      {
        "id": "70f52515-cdc6-48ec-a31c-7d82448f8c3a",
        "product_id": null,
        "variation_id": null,
        "external_product_id": null,
        "external_variation_id": null,
        "name": "test_product",
        "image": null,
        "sku": null,
        "options": [],
        "quantity": 1,
        "shippable": false,
        "unit_price": "19.99",
        "unit_weight": null,
        "unit_dimensions": null,
        "total": "19.99",
        "combined_weight": 0,
        "metadata": {}
      }
    ],
    "billing_address": {
      "name": "first_name last_name",
      "first_name": "first_name",
      "last_name": "last_name",
      "full_name": "first_name last_name",
      "address_1": "address",
      "address_2": null,
      "street_number": null,
      "street_name": null,
      "city": "city",
      "sub_locality": null,
      "region": null,
      "country": "US",
      "postal_code": "postal_code",
      "phone": null
    },
    "shipping_address": {
      "name": "first_name last_name",
      "first_name": "first_name",
      "last_name": "last_name",
      "full_name": "first_name last_name",
      "address_1": "address",
      "address_2": null,
      "street_number": null,
      "street_name": null,
      "city": "city",
      "sub_locality": null,
      "region": null,
      "country": "US",
      "postal_code": "postal_code",
      "phone": null
    },
    "shipping_method": {
      "name": "Express shipping",
      "cost": "10.00"
    },
    "shipping_instructions": "instructions",
    "discounts": [],
    "taxes": [],
    "subtotal": "19.99",
    "total": "29.99",
    "payment": {
      "transaction_id": "transaction_id",
      "status": "PAID",
      "currency": "USD",
      "method": "Other",
      "card_brand": null,
      "card_last_4": null
    },
    "refunds": [],
    "tracking_url": null,
    "tracking_number": null,
    "created": "2024-01-17T00:05:52.797Z",
    "user_agent": null,
    "ip_address": null,
    "metadata": ""
  },
  "source": null,
  "resource_data": {
    "site_name": "931c0ef0"
  },
  "event_timestamp": 1705449953329,
  "event_type": "ECOMM_ORDER_CREATED"
}
NameTypeDescription
data.sourcestringSource of the order creation. Can be one of CHECKOUT, EXTERNAL, or SUBSCRIPTION_BILLING_ENGINE
data.modestringEnvironment order was placed in. Possible values are TEST or LIVE
data.idstringA unique identifier for the order
data.statusstringStatus of the order. Possible values are IN_PROGRESS, PROCESSED, DISPUTED, SHIPPED, DELIVERED, PENDING, CANCELLED, DISPATCHED
data.emailstringEmail associated with the order
data.invoice_numberstringInvoice number for the order
data.itemsarrayList of items selected as part of the order
data.billing_addressobjectList of all fields from the submitted billing address
data.shipping_addressobjectList of all fields from the submitted shipping address

Order Updated

A notification is sent when an order is updated within the store. Event type: ECOMM_ORDER_UPDATED

{
  "data": {
    "source": "EXTERNAL",
    "mode": "LIVE",
    "id": "e9c7062a-b557-4adc-92b8-867aa90bac97",
    "external_id": "external_id",
    "status": "IN_PROGRESS",
    "email": "email",
    "invoice_number": "invoice_number",
    "items": [
      {
        "id": "70f52515-cdc6-48ec-a31c-7d82448f8c3a",
        "product_id": null,
        "variation_id": null,
        "external_product_id": null,
        "external_variation_id": null,
        "name": "test_product",
        "image": null,
        "sku": null,
        "options": [],
        "quantity": 2,
        "shippable": false,
        "unit_price": "19.99",
        "unit_weight": null,
        "unit_dimensions": null,
        "total": "19.99",
        "combined_weight": 0,
        "metadata": {}
      }
    ],
    "billing_address": {
      "name": "first_name last_name",
      "first_name": "first_name",
      "last_name": "last_name",
      "full_name": "first_name last_name",
      "address_1": "address",
      "address_2": null,
      "street_number": null,
      "street_name": null,
      "city": "city",
      "sub_locality": null,
      "region": null,
      "country": "US",
      "postal_code": "postal_code",
      "phone": null
    },
    "shipping_address": {
      "name": "first_name last_name",
      "first_name": "first_name",
      "last_name": "last_name",
      "full_name": "first_name last_name",
      "address_1": "address",
      "address_2": null,
      "street_number": null,
      "street_name": null,
      "city": "city",
      "sub_locality": null,
      "region": null,
      "country": "US",
      "postal_code": "postal_code",
      "phone": null
    },
    "shipping_method": {
      "name": "Express shipping",
      "cost": "10.00"
    },
    "shipping_instructions": "instructions",
    "discounts": [],
    "taxes": [],
    "subtotal": "19.99",
    "total": "29.99",
    "payment": {
      "transaction_id": "transaction_id",
      "status": "PAID",
      "currency": "USD",
      "method": "Other",
      "card_brand": null,
      "card_last_4": null
    },
    "refunds": [],
    "tracking_url": null,
    "tracking_number": null,
    "created": "2024-01-17T00:05:52.797Z",
    "user_agent": null,
    "ip_address": null,
    "metadata": ""
  },
  "source": null,
  "resource_data": {
    "site_name": "931c0ef0"
  },
  "event_timestamp": 1705449953329,
  "event_type": "ECOMM_ORDER_UPDATED"
}
NameTypeDescription
data.sourcestringSource of the order creation. Can be one of CHECKOUT, EXTERNAL, or SUBSCRIPTION_BILLING_ENGINE
data.modestringEnvironment order was placed in. Possible values are TEST or LIVE
data.idstringA unique identifier for the order
data.statusstringStatus of the order. Possible values are IN_PROGRESS, PROCESSED, DISPUTED, SHIPPED, DELIVERED, PENDING, CANCELLED, DISPATCHED
data.emailstringEmail associated with the order
data.invoice_numberstringInvoice number for the order
data.itemsarrayList of items selected as part of the order
data.billing_addressobjectList of all fields from the submitted billing address
data.shipping_addressobjectList of all fields from the submitted shipping address

Order Paid

Similar to an order updated, but, this event only fires when an order (payment.status) moves into the PAID state. Event: ECOMM_ORDER_PAID

{
  "data": {
    "source": "EXTERNAL",
    "mode": "LIVE",
    "id": "e9c7062a-b557-4adc-92b8-867aa90bac97",
    "external_id": "external_id",
    "status": "IN_PROGRESS",
    "email": "email",
    "invoice_number": "invoice_number",
    "items": [
      {
        "id": "70f52515-cdc6-48ec-a31c-7d82448f8c3a",
        "product_id": null,
        "variation_id": null,
        "external_product_id": null,
        "external_variation_id": null,
        "name": "test_product",
        "image": null,
        "sku": null,
        "options": [],
        "quantity": 2,
        "shippable": false,
        "unit_price": "19.99",
        "unit_weight": null,
        "unit_dimensions": null,
        "total": "19.99",
        "combined_weight": 0,
        "metadata": {}
      }
    ],
    "billing_address": {
      "name": "first_name last_name",
      "first_name": "first_name",
      "last_name": "last_name",
      "full_name": "first_name last_name",
      "address_1": "address",
      "address_2": null,
      "street_number": null,
      "street_name": null,
      "city": "city",
      "sub_locality": null,
      "region": null,
      "country": "US",
      "postal_code": "postal_code",
      "phone": null
    },
    "shipping_address": {
      "name": "first_name last_name",
      "first_name": "first_name",
      "last_name": "last_name",
      "full_name": "first_name last_name",
      "address_1": "address",
      "address_2": null,
      "street_number": null,
      "street_name": null,
      "city": "city",
      "sub_locality": null,
      "region": null,
      "country": "US",
      "postal_code": "postal_code",
      "phone": null
    },
    "shipping_method": {
      "name": "Express shipping",
      "cost": "10.00"
    },
    "shipping_instructions": "instructions",
    "discounts": [],
    "taxes": [],
    "subtotal": "19.99",
    "total": "29.99",
    "payment": {
      "transaction_id": "transaction_id",
      "status": "PAID",
      "currency": "USD",
      "method": "Other",
      "card_brand": null,
      "card_last_4": null
    },
    "refunds": [],
    "tracking_url": null,
    "tracking_number": null,
    "created": "2024-01-17T00:05:52.797Z",
    "user_agent": null,
    "ip_address": null,
    "metadata": ""
  },
  "source": null,
  "resource_data": {
    "site_name": "931c0ef0"
  },
  "event_timestamp": 1705449953329,
  "event_type": "ECOMM_ORDER_UPDATED"
}

Category Created

A notification is sent when a new category is created within the store. Event type: ECOMM_CATEGORY_CREATED

{
  "data": {
    "id": "eAU7vey6",
    "title": "title",
    "description": "description",
    "parent_id": "ROOT",
    "image": null,
    "seo": {
      "url": "url",
      "title": "title",
      "description": "description"
    },
    "subcategories": [],
    "products": [
      {
        "id": "3KlgrqbS",
        "name": "test_product2",
        "order": 0
      }
    ]
  },
  "source": null,
  "resource_data": {
    "site_name": "931c0ef0"
  },
  "event_timestamp": 1705450772006,
  "event_type": "ECOMM_CATEGORY_CREATED"
}
NameTypeDescription
data.idstringA unique identifier for the category
data.titlestringTitle of the category created
data.descriptionstringCategory description
data.parent_idstringUnique identifier of parent category. Only has value if category created is a subcategory.
data.imageobjectThe alt-text and url of image
data.seoobjectOverrideable seo properties of the category
data.subcategoriesarrayList of subcategories assigned to category
data.productsarrayList of products assigned to category

Category Updated

A notification is sent when a category's details are updated. Event type: ECOMM_CATEGORY_UPDATED

{
  "data": {
    "id": "eAU7vey6",
    "title": "title",
    "description": "description",
    "parent_id": "ROOT",
    "image": null,
    "seo": {
      "url": "url",
      "title": "title",
      "description": "description"
    },
    "subcategories": [],
    "products": [
      {
        "id": "3KlgrqbS",
        "name": "test_product2",
        "order": 0
      }
    ]
  },
  "source": null,
  "resource_data": {
    "site_name": "931c0ef0"
  },
  "event_timestamp": 1705450772006,
  "event_type": "ECOMM_CATEGORY_UPDATED"
}
NameTypeDescription
data.idstringA unique identifier for the category
data.titlestringTitle of the category created
data.descriptionstringCategory description
data.parent_idstringUnique identifier of parent category. Only has value if category created is a subcategory.
data.imageobjectThe alt-text and url of image
data.seoobjectOverrideable seo properties of the category
data.subcategoriesarrayList of subcategories assigned to category
data.productsarrayList of products assigned to category

Category Deleted

A notification is sent when a category is deleted. Event type: ECOMM_CATEGORY_DELETED

{
  "data": {
    "id": "eAU7vey6"
  },
  "source": null,
  "resource_data": {
    "site_name": "931c0ef0"
  },
  "event_timestamp": 1705451222602,
  "event_type": "ECOMM_CATEGORY_DELETED"
}
NameTypeDescription
data.idstringA unique identifier for the category
data.titlestringTitle of the category created
data.descriptionstringCategory description
data.parent_idstringUnique identifier of parent category. Only has value if category created is a subcategory.
data.imageobjectThe alt-text and url of image
data.seoobjectOverrideable seo properties of the category
data.subcategoriesarrayList of subcategories assigned to category
data.productsarrayList of products assigned to category

Refund Created

A notification is sent when a refund is created. Event type: ECOMM_REFUND_CREATED

{
  "data": {
    "id": "refund_123",
    "order_id": "order_12345",
    "transaction_id": "pi_12345",
    "reason": "The customer said it was the wrong size for them.",
    "items": [
      {
        "id": "12345"
        "quantity": 1.25
        "amount": "9.00",
        "taxes": [
          {
              "id": "tax_123",
              "name": "Federal tax",
              "rate": 0.15,
              "amount": "1.25",
              "provider": "AVALARA"
          }
        ]
      }
    ],
    "currency": "CAD",
    "tax_provider": {
      "provider": "AVALARA",
      "avalara_reference_id": "1234567"
    },
    "subtotal": "9.00",
    "taxes": [
      {
            "id": "tax_123",
            "name": "Federal tax",
            "rate": 0.15,
            "amount": "1.25",
            "provider": "AVALARA"
        }
    ],
    "total": "10.25",
    "created": "2023-02-17T19:01:36.318Z"
  },
  "source": null,
  "resource_data": {
    "site_name": "931c0ef0"
  },
  "event_timestamp": 1705450772006,
  "event_type": "ECOMM_REFUND_CREATED"
}
NameTypeDescription
data.idstringA unique identifier for the refund
data.order_idstringA unique identifier for the order
data.transaction_idstringA unique identifier for the transaction (Nullable)
data.itemsarrayList of all the line items affected by this refund
data.currencystringISO currency code
data.subtotalstringTotal before taxes
data.taxesarraySum of all item's taxes grouped by rate
data.totalstringTotal of items + taxes
data.createdstringDate created