Artisio Webapp + Timed Auctions
  • Getting Started
  • Configuration Options
  • My Profile Integration
  • Single Sign On
  • Global Search
  • Template Configuration
  • Auction Details
  • Auction Filters Section
  • Auction List Item
  • Auction Listing page
  • Auction View Page
  • Lot list item template on watchlist
  • Favorite lot listing page
  • Home page
  • Lot list item template on my bids page
  • My bids lot listing page
  • Lot bidding section
  • Lot bidding section for live auctions
  • Lot filtering section
  • Lot list item
  • Lot listing section
  • Lot view page template
  • Update Profile Page
  • Sell an item modal
  • Signup page inputs section
Webhooks
Release Notes
  • Getting Started
  • Configuration Options
  • My Profile Integration
  • Single Sign On
  • Global Search
  • Template Configuration
  • Auction Details
  • Auction Filters Section
  • Auction List Item
  • Auction Listing page
  • Auction View Page
  • Lot list item template on watchlist
  • Favorite lot listing page
  • Home page
  • Lot list item template on my bids page
  • My bids lot listing page
  • Lot bidding section
  • Lot bidding section for live auctions
  • Lot filtering section
  • Lot list item
  • Lot listing section
  • Lot view page template
  • Update Profile Page
  • Sell an item modal
  • Signup page inputs section
Webhooks
Release Notes
  • Webhooks

    • Artisio Webhooks
      • Webhook Configuration
      • Webhook Payload Example
      • Reusable(Core) Model Definitions
        • TranslatableModel
        • ImageModel
        • ImageDetailModel
        • DynamicFieldsTemplateModel
        • DynamicTranslatableModel
        • AddressModel
      • Webhook Payload Models
        • Customer Model
        • Auction Model
        • Lot Model
        • Department Model
        • Category Model
        • Invoice Model
        • Settlement Model

Artisio Webhooks

Artisio has built-in support of webhooks for the following Objects:

  • Department
  • Category
  • Auction
  • Lot
  • Customer
  • Invoice
  • Settlement

Webhook Configuration

Webhooks can be configured upon your request. You provide your endpoint(s) and tell us for which objects you want webhooks to be configured. We'll let you know once it is done.

Webhooks are triggered and executed synchronously. If 10 Lots are created with bulk action, webhooks will be executed one after another and every next request will be made only after the previous one is completed or failed.

Keep in mind

If request is not successful, system will try it 3 times in total until it will move to next request.

Webhook Payload Example

{
  "action": "",
  "object": "",
  "data": {}
}
  • action will be one of the following events: CREATE, UPDATE, DELETE
  • object will be one of the supported models: Department, Category, Auction, Lot, Customer, Invoice, Settlement
  • data contains the information about the object.
  • Every request is sent with POST request method
  • Every request has Content-Type application/json header

Webhook Authentication

Authentication is required with Auth bearer token, which should be provided before enabling webhooks

Reusable(Core) Model Definitions

Objects that will be pushed using webhook (such as: Customer, Auction, etc...) might contain nested objects inside, here are several common core models, that might be part of the multiple objects.

TranslatableModel

TranslatableModel is an object, where the key is the language code and the value is corresponding text on that language. TranslatableModel might contain texts for 1 or more languages. Used in Auction, Lot, Department or Category.

TranslatableModel {
  "en": "English Text",
  "es": "Spanish Text",
  ...
}

ImageModel

Used in Auction and Lot models.

ImageModel {
  "uuid": "UUID (Primary Key)",
  "name": "Varchar(255) (Image name)",
  "position": "Integer (Sorting position of an image)",
  "data": {
    "lg": "<ImageDetailModel> (Large resolution)",
    "sm": "<ImageDetailModel> (Small resolution)",
    "thumb": "<ImageDetailModel> (Thumbnail)",
  }
}

ImageDetailModel

Used in ImageModel model.

ImageDetailModel {
  "url": "Text (Full url of image)",
  "width": "Integer",
  "height": "Integer"
}

DynamicFieldsTemplateModel

Used in Category model.

DynamicFieldsTemplateModel {
  "fieldName1": {
    "label": "fieldName1 Label",
    "rules": {
      "required": false
    }
  },
  "fieldName2": {
    "label": "fieldName2 Label",
    "rules": {
      "required": true
    }
  },
  ...
}

DynamicTranslatableModel

Used in Lot model.

DynamicTranslatableModel {
  "en": {
    "fieldName1": "Text",
    "fieldName2": "Text",
    ...
  },
  ...
}

AddressModel

Used in Customer model.

AddressModel {
  "uuid": "UUID (Primary Key)",
  "customer_uuid": "UUID (Primary Key) Primary key of customer",
  "type": "<'shipping','billing'>",
  "is_primary": "Boolean",
  "country_code": "Varchar(2) (ISO 3166 country code Ex.: 'GB')",
  "address_1": "Text",
  "address_2": "Text",
  "city": "Text",
  "state": "Text",
  "tax_rate": "Integer",
  "zip_code": "Varchar(55)",
  "created_at": "DateTime",
  "updated_at": "DateTime",
  "phone": "Varchar(55)",
  "email": "Varchar(55)"
}

Webhook Payload Models

Here are definition of models that will be passed to webhook events.

Customer Model

