Concepts > Webhooks
OverviewConceptsWebhooks
Webhooks

Webhooks serve as a way for your app to receive notifications from Lana when specific events occur. They eliminate the need for your app to continuously poll the API by providing notifications about changes. When set up, webhooks send either all or selected events to an HTTP endpoint in the form of a JSON payload. The general format of a message is as follows:

interface WebhookData {
  event_id: string;
  event_type: string;
  created_at: string;
  payload: Payload;
}

It's important to remember that you should not blindly trust the origin of a webhook to be Lana. Even though it's unlikely, forgeries can happen. Therefore, it's prudent to perform an authenticated API request using the IDs in the webhook to verify the event's authenticity. By design, Lana does not include any personally identifiable information in webhooks.

When Lana triggers a webhook event, it carries out a POST request to a URL specified in the webhook. This request is attempted thrice in a row with a timeout of 30 seconds and pauses of 1 second and 5 seconds between attempts. This sequence is regarded as a single attempt.

The webhook is considered successful only if the response code falls within the 2xx range. If all three requests fail, Lana will attempt to deliver the webhook at a later time. The following is a rough schedule for further webhook retry attempts (±5 minutes):

  • 30 minutes
  • 60 minutes
  • 90 minutes
  • 2 hours
  • 3 hours
  • 4 hours
  • 8 hours
  • 16 hours
  • 24 hours
  • 36 hours

Event Types and Payloads

