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