{
  "action": "<'CREATE','UPDATE','DELETE'>",
  "object": "CUSTOMER",
  "data": {
    "uuid": "UUID (Primary Key)",
    "first_name": "Varchar(155)",
    "middle_name": "Varchar(155)",
    "last_name": "Varchar(155)",
    "company_name": "Varchar(155)",
    "personal_id": "Varchar(45)",
    "is_company": "Boolean",
    "email": "Varchar(155)",
    "phone": "Varchar(55)",
    "status": "<'active','pending','blocked'>",
    "title": "Varchar(55)",
    "acquisition_source": "Varchar(255)",
    "optin": "Boolean",
    "tags": "Text (Comma seperated strings)",
    "customer_no": "Varchar(15)",
    "display_name": "Varchar(255) Read Only ",
    "enable_estimate_request": "Boolean",
    "created_at": "DateTime",
    "updated_at": "DateTime",
    "mobile": "Varchar(55)",
    "skip_auction_deposit_requirement": true,
    "birth_date": "Date",
    "addresses": "List<AddressModel>",
    "timezone": "VarChar(55)"
  }
}

Auction Model

{
  "action": "<'CREATE','UPDATE','DELETE'>",
  "object": "AUCTION",
  "data": {
    "uuid": "UUID (Primary Key)",
    "title": "<TranslatableModel>",
    "description": "<TranslatableModel>",
    "sale_no": "Varchar(55), (Unique Sale Number)",
    "currency_code": "Varchar(3) (ISO 4217 currency code Ex.: 'USD')",
    "department_uuid": "UUID (Primary Key of Department)",
    "branch_uuid": "UUID (Primary Key of Branch)",
    "type": "Enum<'timed', 'live'>",
    "start_date": "DateTime",
    "end_date": "DateTime",
    "viewing_start_date": "DateTime",
    "viewing_end_date": "DateTime",
    "status": "Enum<'draft', 'published', 'listed', 'completed'>",
    "images": "List<ImageModel>",
    "increments": "List<IncrementModel>",
    "premium_terms": "List<PremiumTierModel>",
    "delay_batch": "Integer",
    "delay_interval": "Integer",
    "bidding_extension": "Integer",
    "bidder_approval": "Boolean",
    "max_total_delay": "Integer",
    "is_private_treaty": "Integer"
  }
}

Lot Model

{
  "action": "<'CREATE','UPDATE','DELETE'>",
  "object": "LOT",
  "data": {
    "uuid": "UUID (Primary Key)",
    "auction_uuid": "UUID (Primary Key of Auction))",
    "category_uuid": "UUID (Primary Key of Category)",
    "department_uuid": "UUID (Primary Key of Department)",
    "inventory_uuid": "UUID (Primary Key of Inventory)",
    "branch_uuid": "UUID (Primary Key of Branch)",
    "status": "Enum<'lotted','sold','withdrawn','unsold'>",
    "lot_no": "Varchar(10) (Lot number)",
    "quantity": "Integer",
    "low": "Float (Low estimate)",
    "high": "Float (High estimate)",
    "reserve": "Float (Reserve price)",
    "buy_now_price": "Float (Buy Now price)",
    "start_price": "Float (Start price)",
    "images": "List<ImageModel>",
    "dynamic_fields": "<DynamicTranslatableModel>",
    "is_draft": "Boolean"
  }
}

Department Model

{
  "action": "<'CREATE','UPDATE','DELETE'>",
  "object": "DEPARTMENT",
  "data": {
    "uuid": "Primary Key (Read-Only)",
    "name": "<TranslatableModel>"
  }
}

Category Model

{
  "action": "<'CREATE','UPDATE','DELETE'>",
  "object": "CATEGORY",
  "data": {
    "uuid": "Primary Key (Read-Only)",
    "department_uuid": "UUID (Primary Key of Department)",
    "name": "<TranslatableModel>",
    "dynamic_fields_template": "<DynamicFieldsTemplateModel>"
  }
}

For two different categories dynamic_fields_template might be different, but the format of each dynamic field will be the same. See DynamicFieldsTemplateModel.

Invoice Model

{
  "action": "<'CREATE','UPDATE','DELETE'>",
  "object": "INVOICE",
  "data": {
    "uuid": "UUID (Primary Key)",
    "invoice_no": "String",
    "status": "String",
    "type": "String",
    "sale_no": "String",
    "is_credit_note": "Boolean",
    "is_credited": "Boolean",
    "comment": "String",
    "total_amount": "Float",
    "paid_amount": "Float",
    "outstanding_amount": "Float",
    "deposit_sale_no": "String",
    "auction_uuid": "UUID",
    "customer_uuid": "UUID",
    "hammer_price": "Float",
    "shipping_vat": "Float",
    "deposit_amount": "Float",
    "hammer_vat": "Float",
    "premium": "Float",
    "premium_vat": "Float",
    "miscellaneous_charge": "Float",
    "miscellaneous_vat": "Float",
    "shipping_amount": "Float",
    "extra_charge": "Float",
    "extra_charge_vat": "Float",
    "extra_charge_data": "JSON",
    "miscellaneous_data": "JSON"
  }
}

Settlement Model

{
  "action": "<'CREATE','UPDATE','DELETE'>",
  "object": "SETTLEMENT",
  "data": {
    "uuid": "UUID (Primary Key)",
    "settlement_no": "String",
    "status": "String",
    "type": "String",
    "sale_no": "String",
    "auction_uuid": "UUID",
    "customer_uuid": "UUID",
    "hammer_price": "Float",
    "shipping_amount": "Float",
    "shipping_vat": "Float",
    "shipping_tracking_code": "String",
    "shipping_taxable": "String",
    "date": "Date",
    "payable_amount": "Float",
    "hammer_vat": "Float",
    "hammer_adjustment": "Float",
    "hammer_adjustment_vat": "Float",
    "commission": "Float",
    "commission_vat": "Float",
    "miscellaneous": "Float",
    "miscellaneous_vat": "Float",
    "miscellaneous_data": "JSON",
    "lot_handling_charge": "Float",
    "lot_handling_vat": "Float",
    "insurance_fee": "Float",
    "insurance_vat": "Float"
  }
}
Last Updated:
Contributors: Zura Sekhniashvili