Event TypePayload
brand.created
interface Payload {
  shop_id string;
  payload string;
}
brand.deleted
interface Payload {
  shop_id string;
  payload string;
}
brand.modified
interface Payload {
  shop_id string;
  payload string;
}
buy_link.created
interface Payload {
  shop_id string;
  payload string;
}
buy_link.deleted
interface Payload {
  shop_id string;
  payload string;
}
buy_link.modified
interface Payload {
  shop_id string;
  payload string;
}
category.created
interface Payload {
  shop_id string;
  payload string;
}
category.deleted
interface Payload {
  shop_id string;
  payload string;
}
category.modified
interface Payload {
  shop_id string;
  payload string;
}
content_block.created
interface Payload {
  shop_id string;
  payload string;
}
content_block.deleted
interface Payload {
  shop_id string;
  payload string;
}
content_block.modified
interface Payload {
  shop_id string;
  payload string;
}
customer.created
interface Payload {
  shop_id string;
  payload string;
}
customer.deleted
interface Payload {
  shop_id string;
  payload string;
}
customer.modified
interface Payload {
  shop_id string;
  payload string;
}
customer_balance.transaction
interface Payload {
  shop_id string;
  payload string;
}
customer_group.created
interface Payload {
  shop_id string;
  payload string;
}
customer_group.deleted
interface Payload {
  shop_id string;
  payload string;
}
customer_group.modified
interface Payload {
  shop_id string;
  payload string;
}
customer_inventory_note.created
interface Payload {
  shop_id string;
  payload string;
}
customer_inventory_note.deleted
interface Payload {
  shop_id string;
  payload string;
}
customer_inventory_note.modified
interface Payload {
  shop_id string;
  payload string;
}
customer_note.created
interface Payload {
  shop_id string;
  payload string;
}
customer_note.deleted
interface Payload {
  shop_id string;
  payload string;
}
customer_note.modified
interface Payload {
  shop_id string;
  payload string;
}
data_feed.created
interface Payload {
  shop_id string;
  payload string;
}
data_feed.deleted
interface Payload {
  shop_id string;
  payload string;
}
data_feed.modified
interface Payload {
  shop_id string;
  payload string;
}
domain.created
interface Payload {
  shop_id string;
  payload string;
}
domain.deleted
interface Payload {
  shop_id string;
  payload string;
}
file.created
interface Payload {
  shop_id string;
  payload string;
}
file.deleted
interface Payload {
  shop_id string;
  payload string;
}
fulfillment.created
interface Payload {
  shop_id string;
  payload string;
}
fulfillment.modified
interface Payload {
  shop_id string;
  payload string;
}
gateway.created
interface Payload {
  shop_id string;
  payload string;
}
gateway.deleted
interface Payload {
  shop_id string;
  payload string;
}
gateway.modified
interface Payload {
  shop_id string;
  payload string;
}
inventory_location.created
interface Payload {
  shop_id string;
  payload string;
}
inventory_location.modified
interface Payload {
  shop_id string;
  payload string;
}
inventory_location.relocate
interface Payload {
  shop_id string;
  payload string;
}
inventory_rule.created
interface Payload {
  shop_id string;
  payload string;
}
inventory_rule.deleted
interface Payload {
  shop_id string;
  payload string;
}
inventory_rule.modified
interface Payload {
  shop_id string;
  payload string;
}
key.added
interface Payload {
  shop_id string;
  payload string;
}
key.deleted
interface Payload {
  shop_id string;
  payload string;
}
menu.created
interface Payload {
  shop_id string;
  payload string;
}
menu.deleted
interface Payload {
  shop_id string;
  payload string;
}
menu.modified
interface Payload {
  shop_id string;
  payload string;
}
option.created
interface Payload {
  shop_id string;
  payload string;
}
option.deleted
interface Payload {
  shop_id string;
  payload string;
}
option.modified
interface Payload {
  shop_id string;
  payload string;
}
option_set.created
interface Payload {
  shop_id string;
  payload string;
}
option_set.deleted
interface Payload {
  shop_id string;
  payload string;
}
option_set.modified
interface Payload {
  shop_id string;
  payload string;
}
order.abandoned
interface Payload {
  shop_id string;
  payload string;
}
order.canceled
interface Payload {
  shop_id string;
  payload string;
}
order.captured
interface Payload {
  shop_id string;
  payload string;
}
order.deleted
interface Payload {
  shop_id string;
  payload string;
}
order.imported
interface Payload {
  shop_id string;
  payload string;
}
order.modified
interface Payload {
  shop_id string;
  payload string;
}
order.paid
interface Payload {
  shop_id string;
  payload string;
}
order.refunded
interface Payload {
  shop_id string;
  payload string;
}
order.reserved
interface Payload {
  shop_id string;
  payload string;
}
order.restocked
interface Payload {
  shop_id string;
  payload string;
}
order.unabandoned
interface Payload {
  shop_id string;
  payload string;
}
order.unreserved
interface Payload {
  shop_id string;
  payload string;
}
order_note.created
interface Payload {
  shop_id string;
  payload string;
}
order_note.deleted
interface Payload {
  shop_id string;
  payload string;
}
order_note.modified
interface Payload {
  shop_id string;
  payload string;
}
order_risk.created
interface Payload {
  shop_id string;
  payload string;
}
order_risk.deleted
interface Payload {
  shop_id string;
  payload string;
}
packaging.created
interface Payload {
  shop_id string;
  payload string;
}
packaging.deleted
interface Payload {
  shop_id string;
  payload string;
}
packaging.modified
interface Payload {
  shop_id string;
  payload string;
}
payment_method.created
interface Payload {
  shop_id string;
  payload string;
}
payment_method.deleted
interface Payload {
  shop_id string;
  payload string;
}
payment_method.modified
interface Payload {
  shop_id string;
  payload string;
}
product.created
interface Payload {
  shop_id string;
  payload string;
}
product.deleted
interface Payload {
  shop_id string;
  payload string;
}
product.modified
interface Payload {
  shop_id string;
  payload string;
}
product_field_set.created
interface Payload {
  shop_id string;
  payload string;
}
product_field_set.deleted
interface Payload {
  shop_id string;
  payload string;
}
product_field_set.modified
interface Payload {
  shop_id string;
  payload string;
}
promotion.created
interface Payload {
  shop_id string;
  payload string;
}
promotion.deleted
interface Payload {
  shop_id string;
  payload string;
}
promotion.modified
interface Payload {
  shop_id string;
  payload string;
}
purchase_order.created
interface Payload {
  shop_id string;
  payload string;
}
purchase_order.deleted
interface Payload {
  shop_id string;
  payload string;
}
purchase_order.modified
interface Payload {
  shop_id string;
  payload string;
}
purchase_order.received
interface Payload {
  shop_id string;
  payload string;
}
purchase_order.rejected
interface Payload {
  shop_id string;
  payload string;
}
purchase_order_note.created
interface Payload {
  shop_id string;
  payload string;
}
purchase_order_note.deleted
interface Payload {
  shop_id string;
  payload string;
}
purchase_order_note.modified
interface Payload {
  shop_id string;
  payload string;
}
return.approved
interface Payload {
  shop_id string;
  payload string;
}
return.created
interface Payload {
  shop_id string;
  payload string;
}
return.deleted
interface Payload {
  shop_id string;
  payload string;
}
return.modified
interface Payload {
  shop_id string;
  payload string;
}
return.rejected
interface Payload {
  shop_id string;
  payload string;
}
return_note.created
interface Payload {
  shop_id string;
  payload string;
}
return_note.deleted
interface Payload {
  shop_id string;
  payload string;
}
return_note.modified
interface Payload {
  shop_id string;
  payload string;
}
return_policy.created
interface Payload {
  shop_id string;
  payload string;
}
return_policy.deleted
interface Payload {
  shop_id string;
  payload string;
}
return_policy.modified
interface Payload {
  shop_id string;
  payload string;
}
review_dimension.created
interface Payload {
  shop_id string;
  payload string;
}
review_dimension.deleted
interface Payload {
  shop_id string;
  payload string;
}
review_dimension.modified
interface Payload {
  shop_id string;
  payload string;
}
review_dimension_set.created
interface Payload {
  shop_id string;
  payload string;
}
review_dimension_set.deleted
interface Payload {
  shop_id string;
  payload string;
}
review_dimension_set.modified
interface Payload {
  shop_id string;
  payload string;
}
role.created
interface Payload {
  shop_id string;
  payload string;
}
role.deleted
interface Payload {
  shop_id string;
  payload string;
}
role.modified
interface Payload {
  shop_id string;
  payload string;
}
sales_channel.created
interface Payload {
  shop_id string;
  payload string;
}
sales_channel.deleted
interface Payload {
  shop_id string;
  payload string;
}
sales_channel.modified
interface Payload {
  shop_id string;
  payload string;
}
scheduled_fulfillment.created
interface Payload {
  shop_id string;
  payload string;
}
scheduled_fulfillment.deleted
interface Payload {
  shop_id string;
  payload string;
}
scheduled_fulfillment.modified
interface Payload {
  shop_id string;
  payload string;
}
shipping_provider.created
interface Payload {
  shop_id string;
  payload string;
}
shipping_provider.deleted
interface Payload {
  shop_id string;
  payload string;
}
shipping_provider.modified
interface Payload {
  shop_id string;
  payload string;
}
shipping_rule.created
interface Payload {
  shop_id string;
  payload string;
}
shipping_rule.deleted
interface Payload {
  shop_id string;
  payload string;
}
shipping_rule.modified
interface Payload {
  shop_id string;
  payload string;
}
shop.deleted
interface Payload {
  shop_id string;
  payload string;
}
shop.modified
interface Payload {
  shop_id string;
  payload string;
}
shop.plan_updated
interface Payload {
  shop_id string;
  payload string;
}
shop_settings.modified
interface Payload {
  shop_id string;
  payload string;
}
subscription.canceled
interface Payload {
  shop_id string;
  payload string;
}
subscription.created
interface Payload {
  shop_id string;
  payload string;
}
subscription.failed
interface Payload {
  shop_id string;
  payload string;
}
subscription.pending_payment
interface Payload {
  shop_id string;
  payload string;
}
subscription.upcoming_payment
interface Payload {
  shop_id string;
  payload string;
}
supplier.created
interface Payload {
  shop_id string;
  payload string;
}
supplier.deleted
interface Payload {
  shop_id string;
  payload string;
}
supplier.modified
interface Payload {
  shop_id string;
  payload string;
}
survey_question.created
interface Payload {
  shop_id string;
  payload string;
}
survey_question.deleted
interface Payload {
  shop_id string;
  payload string;
}
survey_question.modified
interface Payload {
  shop_id string;
  payload string;
}
tax_rule.created
interface Payload {
  shop_id string;
  payload string;
}
tax_rule.deleted
interface Payload {
  shop_id string;
  payload string;
}
tax_rule.modified
interface Payload {
  shop_id string;
  payload string;
}
transfer.created
interface Payload {
  shop_id string;
  payload string;
}
transfer.deleted
interface Payload {
  shop_id string;
  payload string;
}
transfer.modified
interface Payload {
  shop_id string;
  payload string;
}
transfer.received
interface Payload {
  shop_id string;
  payload string;
}
transfer.rejected
interface Payload {
  shop_id string;
  payload string;
}
transfer_note.created
interface Payload {
  shop_id string;
  payload string;
}
transfer_note.deleted
interface Payload {
  shop_id string;
  payload string;
}
transfer_note.modified
interface Payload {
  shop_id string;
  payload string;
}
variant.created
interface Payload {
  shop_id string;
  payload string;
}
variant.deleted
interface Payload {
  shop_id string;
  payload string;
}
variant.modified
interface Payload {
  shop_id string;
  payload string;
}
PREVIOUS
Typical Bulk Get Endpoint
NEXT
Markdown Test