This webhook is to notify Partners that a checkout was successful.

You can set your webhook URL in Bbot Owner's Panel -> Manage API Access -> Checkout Complete Webhook URL

📘

No Response Needed

Unlike the Checkout Started webhook, this webhook doesn’t check for responses and does not allow the partner to interfere with completing the checkout.

Example Payload

{
  "event_type": "checkout_finished",
  "restaurant_id": "ecde3351-606c-4971-ab5a-792bccb0e5e2",
  "table_id": "b8032110-6bb9-4d7f-b875-75f8da64e356",
  "fulfillment_method": "driver_delivery",
  "checkout_id": "df744d21-0a6b-444d-9f0b-39c9506af848",
  "cart_items_pretax_cents_this_restaurant": 3582,
  "cart_items_this_restaurant": [
    {
      "mods": [
        {
          "mods": [],
          "menuItemId": "b80330d7-9abd-40f9-8c88-b006d4308267",
          "name_for_owner": "Èclairs",
          "sku": "",
          "pretax_cents": 92,
          "tax_cents": 8,
          "menu_item_class": "addon",
          "tags": [],
          "report_category": "other"
        }
      ],
      "menuItemId": "b80328d4-d5ff-4676-a224-22e7014a0d14",
      "name_for_owner": "Ceviche",
      "sku": "",
      "pretax_cents": 1102,
      "tax_cents": 98,
      "menu_item_class": "food",
      "tags": [],
      "report_category": "food",
      "line_item_id": "38654715",
      "qty": 3
    }
  ],
  "cart_items_other_restaurants": [],
  "prompts_to_guest": [
    {
      "prompt_id": "example_bbot_0",
      "prompt_type": "label",
      "text": "This is a label",
      "size": ""
    }
  ]
}
AttributeTypeDescription
event_typestringThe type of event that triggered this webhook call. In this case, always checkout_finished
restaurant_idstringThe ID of the restaurant
table_idstringThe location ID
fulfillment_methodstringThe fulfillment method of the order
checkout_idstringThe ID of this checkout
cart_items_pretax_cents_this_restaurantintThe total pretax amount of the checkout for this restaurant
cart_items_this_restaurantList:CartItemsA JSON of the items in the checkout for this restaurant
cart_items_other_restaurantsList:CartItemsA JSON of the items in this checkout for other restaurants also associated with the Partner (you)
guest_idstringID of the guest, if available
guest_emailstringemail address of the guest, if available
guest_email_is_verifiedbooleanWhether we have verified the email address of the guest to be valid
guest_phonestringPhone number of the guest, if available
guest_phone_is_verifiedbooleanWhether we have verified the phone number of the guest to be valid
guest_first_namestringFirst name of guest, if available
guest_last_namestringLast name of guest, if available
prompts_to_guestList:PromptPrompts to be displayed to the guest during checkout

Prompt Object

AttributeTypeDescription
prompt_typestringThe type of prompt; label, textinput, multiselect_group or applybutton
prompt_idstringThe ID of the prompt. Must be unique amongst all prompts, not just yours.
textstringThe text of the prompt. Is only used for prompt_type label.
sizestringThe size of the prompt. Is only used for prompt_type label.
valuestringThe placeholder of the prompt. Is only used for prompt_type textinput.
headingstringThe heading of the prompt. Is only used for prompt_type textinput.
buttontextstringThe text of the prompt. Is only used for prompt_type applybutton.
min_selectableintThe minimum number of choices that must be selected. Is only used for multiselect_group.
max_selectableintThe maximum number of choices that must be selected. Is only used for multiselect_group.
choicesList:ChoiceThe choices that may be selected. Is only used for multiselect_group. Note: If min_selectable and max_selectable are both 1, the choices appear as a radio group, otherwise they appear as checkboxes

Choice Object

AttributeTypeDescription
selectedbooleanWhether or not a choice is selected.
contentsstringThe label for the choice