Event List
GoBiz supports various events to which the partner can subscribe to and receive notifications. When the subscribed events are triggered, the partner can receive specific notifications. You can find more information about how to subscribe to specific events in the Notification Subscriptions APIs.
The events are accessible to the partner as per the scopes defined in their API endpoints.
The events supported by GoBiz are described in the table given below.
Name | Description |
---|
gofood.order.awaiting_merchant_acceptance | This event is triggered when the system is waiting for the merchant to accept the order. Refer GoFood Awaiting Merchant Acceptance. |
gofood.order.merchant_accepted | This event is triggered when the merchant accepted new GoFood order. Refer GoFood Merchant Accepted. |
gofood.order.driver_otw_pickup | This event is triggered when the driver is on the way to the restaurant. Refer GoFood Driver OTW Pickup. |
gofood.order.driver_arrived | This event is triggered when the driver arrives at the restaurant. Refer GoFood Driver Arrived. |
gofood.order.placed | This event is triggered when the driver received the food and transaction status is settled. Refer GoFood Order Placed. |
gofood.order.completed | This event is triggered when the order is completed. Refer GoFood Order Completed. |
gofood.order.cancelled | This event is triggered when the order is cancelled. Refer GoFood Order Cancelled. |
gofood.order.webhook_error | This event is triggered when our system found unmet requirements during gofood.order.* webhook processing. Refer GoFood Order Webhook Error |
gofood.catalog.menu_mapping_updated | This event is triggered when the menu mapping is done being processed by GoBiz. Refer GoFood Menu Mapping Updated. |
payment.transaction.settlement | This event is triggered when the payment transaction is completed. Refer Payment Transaction Settlement. |
GoFood Awaiting Merchant Acceptance Event
Code Sample
{
"header": {
"event_name": "gofood.order.awaiting_merchant_acceptance",
"event_id": "c1be7fa1-645e-3d57-9ca3-f2cb54212345",
"version": 1,
"timestamp": "2019-08-24T14:15:22Z"
},
"body": {
"customer": {
"id": "536D5047BBBC0D5C7A51437C28CABCDE",
"name": "GoFood Customer"
},
"driver": {
"name": "GoFood Driver"
},
"service_type": "gofood",
"outlet": {
"id": "G123456789",
"external_outlet_id": "outlet01"
},
"order": {
"status": "AWAITING_MERCHANT_ACCEPTANCE",
"pin": "1234",
"order_number": "F-123456789",
"order_total": 4.0e4,
"order_items": [
{
"quantity": 1,
"price": 1.5e4,
"notes": "pedas",
"name": "Hamburger",
"id": "e44495da-ebc2-493a-913a-b10d3a123456",
"external_id": "1773640",
"variants": [
{
"id": "e44495da-ebc2-493a-913a-b10d3a654321",
"name": "Hamburger keju",
"external_id": "11223344"
}
]
}
],
"applied_promotions": [
{
"scope": "sku",
"detail": {
"item": {
"id": "e91a3493-71c2-4ceb-9d87-4ab7794aab72",
"external_id": "F789315F-3ECA-4D31-983C-62ADD8E8325F"
},
"id": "b688aba2-ba96-4ed1-a241-56cedc7f022d"
}
}
],
"cutlery_requested": true,
"currency": "IDR",
"takeaway_charges": 0,
"created_at": "2019-08-24T14:15:22Z",
"cancellation_detail": {
"reason": ""
}
}
}
}
This event triggered when an order starts to await the merchant to accept. Due to the nature of the internet network, there is no guarantee that the event will only be sent exactly once (e.g retry due to intermitten network). Thus, there might be a event duplication, and receiving end needs to be able to handle the duplication.
JSON Attribute | Description | Type | Required |
---|
header | Details of the header object. | Object | Required |
body | Details of the body object. | Object | Required |
Code Sample
{
"event_name": "gofood.order.awaiting_merchant_acceptance",
"event_id": "c1be7fa1-645e-3d57-9ca3-f2cb54212345",
"version": 1,
"timestamp": "2019-08-24T14:15:22Z"
}
JSON Attribute | Description | Type | Required |
---|
event_name | Name of the event. Value: gofood.order.awaiting_merchant_acceptance | String | Required |
event_id | ID of the event. | String | Required |
version | Data structure version of the body parameter. | Integer | Required |
timestamp | The date and time at which the event occurred. It is in the ISO 8601 format (YYYY-MM-DDTHH:MM:SSZ or YYYY-MM-DDTHH:MM:SS±hh:mm). | String | Required |
Awaiting Merchant Acceptance Event - Body Parameters
Code Sample
{
"customer": {
"id": "536D5047BBBC0D5C7A51437C28CABCDE",
"name": "GoFood Customer"
},
"driver": {
"name": "GoFood Driver"
},
"service_type": "gofood",
"outlet": {
"id": "G123456789",
"external_outlet_id": "outlet01"
},
"order": {
"status": "AWAITING_MERCHANT_ACCEPTANCE",
"pin": "1234",
"order_number": "F-123456789",
"order_total": 4.0e4,
"order_items": [
{
"quantity": 1,
"price": 1.5e4,
"notes": "pedas",
"name": "Hamburger",
"id": "e44495da-ebc2-493a-913a-b10d3a123456",
"external_id": "1773640",
"variants": [
{
"id": "e44495da-ebc2-493a-913a-b10d3a654321",
"name": "Hamburger keju",
"external_id": "11223344"
}
]
}
],
"cutlery_requested": true,
"currency": "IDR",
"takeaway_charges": 0,
"created_at": "2019-08-24T14:15:22Z",
"cancellation_detail": {
"reason": ""
}
}
}
JSON Attribute | Description | Type | Required |
---|
customer | Information about the customer. | Object | Required |
» id | ID of the customer. | String | Required |
» name | Customer name. | String | Required |
driver | Information about the driver. | Object | Required |
» name | Name of the driver. | String | Required |
service_type | Type of GoFood order. Possible Values: gofood , gofood_pickup | String | Required |
outlet | Details of the outlet. | Object | Required |
» id | ID of the outlet on GoBiz side. | String | Required |
» external_outlet_id | ID of the outlet on partner side. | String | Required |
order | Details of the order. | Object | Required |
» status | Status of the order. Value: AWAITING_MERCHANT_ACCEPTANCE | String | Required |
» pin | Personal Identification Number for the verification of driver. | String | Required |
» order_number | Order number of the order. | String | Required |
» order_total | Total amount of the order. | Float | Required |
» order_items | Details about the ordered items. | Array(Object) | Required |
» applied_promotions | Information about applied promos. | Array(Object) | Required |
» cutlery_requested | Boolean value to indicate whether the customer requests cutlery. | Boolean | Optional |
» currency | Three-letter alphabetic currency code as per ISO-4217 format. Value: IDR | String | Required |
» takeaway_charges | Take-away charges of the order. | Float | Required |
» created_at | The date and time at which order is created. It is in the ISO 8601 format (YYYY-MM-DDTHH:MM:SSZ or YYYY-MM-DDTHH:MM:SS±hh:mm). | String | Required |
» cancellation_detail | Details about the order cancellation. | Object | Optional |
»» reason | Cancellation reason in Bahasa Indonesia | String | Optional |
GoFood Merchant Accepted Event
Code Sample
{
"header": {
"event_name": "gofood.order.merchant_accepted",
"event_id": "c1be7fa1-645e-3d57-9ca3-f2cb54212345",
"version": 1,
"timestamp": "2019-08-24T14:15:22Z"
},
"body": {
"customer": {
"id": "536D5047BBBC0D5C7A51437C28CABCDE",
"name": "GoFood Customer"
},
"driver": {
"name": "GoFood Driver"
},
"service_type": "gofood",
"outlet": {
"id": "G123456789",
"external_outlet_id": "outlet01"
},
"order": {
"status": "MERCHANT_ACCEPTED",
"pin": "1234",
"order_number": "F-123456789",
"order_total": 4.0e4,
"order_items": [
{
"quantity": 1,
"price": 1.5e4,
"notes": "pedas",
"name": "Hamburger",
"id": "e44495da-ebc2-493a-913a-b10d3a123456",
"external_id": "1773640",
"variants": [
{
"id": "e44495da-ebc2-493a-913a-b10d3a654321",
"name": "Hamburger keju",
"external_id": "11223344"
}
]
}
],
"applied_promotions": [
{
"scope": "sku",
"detail": {
"item": {
"id": "e91a3493-71c2-4ceb-9d87-4ab7794aab72",
"external_id": "F789315F-3ECA-4D31-983C-62ADD8E8325F"
},
"id": "b688aba2-ba96-4ed1-a241-56cedc7f022d"
}
}
],
"currency": "IDR",
"takeaway_charges": 0,
"created_at": "2019-08-24T14:15:22Z",
"cancellation_detail": {
"reason": ""
}
}
}
}
This event triggered when the merchant accepted an order. Due to the nature of the internet network, there is no guarantee that the event will only be sent exactly once (e.g retry due to intermitten network). Thus, there might be a event duplication, and receiving end needs to be able to handle the duplication.
JSON Attribute | Description | Type | Required |
---|
header | Details of the header object. | Object | Required |
body | Details of the body object. | Object | Required |
Code Sample
{
"event_name": "gofood.order.merchant_accepted",
"event_id": "c1be7fa1-645e-3d57-9ca3-f2cb54212345",
"version": 1,
"timestamp": "2019-08-24T14:15:22Z"
}
JSON Attribute | Description | Type | Required |
---|
event_name | Name of the event. Value: gofood.order.merchant_accepted | String | Required |
event_id | ID of the event. | String | Required |
version | Data structure version of the body parameter. | Integer | Required |
timestamp | The date and time at which the event occurred. It is in the ISO 8601 format (YYYY-MM-DDTHH:MM:SSZ or YYYY-MM-DDTHH:MM:SS±hh:mm). | String | Required |
Merchant Accepted Event - Body Parameters
Code Sample
{
"customer": {
"id": "536D5047BBBC0D5C7A51437C28CABCDE",
"name": "GoFood Customer"
},
"driver": {
"name": "GoFood Driver"
},
"service_type": "gofood",
"outlet": {
"id": "G123456789",
"external_outlet_id": "outlet01"
},
"order": {
"status": "MERCHANT_ACCEPTED",
"pin": "1234",
"order_number": "F-123456789",
"order_total": 4.0e4,
"order_items": [
{
"quantity": 1,
"price": 1.5e4,
"notes": "pedas",
"name": "Hamburger",
"id": "e44495da-ebc2-493a-913a-b10d3a123456",
"external_id": "1773640",
"variants": [
{
"id": "e44495da-ebc2-493a-913a-b10d3a654321",
"name": "Hamburger keju",
"external_id": "11223344"
}
]
}
],
"cutlery_requested": true,
"currency": "IDR",
"takeaway_charges": 0,
"created_at": "2019-08-24T14:15:22Z",
"cancellation_detail": {
"reason": ""
}
}
}
JSON Attribute | Description | Type | Required |
---|
customer | Information about the customer. | Object | Required |
» id | ID of the customer. | String | Required |
» name | Customer name. | String | Required |
driver | Information about the driver. | Object | Required |
» name | Name of the driver. | String | Required |
service_type | Type of GoFood order. Possible Values: gofood , gofood_pickup | String | Required |
outlet | Details of the outlet. | Object | Required |
» id | ID of the outlet on GoBiz side. | String | Required |
» external_outlet_id | ID of the outlet on partner side. | String | Required |
order | Details of the order. | Object | Required |
» status | Status of the order. Value: MERCHANT_ACCEPTED | String | Required |
» pin | Personal Identification Number for the verification of driver. | String | Required |
» order_number | Order number of the order. | String | Required |
» order_total | Total amount of the order. | Float | Required |
» order_items | Details about the ordered items. | Array(Object) | Required |
» applied_promotions | Information about applied promos. | Array(Object) | Required |
» cutlery_requested | Boolean value to indicate whether the customer requests cutlery. | Boolean | Optional |
» currency | Three-letter alphabetic currency code as per ISO-4217 format. Value: IDR | String | Required |
» takeaway_charges | Take-away charges of the order. | Float | Required |
» created_at | The date and time at which order is created. It is in the ISO 8601 format (YYYY-MM-DDTHH:MM:SSZ or YYYY-MM-DDTHH:MM:SS±hh:mm). | String | Required |
» cancellation_detail | Details about the order cancellation. | Object | Optional |
»» reason | Cancellation reason in Bahasa Indonesia | String | Optional |
GoFood Driver Pickup Event
Code Sample
{
"header": {
"event_name": "gofood.order.driver_otw_pickup",
"event_id": "c1be7fa1-645e-3d57-9ca3-f2cb54212345",
"version": 1,
"timestamp": "2019-08-24T14:15:22Z"
},
"body": {
"customer": {
"id": "536D5047BBBC0D5C7A51437C28CABCDE",
"name": "GoFood Customer"
},
"driver": {
"name": "GoFood Driver"
},
"service_type": "gofood",
"outlet": {
"id": "G123456789",
"external_outlet_id": "outlet01"
},
"order": {
"status": "DRIVER_OTW_PICKUP",
"pin": "1234",
"order_number": "F-123456789",
"order_total": 4.0e4,
"order_items": [
{
"quantity": 1,
"price": 1.5e4,
"notes": "pedas",
"name": "Hamburger",
"id": "e44495da-ebc2-493a-913a-b10d3a123456",
"external_id": "1773640",
"variants": [
{
"id": "e44495da-ebc2-493a-913a-b10d3a654321",
"name": "Hamburger keju",
"external_id": "11223344"
}
]
}
],
"applied_promotions": [
{
"scope": "sku",
"detail": {
"item": {
"id": "e91a3493-71c2-4ceb-9d87-4ab7794aab72",
"external_id": "F789315F-3ECA-4D31-983C-62ADD8E8325F"
},
"id": "b688aba2-ba96-4ed1-a241-56cedc7f022d"
}
}
],
"cutlery_requested": true,
"currency": "IDR",
"takeaway_charges": 0,
"created_at": "2019-08-24T14:15:22Z",
"cancellation_detail": {
"reason": ""
}
}
}
}
This event triggered when driver is on the way to the restaurant. Due to the nature of the internet network, there is no guarantee that the event will only be sent exactly once (e.g retry due to intermitten network). Thus, there might be a event duplication, and receiving end needs to be able to handle the duplication.
JSON Attribute | Description | Type | Required |
---|
header | Details of the header object. | Object | Required |
body | Details of the body object. | Object | Required |
Code Sample
{
"event_name": "gofood.order.driver_otw_pickup",
"event_id": "c1be7fa1-645e-3d57-9ca3-f2cb54212345",
"version": 1,
"timestamp": "2019-08-24T14:15:22Z"
}
JSON Attribute | Description | Type | Required |
---|
event_name | Name of the event. Value: gofood.order.driver_otw_pickup | String | Required |
event_id | ID of the event. | String | Required |
version | Data structure version of the body parameter. | Integer | Required |
timestamp | The date and time at which the event occurred. It is in the ISO 8601 format (YYYY-MM-DDTHH:MM:SSZ or YYYY-MM-DDTHH:MM:SS±hh:mm). | String | Required |
Driver Pickup Event - Body Parameters
Code Sample
{
"customer": {
"id": "536D5047BBBC0D5C7A51437C28CABCDE",
"name": "GoFood Customer"
},
"driver": {
"name": "GoFood Driver"
},
"service_type": "gofood",
"outlet": {
"id": "G123456789",
"external_outlet_id": "outlet01"
},
"order": {
"status": "DRIVER_OTW_PICKUP",
"pin": "1234",
"order_number": "F-123456789",
"order_total": 4.0e4,
"order_items": [
{
"quantity": 1,
"price": 1.5e4,
"notes": "pedas",
"name": "Hamburger",
"id": "e44495da-ebc2-493a-913a-b10d3a123456",
"external_id": "1773640",
"variants": [
{
"id": "e44495da-ebc2-493a-913a-b10d3a654321",
"name": "Hamburger keju",
"external_id": "11223344"
}
]
}
],
"cutlery_requested": true,
"currency": "IDR",
"takeaway_charges": 0,
"created_at": "2019-08-24T14:15:22Z",
"cancellation_detail": {
"reason": ""
}
}
}
JSON Attribute | Description | Type | Required |
---|
customer | Information about the customer. | Object | Required |
» id | ID of the customer. | String | Required |
» name | Customer name. | String | Required |
driver | Information about the driver. | Object | Required |
» name | Name of the driver. | String | Required |
service_type | Type of GoFood order. Possible Values: gofood , gofood_pickup | String | Required |
outlet | Details of the outlet. | Object | Required |
» id | ID of the outlet on GoBiz side. | String | Required |
» external_outlet_id | ID of the outlet on partner side. | String | Required |
order | Details of the order. | Object | Required |
» status | Status of the order. Value: DRIVER_OTW_PICKUP | String | Required |
» pin | Personal Identification Number for the verification of driver. | String | Required |
» order_number | Order number of the order. | String | Required |
» order_total | Total amount of the order. | Float | Required |
» order_items | Details about the ordered items. | Array(Object) | Required |
» applied_promotions | Information about applied promos. | Array(Object) | Required |
» cutlery_requested | Boolean value to indicate whether the customer requests cutlery. | Boolean | Optional |
» currency | Three-letter alphabetic currency code as per ISO-4217 format. Value: IDR | String | Required |
» takeaway_charges | Take-away charges of the order. | Float | Required |
» created_at | The date and time at which order is created. It is in the ISO 8601 format (YYYY-MM-DDTHH:MM:SSZ or YYYY-MM-DDTHH:MM:SS±hh:mm). | String | Required |
» cancellation_detail | Details about the order cancellation. | Object | Optional |
»» reason | Cancellation reason in Bahasa Indonesia | String | Optional |
GoFood Driver Arrived Event
Code Sample
{
"header": {
"event_name": "gofood.order.driver_arrived",
"event_id": "c1be7fa1-645e-3d57-9ca3-f2cb54212345",
"version": 1,
"timestamp": "2019-08-24T14:15:22Z"
},
"body": {
"customer": {
"id": "536D5047BBBC0D5C7A51437C28CABCDE",
"name": "GoFood Customer"
},
"driver": {
"name": "GoFood Driver"
},
"service_type": "gofood",
"outlet": {
"id": "G123456789",
"external_outlet_id": "outlet01"
},
"order": {
"status": "DRIVER_ARRIVED",
"pin": "1234",
"order_number": "F-123456789",
"order_total": 4.0e4,
"order_items": [
{
"quantity": 1,
"price": 1.5e4,
"notes": "pedas",
"name": "Hamburger",
"id": "e44495da-ebc2-493a-913a-b10d3a123456",
"external_id": "1773640",
"variants": [
{
"id": "e44495da-ebc2-493a-913a-b10d3a654321",
"name": "Hamburger keju",
"external_id": "11223344"
}
]
}
],
"applied_promotions": [
{
"scope": "sku",
"detail": {
"item": {
"id": "e91a3493-71c2-4ceb-9d87-4ab7794aab72",
"external_id": "F789315F-3ECA-4D31-983C-62ADD8E8325F"
},
"id": "b688aba2-ba96-4ed1-a241-56cedc7f022d"
}
}
],
"cutlery_requested": true,
"currency": "IDR",
"takeaway_charges": 0,
"created_at": "2019-08-24T14:15:22Z",
"cancellation_detail": {
"reason": ""
}
}
}
}
This event triggered when driver arrived at the restaurant. Due to the nature of the internet network, there is no guarantee that the event will only be sent exactly once (e.g retry due to intermitten network). Thus, there might be a event duplication, and receiving end needs to be able to handle the duplication.
JSON Attribute | Description | Type | Required |
---|
header | Details of the header object. | Object | Required |
body | Details of the body object. | Object | Required |
Code Sample
{
"event_name": "gofood.order.driver_arrived",
"event_id": "c1be7fa1-645e-3d57-9ca3-f2cb54212345",
"version": 1,
"timestamp": "2019-08-24T14:15:22Z"
}
JSON Attribute | Description | Type | Required |
---|
event_name | Name of the event. Value: gofood.order.driver_arrived | String | Required |
event_id | ID of the event. | String | Required |
version | Data structure version of the body parameter. | Integer | Required |
timestamp | The date and time at which the event occurred. It is in the ISO 8601 format (YYYY-MM-DDTHH:MM:SSZ or YYYY-MM-DDTHH:MM:SS±hh:mm). | String | Required |
Driver Arrived Event- Body Parameters
Code Sample
{
"customer": {
"id": "536D5047BBBC0D5C7A51437C28CABCDE",
"name": "GoFood Customer"
},
"driver": {
"name": "GoFood Driver"
},
"service_type": "gofood",
"outlet": {
"id": "G123456789",
"external_outlet_id": "outlet01"
},
"order": {
"status": "DRIVER_ARRIVED",
"pin": "1234",
"order_number": "F-123456789",
"order_total": 4.0e4,
"order_items": [
{
"quantity": 1,
"price": 1.5e4,
"notes": "pedas",
"name": "Hamburger",
"id": "e44495da-ebc2-493a-913a-b10d3a123456",
"external_id": "1773640",
"variants": [
{
"id": "e44495da-ebc2-493a-913a-b10d3a654321",
"name": "Hamburger keju",
"external_id": "11223344"
}
]
}
],
"cutlery_requested": true,
"currency": "IDR",
"takeaway_charges": 0,
"created_at": "2019-08-24T14:15:22Z",
"cancellation_detail": {
"reason": ""
}
}
}
JSON Attribute | Description | Type | Required |
---|
customer | Information about the customer. | Object | Required |
» id | ID of the customer. | String | Required |
» name | Customer name. | String | Required |
driver | Information about the driver. | Object | Required |
» name | Name of the driver. | String | Required |
service_type | Type of GoFood order. Possible Values: gofood , gofood_pickup | String | Required |
outlet | Details of the outlet. | Object | Required |
» id | ID of the outlet on GoBiz side. | String | Required |
» external_outlet_id | ID of the outlet on partner side. | String | Required |
order | Details of the order. | Object | Required |
» status | Status of the order. Value: DRIVER_ARRIVED | String | Required |
» pin | Personal Identification Number for the verification of driver. | String | Required |
» order_number | Order number of the order. | String | Required |
» order_total | Total amount of the order. | Float | Required |
» order_items | Details about the ordered items. | Array(Object) | Required |
» applied_promotions | Information about applied promos. | Array(Object) | Required |
» cutlery_requested | Boolean value to indicate whether the customer requests cutlery. | Boolean | Optional |
» currency | Three-letter alphabetic currency code as per ISO-4217 format. Value: IDR | String | Required |
» takeaway_charges | Take-away charges of the order. | Float | Required |
» created_at | The date and time at which order is created. It is in the ISO 8601 format (YYYY-MM-DDTHH:MM:SSZ or YYYY-MM-DDTHH:MM:SS±hh:mm). | String | Required |
» cancellation_detail | Details about the order cancellation. | Object | Optional |
»» reason | Cancellation reason in Bahasa Indonesia | String | Optional |
GoFood Order Placed Event
Code Sample
{
"header": {
"event_name": "gofood.order.placed",
"event_id": "c1be7fa1-645e-3d57-9ca3-f2cb54212345",
"version": 1,
"timestamp": "2019-08-24T14:15:22Z"
},
"body": {
"customer": {
"id": "536D5047BBBC0D5C7A51437C28CABCDE",
"name": "GoFood Customer"
},
"driver": {
"name": "GoFood Driver"
},
"service_type": "gofood",
"outlet": {
"id": "G123456789",
"external_outlet_id": "outlet01"
},
"order": {
"status": "ORDER_PLACED",
"pin": "1234",
"order_number": "F-123456789",
"order_total": 4.0e4,
"order_items": [
{
"quantity": 1,
"price": 1.5e4,
"notes": "pedas",
"name": "Hamburger",
"id": "e44495da-ebc2-493a-913a-b10d3a123456",
"external_id": "1773640",
"variants": [
{
"id": "e44495da-ebc2-493a-913a-b10d3a654321",
"name": "Hamburger keju",
"external_id": "11223344"
}
]
}
],
"applied_promotions": [
{
"scope": "sku",
"detail": {
"item": {
"id": "e91a3493-71c2-4ceb-9d87-4ab7794aab72",
"external_id": "F789315F-3ECA-4D31-983C-62ADD8E8325F"
},
"id": "b688aba2-ba96-4ed1-a241-56cedc7f022d"
}
}
],
"cutlery_requested": true,
"currency": "IDR",
"takeaway_charges": 0,
"created_at": "2019-08-24T14:15:22Z",
"cancellation_detail": {
"reason": ""
}
}
}
}
This event is triggered when the driver receives the food and the transaction status is settled. Due to the nature of the internet network, there is no guarantee that the event will only be sent exactly once (e.g retry due to intermitten network). Thus, there might be a event duplication, and receiving end needs to be able to handle the duplication.
JSON Attribute | Description | Type | Required |
---|
header | Details of the header object. | Object | Required |
body | Details of the body object. | Object | Required |
Code Sample
{
"event_name": "gofood.order.placed",
"event_id": "c1be7fa1-645e-3d57-9ca3-f2cb54212345",
"version": 1,
"timestamp": "2019-08-24T14:15:22Z"
}
JSON Attribute | Description | Type | Required |
---|
event_name | Name of the event. Value: gofood.order.placed | String | Required |
event_id | ID of the event. | String | Required |
version | Data structure version of the body parameter. | Integer | Required |
timestamp | The date and time at which the event occurred. It is in the ISO 8601 format (YYYY-MM-DDTHH:MM:SSZ or YYYY-MM-DDTHH:MM:SS±hh:mm). | String | Required |
Order Placed Event - Body Parameters
Code Sample
{
"customer": {
"id": "536D5047BBBC0D5C7A51437C28CABCDE",
"name": "GoFood Customer"
},
"driver": {
"name": "GoFood Driver"
},
"service_type": "gofood",
"outlet": {
"id": "G123456789",
"external_outlet_id": "outlet01"
},
"order": {
"status": "ORDER_PLACED",
"pin": "1234",
"order_number": "F-123456789",
"order_total": 4.0e4,
"order_items": [
{
"quantity": 1,
"price": 1.5e4,
"notes": "pedas",
"name": "Hamburger",
"id": "e44495da-ebc2-493a-913a-b10d3a123456",
"external_id": "1773640",
"variants": [
{
"id": "e44495da-ebc2-493a-913a-b10d3a654321",
"name": "Hamburger keju",
"external_id": "11223344"
}
]
}
],
"cutlery_requested": true,
"currency": "IDR",
"takeaway_charges": 0,
"created_at": "2019-08-24T14:15:22Z",
"cancellation_detail": {
"reason": ""
}
}
}
JSON Attribute | Description | Type | Required |
---|
customer | Information about the customer. | Object | Required |
» id | ID of the customer. | String | Required |
» name | Customer name. | String | Required |
driver | Information about the driver. | Object | Required |
» name | Name of the driver. | String | Required |
service_type | Type of GoFood order. Possible Values: gofood | String | Required |
outlet | Details of the outlet. | Object | Required |
» id | ID of the outlet on GoBiz side. | String | Required |
» external_outlet_id | ID of the outlet on partner side. | String | Required |
order | Details of the order. | Object | Required |
» status | Status of the order. Value: ORDER_PLACED | String | Required |
» pin | Personal Identification Number for the verification of driver. | String | Required |
» order_number | Order number of the order. | String | Required |
» order_total | Total amount of the order. | Float | Required |
» order_items | Details about the ordered items. | Array(Object) | Required |
» applied_promotions | Information about applied promos. | Array(Object) | Required |
» cutlery_requested | Boolean value to indicate whether the customer requests cutlery. | Boolean | Optional |
» currency | Three-letter alphabetic currency code as per ISO-4217 format. Value: IDR | String | Required |
» takeaway_charges | Take-away charges of the order. | Float | Required |
» created_at | The date and time at which order is created. It is in the ISO 8601 format (YYYY-MM-DDTHH:MM:SSZ or YYYY-MM-DDTHH:MM:SS±hh:mm). | String | Required |
» cancellation_detail | Details about the order cancellation. | Object | Optional |
»» reason | Cancellation reason in Bahasa Indonesia | String | Optional |
GoFood Order Completed Event
Code Sample
{
"header": {
"event_name": "gofood.order.completed",
"event_id": "c1be7fa1-645e-3d57-9ca3-f2cb54212345",
"version": 1,
"timestamp": "2019-08-24T14:15:22Z"
},
"body": {
"customer": {
"id": "536D5047BBBC0D5C7A51437C28CABCDE",
"name": "GoFood Customer"
},
"driver": {
"name": "GoFood Driver"
},
"service_type": "gofood",
"outlet": {
"id": "G123456789",
"external_outlet_id": "outlet01"
},
"order": {
"status": "COMPLETED",
"pin": "1234",
"order_number": "F-123456789",
"order_total": 4.0e4,
"order_items": [
{
"quantity": 1,
"price": 1.5e4,
"notes": "pedas",
"name": "Hamburger",
"id": "e44495da-ebc2-493a-913a-b10d3a123456",
"external_id": "1773640",
"variants": [
{
"id": "e44495da-ebc2-493a-913a-b10d3a654321",
"name": "Hamburger keju",
"external_id": "11223344"
}
]
}
],
"applied_promotions": [
{
"scope": "sku",
"detail": {
"item": {
"id": "e91a3493-71c2-4ceb-9d87-4ab7794aab72",
"external_id": "F789315F-3ECA-4D31-983C-62ADD8E8325F"
},
"id": "b688aba2-ba96-4ed1-a241-56cedc7f022d"
}
}
],
"cutlery_requested": true,
"currency": "IDR",
"takeaway_charges": 0,
"created_at": "2019-08-24T14:15:22Z",
"cancellation_detail": {
"reason": ""
}
}
}
}
Triggered when the order has been completed. Due to the nature of the internet network, there is no guarantee that the event will only be sent exactly once (e.g retry due to intermitten network). Thus, there might be a event duplication, and receiving end needs to be able to handle the duplication.
JSON Attribute | Description | Type | Required |
---|
header | Details of the header object. | Object | Required |
body | Details of the body object. | Object | Required |
Code Sample
{
"event_name": "gofood.order.completed",
"event_id": "c1be7fa1-645e-3d57-9ca3-f2cb54212345",
"version": 1,
"timestamp": "2019-08-24T14:15:22Z"
}
JSON Attribute | Description | Type | Required |
---|
event_name | Name of the event. Value: gofood.order.completed | String | Required |
event_id | ID of the event. | String | Required |
version | Data structure version of the body parameter. | Integer | Required |
timestamp | The date and time at which event occurred. It is in the ISO 8601 format (YYYY-MM-DDTHH:MM:SSZ or YYYY-MM-DDTHH:MM:SS±hh:mm). | String | Required |
Order Completed Event - Body Parameters
Code Sample
{
"customer": {
"id": "536D5047BBBC0D5C7A51437C28CABCDE",
"name": "GoFood Customer"
},
"driver": {
"name": "GoFood Driver"
},
"service_type": "gofood",
"outlet": {
"id": "G123456789",
"external_outlet_id": "outlet01"
},
"order": {
"status": "COMPLETED",
"pin": "1234",
"order_number": "F-123456789",
"order_total": 4.0e4,
"order_items": [
{
"quantity": 1,
"price": 1.5e4,
"notes": "pedas",
"name": "Hamburger",
"id": "e44495da-ebc2-493a-913a-b10d3a123456",
"external_id": "1773640",
"variants": [
{
"id": "e44495da-ebc2-493a-913a-b10d3a654321",
"name": "Hamburger keju",
"external_id": "11223344"
}
]
}
],
"cutlery_requested": true,
"currency": "IDR",
"takeaway_charges": 0,
"created_at": "2019-08-24T14:15:22Z",
"cancellation_detail": {
"reason": ""
}
}
}
JSON Attribute | Description | Type | Required |
---|
customer | Information about the customer. | Object | Required |
» id | ID of the customer. | String | Required |
» name | Customer name. | String | Required |
driver | Information about the driver. | Object | Required |
» name | Name of the driver. | String | Required |
service_type | Type of GoFood order. Possible Values: gofood , gofood_pickup | String | Required |
outlet | Details of the outlet. | Object | Required |
» id | ID of the outlet on GoBiz side. | String | Required |
» external_outlet_id | ID of the outlet on partner side. | String | Required |
order | Details of the order. | Object | Required |
» status | Status of the order. Value: COMPLETED | String | Required |
» pin | Personal Identification Number for the verification of driver. | String | Required |
» order_number | Order number of the order. | String | Required |
» order_total | Total amount of the order. | Float | Required |
» order_items | Details about the ordered items. | Array(Object) | Required |
» applied_promotions | Information about applied promos. | Array(Object) | Required |
» cutlery_requested | Boolean value to indicate whether the customer requests cutlery. | Boolean | Optional |
» currency | Three-letter alphabetic currency code as per ISO-4217 format. Value: IDR | String | Required |
» takeaway_charges | Take-away charges of the order. | Float | Required |
» created_at | The date and time at which order is created. It is in the ISO 8601 format (YYYY-MM-DDTHH:MM:SSZ or YYYY-MM-DDTHH:MM:SS±hh:mm). | String | Required |
» cancellation_detail | Details about the order cancellation. | Object | Optional |
»» reason | Cancellation reason in Bahasa Indonesia | String | Optional |
GoFood Order Cancelled Event
Code Sample
{
"header": {
"event_name": "gofood.order.cancelled",
"event_id": "c1be7fa1-645e-3d57-9ca3-f2cb54212345",
"version": 1,
"timestamp": "2019-08-24T14:15:22Z"
},
"body": {
"customer": {
"id": "536D5047BBBC0D5C7A51437C28CABCDE",
"name": "GoFood Customer"
},
"driver": {
"name": "GoFood Driver"
},
"service_type": "gofood",
"outlet": {
"id": "G123456789",
"external_outlet_id": "outlet01"
},
"order": {
"status": "CANCELLED",
"pin": "1234",
"order_number": "F-123456789",
"order_total": 4.0e4,
"order_items": [
{
"quantity": 1,
"price": 1.5e4,
"notes": "pedas",
"name": "Hamburger",
"id": "e44495da-ebc2-493a-913a-b10d3a123456",
"external_id": "1773640",
"variants": [
{
"id": "e44495da-ebc2-493a-913a-b10d3a654321",
"name": "Hamburger keju",
"external_id": "11223344"
}
]
}
],
"applied_promotions": [
{
"scope": "sku",
"detail": {
"item": {
"id": "e91a3493-71c2-4ceb-9d87-4ab7794aab72",
"external_id": "F789315F-3ECA-4D31-983C-62ADD8E8325F"
},
"id": "b688aba2-ba96-4ed1-a241-56cedc7f022d"
}
}
],
"cutlery_requested": true,
"currency": "IDR",
"takeaway_charges": 0,
"created_at": "2019-08-24T14:15:22Z",
"cancellation_detail": {
"reason": "Dibatalkan resto - ada menu yang habis"
}
}
}
}
Triggered when the order got cancelled. Due to the nature of the internet network, there is no guarantee that the event will only be sent exactly once (e.g retry due to intermitten network). Thus, there might be a event duplication, and receiving end needs to be able to handle the duplication.
JSON Attribute | Description | Type | Required |
---|
header | Details of the header object. | Object | Required |
body | Details of the body object. | Object | Required |
Code Sample
{
"event_name": "gofood.order.cancelled",
"event_id": "c1be7fa1-645e-3d57-9ca3-f2cb54212345",
"version": 1,
"timestamp": "2019-08-24T14:15:22Z"
}
JSON Attribute | Description | Type | Required |
---|
event_name | Name of the event. Value: gofood.order.cancelled | String | Required |
event_id | ID of the event. | String | Required |
version | Data structure version of the body parameter. | Integer | Required |
timestamp | The date and time at which event occurred. It is in the ISO 8601 format (YYYY-MM-DDTHH:MM:SSZ or YYYY-MM-DDTHH:MM:SS±hh:mm). | String | Required |
Order Cancelled Event - Body Parameters
Code Sample
{
"customer": {
"id": "536D5047BBBC0D5C7A51437C28CABCDE",
"name": "GoFood Customer"
},
"driver": {
"name": "GoFood Driver"
},
"service_type": "gofood",
"outlet": {
"id": "G123456789",
"external_outlet_id": "outlet01"
},
"order": {
"status": "CANCELLED",
"pin": "1234",
"order_number": "F-123456789",
"order_total": 4.0e4,
"order_items": [
{
"quantity": 1,
"price": 1.5e4,
"notes": "pedas",
"name": "Hamburger",
"id": "e44495da-ebc2-493a-913a-b10d3a123456",
"external_id": "1773640",
"variants": [
{
"id": "e44495da-ebc2-493a-913a-b10d3a654321",
"name": "Hamburger keju",
"external_id": "11223344"
}
]
}
],
"cutlery_requested": true,
"currency": "IDR",
"takeaway_charges": 0,
"created_at": "2019-08-24T14:15:22Z",
"cancellation_detail": {
"reason": "Dibatalkan resto - ada menu yang habis"
}
}
}
JSON Attribute | Description | Type | Required |
---|
customer | Information about the customer. | Object | Required |
» id | ID of the customer. | String | Required |
» name | Customer name. | String | Required |
driver | Information about the driver. | Object | Required |
» name | Name of the driver. | String | Required |
service_type | Type of GoFood order. Possible Values: gofood , gofood_pickup | String | Required |
outlet | Details of the outlet. | Object | Required |
» id | ID of the outlet on GoBiz side. | String | Required |
» external_outlet_id | ID of the outlet on partner side. | String | Required |
order | Details of the order. | Object | Required |
» status | Status of the order. Value: CANCELLED | String | Required |
» pin | Personal Identification Number for the verification of driver. | String | Required |
» order_number | Order number of the order. | String | Required |
» order_total | Total amount of the order. | Float | Required |
» order_items | Details about the ordered items. | Array(Object) | Required |
» applied_promotions | Information about applied promos. | Array(Object) | Required |
» cutlery_requested | Boolean value to indicate whether the customer requests cutlery. | Boolean | Optional |
» currency | Three-letter alphabetic currency code as per ISO-4217 format. Value: IDR | String | Required |
» takeaway_charges | Take-away charges of the order. | Float | Required |
» created_at | The date and time at which order is created. It is in the ISO 8601 format (YYYY-MM-DDTHH:MM:SSZ or YYYY-MM-DDTHH:MM:SS±hh:mm). | String | Required |
» cancellation_detail | Details about the order cancellation. | Object | Optional |
»» reason | Cancellation reason in Bahasa Indonesia | String | Optional |
GoFood Order Webhook Error Event
Code Sample
{
"body": {
"error_type": "mapping_not_found",
"mapping_not_found": {
"items": [],
"variants": [
{
"name": "Paha atas"
},
{
"name": "Paha bawah"
}
]
},
"order": {
"number": "F-12345678"
},
"outlet": {
"external_outlet_id": "external-outlet-id",
"id": "G12345678"
}
},
"header": {
"event_type": "gofood.order.webhook_error",
"event_id": "67235bd0-c963-4c32-aca1-27a52ec963e5",
"version": 1,
"timestamp": "2023-03-29T14:15:22Z"
}
}
There's a possibility that the normal GoFood order webhook can't be sent due to unmet requirements (e.g. missing menu mapping). When that happened, this webhook will be sent instead.
This event triggered to notify partners when that case happened. Due to the nature of the internet network, there is no guarantee that the event will only be sent exactly once (e.g retry due to intermitten network). Thus, there might be a event duplication, and receiving end needs to be able to handle the duplication.
JSON Attribute | Description | Type | Required |
---|
header | Details of the header object. | Object | Required |
body | Details of the body object. | Object | Required |
Code Sample
{
"event_type": "gofood.order.webhook_error",
"event_id": "67235bd0-c963-4c32-aca1-27a52ec963e5",
"version": 1,
"timestamp": "2023-03-29T14:15:22Z"
}
JSON Attribute | Description | Type | Required |
---|
event_name | Name of the event. Value: gofood.order.webhook_error | String | Required |
event_id | ID of the event. | String | Required |
version | Data structure version of the body parameter. | Integer | Required |
timestamp | The date and time at which the event occurred. It is in the ISO 8601 format (YYYY-MM-DDTHH:MM:SSZ or YYYY-MM-DDTHH:MM:SS±hh:mm). | String | Required |
Webhook Error Event - Body Parameters
Code Sample
{
"error_type": "mapping_not_found",
"mapping_not_found": {
"items": [
{
"name": "Fried chicken"
}
],
"variants": [
{
"name": "Paha atas"
},
{
"name": "Paha bawah"
}
]
},
"order": {
"number": "F-12345678"
},
"outlet": {
"external_outlet_id": "external-outlet-id",
"id": "G12345678"
}
}
JSON Attribute | Description | Type | Required |
---|
error_type | Indicating what kind of error causing webhook to be not sent. Values: mapping_not_found . | String | Required |
order | Information about related failing order webhook. | Object | Required |
» number | Order number. | String | Required |
outlet | Information about related outlet. | Object | Required |
» id | GoBiz Outlet identifier. | String | Required |
» external_outlet_id | Partner's outlet identifier. | String | Optional |
mapping_not_found | More information about related error. In this case this field is required when error_type is mapping_not_found . | Object | Required |
» items | Information about missing mappings of items. | Array | Required |
» [] » name | Information about missing item name. | String | Required |
» variants | Information about missing mappings of variants. | Array | Required |
» [] » name | Information about missing variant name. | Required | Required |
Code Sample
{
"header": {
"event_name": "gofood.catalog.menu_mapping_updated",
"event_id": "c1be7fa1-645e-3d57-9ca3-f2cb54212345",
"version": 1,
"timestamp": "2019-08-24T14:15:22Z"
},
"body": {
"request_id": "string",
"outlet": {
"id": "G123456789",
"external_outlet_id": "outlet01"
},
"menus": [
{
"id": "96f614f6-745e-47f5-ad68-c0c8e9ba8dc9",
"external_menu_id": "sample-abc-12345"
}
]
}
}
This event is triggered when the previous Menu Catalog Update process has been completed.
JSON Attribute | Description | Type | Required |
---|
header | Details of the header object. | Object | Required |
body | Details of the body object. | Object | Required |
Code Sample
{
"event_name": "gofood.catalog.menu_mapping_updated",
"event_id": "c1be7fa1-645e-3d57-9ca3-f2cb54212345",
"version": 1,
"timestamp": "2019-08-24T14:15:22Z"
}
JSON Attribute | Description | Type | Required |
---|
event_name | Name of the event. Value: gofood.catalog.menu_mapping_updated | String | Required |
event_id | ID of the event. | String | Required |
version | Data structure version of the body parameter. | Integer | Required |
timestamp | The date and time at which event occurred. It is in the ISO 8601 format (YYYY-MM-DDTHH:MM:SSZ or YYYY-MM-DDTHH:MM:SS±hh:mm). | String | Required |
GoFood Catalog Menu Mapping Event - Body Parameters
Code Sample
{
"request_id": "string",
"outlet": {
"id": "G123456789",
"external_outlet_id": "outlet01"
},
"menus": [
{
"id": "96f614f6-745e-47f5-ad68-c0c8e9ba8dc9",
"external_menu_id": "sample-abc-12345"
}
]
}
JSON Attribute | Description | Type | Required |
---|
request_id | ID of the request. | String | Required |
outlet | Details of the outlet. | Object | Required |
»id | ID of an outlet on GoBiz side. | String | Required |
»external_outlet_id | ID of an outlet on partner side. | String | Required |
menus | Details of the menu. | Array(Object) | Required |
»id | ID of the menu on GoBiz side. | String | Required |
»external_menu_id | ID of the menu on partner side. | String | Required |
Transaction Settlement Event
Code Sample
{
"header": {
"event_name": "payment.transaction.settlement",
"event_id": "c1be7fa1-645e-3d57-9ca3-f2cb54212345",
"version": 1,
"timestamp": "2019-08-24T14:15:22Z"
},
"body": {
"outlet": {
"id": "G123456789"
},
"transaction": {
"id": "string",
"order_id": "string",
"settlement_at": "2019-08-24T14:15:22Z",
"created_at": "2019-08-24T14:15:22Z",
"currency": "IDR",
"gross_amount": 0,
"payment_type": "qris",
"status": "settlement",
"terminal_label": "string"
}
}
}
Triggered when the transaction got settled.
JSON Attribute | Description | Type | Required |
---|
header | Details of the header object. | Object | Required |
body | Details of the body object. | Object | Required |
Code Sample
{
"event_name": "payment.transaction.settlement",
"event_id": "c1be7fa1-645e-3d57-9ca3-f2cb54212345",
"version": 1,
"timestamp": "2019-08-24T14:15:22Z"
}
JSON Attribute | Description | Type | Required |
---|
event_name | Name of the event. Value: payment.transaction.settlement | String | Required |
event_id | ID of the event. | String | Required |
version | Data structure version of the body parameter. | Integer | Required |
timestamp | The date and time at which event occurred. It is in the ISO 8601 format (YYYY-MM-DDTHH:MM:SSZ or YYYY-MM-DDTHH:MM:SS±hh:mm). | String | Required |
Transaction Settlement Event - Body Parameters
Code Sample
{
"outlet": {
"id": "G123456789"
},
"transaction": {
"id": "string",
"order_id": "string",
"settlement_at": "2019-08-24T14:15:22Z",
"created_at": "2019-08-24T14:15:22Z",
"currency": "IDR",
"gross_amount": 0,
"payment_type": "qris",
"status": "settlement",
"terminal_label": "string"
}
}
JSON Attribute | Description | Type | Required |
---|
outlet | Information about an outlet. | Object | Required |
» id | ID of an outlet. | String | Required |
transaction | Details of the transaction. | Object | Required |
» id | ID of the transaction. | String | Required |
» order_id | ID of the order. | String | Required |
» settlement_at | The date and time at which transaction is successful. It is in the ISO 8601 format (YYYY-MM-DDTHH:MM:SSZ or YYYY-MM-DDTHH:MM:SS±hh:mm). | String | Required |
» created_at | The date and time at which transaction is created. It is in the ISO 8601 format (YYYY-MM-DDTHH:MM:SSZ or YYYY-MM-DDTHH:MM:SS±hh:mm). | String | Required |
» currency | Three-letter alphabetic currency code as per ISO-4217 format. Value: IDR | String | Required |
» gross_amount | Total amount of the transaction in IDR. | Integer | Required |
» payment_type | Type of payment method used. Value: QRIS | String | Required |
» status | Status of the request. Value: settlement | String | Required |