Objects Glossary
Subscriptions
Subscriptions Object
{
"id": "96f614f6-745e-47f5-ad68-c0c8e9ba8dc8",
"event": "gofood.order.driver_arrived",
"url": "https://sample-endpoint.com/notifications",
"active": true,
"created_at": "2019-08-24T14:15:22Z"
}
JSON Attribute | Description | Type |
---|---|---|
id | ID of the subscription. | String(UUID) |
event | Type of event notification to subscribe. Note: For the list of available events, refer Events List. | String |
url | URL at which notification is received. Please use only :80 and :443 for HTTP port. | String(uri) |
active | Status of the subscription. | Boolean |
created_at | The date and time at which subscription is created. It is in the ISO 8601 format (YYYY-MM-DDTHH:MM:SSZ or YYYY-MM-DDTHH:MM:SS±hh:mm). | String |
Transaction Details
Transaction Details Object
{
"order_id": "order-1234",
"gross_amount": 3000,
"currency": "IDR"
}
JSON Attribute | Description | Type | Required |
---|---|---|---|
order_id | Order ID of the transaction. Note: Allowed symbols are hyphen(-), underscore(_), tilde(~), and dot(.) | String | Required |
gross_amount | Total amount of the transaction in IDR. Note: Decimal values are not supported. | Integer | Required |
currency | Three-letter alphabetic currency code as per ISO-4217 format. Value: IDR | String | Required |
Customer Details
CustomerDetails Object
{
"first_name": "John",
"last_name": "Doe",
"email": "[email protected]",
"phone": "+628111000123"
}
JSON Attribute | Description | Type | Required |
---|---|---|---|
first_name | First name of the customer. | String | Optional |
last_name | Last name of the customer. | String | Optional |
Email address of the customer. | String | Optional | |
phone | Phone number of the customer. | String | Optional |
Item Details
Item Details Object
{
"id": "SKU-000123",
"price": 3000,
"quantity": 1,
"name": "Item sample no.1",
"brand": "sample brand",
"category": "others"
}
JSON Attribute | Description | Type | Required |
---|---|---|---|
id | ID of the item. | String | Optional |
price | Price of the item in IDR. Note: Decimal values are not supported. | Integer | Required |
quantity | Quantity of the item. | Integer | Required |
name | Name of the item. | String | Required |
brand | Brand of the item. | String | Optional |
category | Category of the item. | String | Optional |
Outlet
Outlet Objects
{
"id": "G000012345",
"pop_id": "fa6082ea-06da-4483-9c7e-eeb0447ed53e"
}
JSON Attribute | Description | Type | Required |
---|---|---|---|
id | ID of your outlet. | String | Required |
pop_id | ID of the POP machine, given by GoBiz. | String | Required |
Transaction - Response
Transaction Response Object
{
"id": "71839e9c-944b-40ce-bd31-8a76db666f36",
"payment_type": "qris",
"status": "pending",
"qris_string": "00020101021226610014COM.GO-JEK.WWW01189360091430438058080210G7641517890303UMI51440014ID.CO.QRIS.WWW0215ID10190450190010303UMI5204581253033605802ID5907Circlek6015Bandung deket r61054025762470703A015036c98a2234-f6d1-46f6-91d3-2597ee7863bc5406122.0063044447",
"order_id": "order-1234",
"gross_amount": 3000,
"currency": "IDR",
"created_at": "2020-03-09T11:33:08Z",
"settlement_at": null
}
JSON Attribute | Description | Type |
---|---|---|
id | ID of the transaction. | String(UUID) |
payment_type | Mode of the payment. Value: qris | String |
status | Status of the request. Possible Values: Pending , Settlement | String |
qris_string | QR data to display the QR image on customer side. | String |
order_id | Order ID of the transaction. Note: Allowed symbols are hyphen(-), underscore(_), tilde(~), and dot(.) | String |
gross_amount | Total amount of the transaction in IDR. | String |
currency | Three-letter alphabetic currency code as per ISO-4217 format. Value: IDR | String |
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 |
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 |
Actions
{
"name": "generate-qr-code",
"method": "GET",
"url": "https://api.partner-sandbox.gobiz.co.id/transactions/71839e9c-944b-40ce-bd31-8a76db666f36/qr-code"
}
JSON Attribute | Description | Type |
---|---|---|
name | Name of the action that can be performed on transaction. Value: generate-qr-code | String |
method | HTTP method used to perform the action. Value: GET | String |
url | URL at which QR image is received. | String |
Payment Transaction - Failed Response
{
"message_title": "Not found",
"message": "Transaction not found"
}
JSON Attribute | Description | Type |
---|---|---|
message_title | Title of the error message. | String |
message | Description of the error message. | String |
Create Promotion Request
{
"start_date": "2020-09-04",
"end_date": "2020-09-04",
"selling_price": 2500,
"percentage_discount": 25,
"external_menu_id": "external-menu-id",
"start_time": "14:25:00",
"end_time": "14:55:00",
"applicable_days": ["monday", "sunday"]
}
JSON Attribute | Description | Type | Required |
---|---|---|---|
start_date | Start date of the promotion. Format: YYYY-MM-DD. | String | Required |
end_date | Last date of the promotion. Format: YYYY-MM-DD. | String | Required |
selling_price | Selling price of the item in IDR. Note: Decimal values are not supported. | Integer | Optional |
external_menu_id | ID of the menu item on the partner side. | String | Required |
start_time | Start time of the promotion. Format: HH:mm:ss. | String | Optional |
percentage_discount | Discount percentage of the item. | Integer | Optional |
end_time | End time of the promotion. Format: HH:mm:ss. | String | Optional |
applicable_days | List of promotion applicable days. Format: Day name in english. | Array(String) | Optional |
Create Promotion Detail Response
{
"success":
[
{
"id": "promotion_id",
"external_menu_id": "external-menu-id",
"errors": null
}
],
"failure":
[
{
"id": null,
"external_menu_id": "external-menu-id",
"errors": "Item is not active"
}
]
}
JSON Attribute | Description | Type |
---|---|---|
id | ID of the promotion. Note: Value is null if response fails. | String |
external_menu_id | ID of the menu item on the partner side. | String |
errors | Details of the error. Note: Value is null if response is successful. | String |
Promotions
{
"start_date": "2020-09-04",
"end_date": "2020-09-04",
"status": "created",
"id": "96f614f6-745e-47f5-ad68-c0c8e9ba8dc8"
}
JSON Attribute | Description | Type |
---|---|---|
start_date | Start date of the promotion. Format: YYYY-MM-DD | String |
end_date | Last date of the promotion. Format: YYYY-MM-DD. | String |
status | Current status of the promotion. Possible values: created , activated , deactivated , deleted , completed | String |
id | ID of the promotion. | String(UUID) |
SKU Promotion Detail
{
"id": "96f614f6-745e-47f5-ad68-c0c8e9ba8dc8",
"start_date": "2020-09-04",
"end_date": "2020-09-04",
"start_time": "14:25:00",
"end_time": "14:55:00",
"status": "activated",
"promo_type": "sku_promo",
"details":
{
"menu_item":
{
"id": "45ba745f-745e-4568-ad68-c0c8e9ba8dc8",
"external_menu_id": "external-menu-id",
"name": "Kopi",
"price": 4500,
"discounted_price": 2500,
}
},
"applicable_days" : ["sunday", "monday"]
}
JSON Attribute | Description | Type |
---|---|---|
id | ID of the promotion. | String(UUID) |
start_date | Start date of the promotion. Format: YYYY-MM-DD. | String |
end_date | Last date of the promotion. Format: YYYY-MM-DD | String |
status | Status of the promotion. Possible values: created , activated , deactivated , completed | String |
promo_type | Type of the promotion. Value: sku_promo | String |
details | Details of the menu item. | Object |
» menu_item | Menu item object. | Object |
end_time | End time of the promotion. Format: HH:mm:ss. | String Optional |
applicable_days | List of promotion applicable days. Format: Day name in english. | Array(String) Optional |
Menu Item - SKU Promotion
{
"id": "96f614f6-745e-47f5-ad68-c0c8e9ba8dc8",
"external_menu_id": "external-menu-id",
"name": "Kopi",
"price": 4500,
"discounted_price": 2500
}
JSON Attribute | Description | Type |
---|---|---|
id | ID of the menu item on GoBiz side. | String |
external_menu_id | ID of the menu item on the partner side. | String |
name | Name of the menu item to be displayed. | String |
price | Price of the menu item in IDR. Note: Decimal values are not supported. | Integer |
discounted_price | Price of the menu item after applying a promotion. Note: Decimal values are not supported. | Integer |
Get All Outlets - Response
{
"id": "G000012345",
"external_outlet_id": "sample-abc-12345",
"created_at": "2019-08-24T14:15:22Z",
"updated_at": "2019-08-24T14:15:22Z"
}
JSON Attribute | Description | Type |
---|---|---|
id | ID of an outlet on GoBiz side. | String |
external_outlet_id | ID of an outlet on the partner side. | String |
created_at | The date and time at which outlet is registered. It is in the ISO 8601 format (YYYY-MM-DDTHH:MM:SSZ or YYYY-MM-DDTHH:MM:SS±hh:mm). | String |
updated_at | The date and time at which information about an outlet (external_outlet_id ) is last modified. It is in the ISO 8601 format (YYYY-MM-DDTHH:MM:SSZ or YYYY-MM-DDTHH:MM:SS±hh:mm). | String |
Linked Outlet - Response
{
"id": "G000012345",
"external_outlet_id": "sample-abc-12345",
"created_at": "2019-08-24T14:15:22Z",
"updated_at": "2019-08-24T14:15:22Z",
"linked_at": "2019-08-24T14:15:22Z"
}
JSON Attribute | Description | Type |
---|---|---|
id | ID of an outlet on GoBiz side. | String |
external_outlet_id | ID of an outlet on the partner side. | String |
created_at | The date and time at which outlet is linked. It is in the ISO 8601 format (YYYY-MM-DDTHH:MM:SSZ or YYYY-MM-DDTHH:MM:SS±hh:mm). | String |
updated_at | The date and time at which information about an outlet (external_outlet_id ) is last modified. It is in the ISO 8601 format (YYYY-MM-DDTHH:MM:SSZ or YYYY-MM-DDTHH:MM:SS±hh:mm). | String |
linked_at | The date and time at which outlet is linked. It is in the ISO 8601 format (YYYY-MM-DDTHH:MM:SSZ or YYYY-MM-DDTHH:MM:SS±hh:mm). | String |
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"
}
]
}
JSON Attribute | Description | Type | Required |
---|---|---|---|
quantity | Quantity of the ordered item. | Integer | Required |
price | Price of the item. | Float | Required |
notes | Additional information about the order. | String | Required |
name | Name of the ordered item. | String | Required |
id | ID of the ordered item on GoBiz side. | String | Required |
external_id | ID of the ordered item on partner side. | String | Optional |
variants | Details about the variants. | Array(Object) | Optional |
» id | ID of the variant on GoBiz side. | String | Required |
» name | Name of the variant. | String | Required |
» external_id | ID of the variant on partner side. | String | Optional |
Menu Items
{
"description": "string",
"external_id": "string",
"image": "string",
"in_stock": true,
"name": "string",
"operational_hours":
{
"sunday":
[
{
"start": "10:00",
"end": "22:30"
}
],
"monday":
[
{
"start": "10:00",
"end": "22:30"
}
],
"tuesday":
[
{
"start": "10:00",
"end": "22:30"
}
],
"wednesday":
[
{
"start": "10:00",
"end": "22:30"
}
],
"thursday":
[
{
"start": "10:00",
"end": "22:30"
}
],
"friday":
[
{
"start": "10:00",
"end": "22:30"
}
],
"saturday":
[
{
"start": "10:00",
"end": "22:30"
}
]
},
"variant_category_external_ids":
[
"string"
],
"price": 0
}
JSON Attribute | Description | Type | Required |
---|---|---|---|
description | Description of the menu item. Maximum limit: 250 characters | String | Optional |
external_id | ID of the menu item on the partner side. Maximum limit: 200 characters | String | Required |
image | URL of the image of the menu item. The menu item's image URL needs to be in jpeg or png format, have the correct MIME-type header, and use either the :80 or :443 HTTP port for the GoBiz API to accept it. | String(URI) | Optional |
in_stock | Status indicating whether the menu item is in stock or not. The default value is true .Note: If the value is false , the menu item is out of stock. | Boolean | Optional |
name | Name of the menu item. Maximum limit: 150 characters | String | Required |
operational_hours | Daily availability hours of the menu item. | Object | Optional |
variant_category_external_ids | Array of variant category IDs on the partner side. | Array(String) | Optional |
price | Price of the menu item in IDR. Note: The minimum value is -2.000.000 IDR and the maximum value is 2.000.000 IDR. Decimal values are not supported. | Integer | Required |
Operational Hours
{
"sunday":
[
{
"start": "10:00",
"end": "22:30"
}
],
"monday":
[
{
"start": "10:00",
"end": "22:30"
}
],
"tuesday":
[
{
"start": "10:00",
"end": "22:30"
}
],
"wednesday": [
{
"start": "10:00",
"end": "22:30"
}
],
"thursday":
[
{
"start": "10:00",
"end": "22:30"
}
],
"friday":
[
{
"start": "10:00",
"end": "22:30"
}
],
"saturday":
[
{
"start": "10:00",
"end": "22:30"
}
]
}
JSON Attribute | Description | Type | Required |
---|---|---|---|
sunday | First day of the week. | Array(Object) | Optional |
» start | The time of the day from which the menu item is available. Format: HH:MM (24-hour) | String | Required |
» end | The time of the day until which the menu item is available. Format: HH:MM (24-hour) | String | Required |
monday | Second day of the week. | Array(Object) | Optional |
» start | The time of the day from which the menu item is available. Format: HH:MM (24-hour) | String | Required |
» end | The time of the day until which the menu item is available. Format: HH:MM (24-hour) | String | Required |
tuesday | Third day of the week. | Array(Object) | Optional |
» start | The time of the day from which the menu item is available. Format: HH:MM (24-hour) | String | Required |
» end | The time of the day until which the menu item is available. Format: HH:MM (24-hour) | String | Required |
wednesday | Fourth day of the week. | Array(Object) | Optional |
» start | The time of the day from which the menu item is available. Format: HH:MM (24-hour) | String | Required |
» end | The time of the day until which the menu item is available. Format: HH:MM (24-hour) | String | Required |
thursday | Fifth day of the week. | Array(Object) | Optional |
» start | The time of the day from which the menu item is available. Format: HH:MM (24-hour) | String | Required |
» end | The time of the day until which the menu item is available. Format: HH:MM (24-hour) | String | Required |
friday | Sixth day of the week. | Array(Object) | Optional |
» start | The time of the day from which the menu item is available. Format: HH:MM (24-hour) | String | Required |
» end | The time of the day until which the menu item is available. Format: HH:MM (24-hour) | String | Required |
saturday | Last day of the week. | Array(Object) | Optional |
» start | The time of the day from which the menu item is available. Format: HH:MM (24-hour) | String | Required |
» end | The time of the day until which the menu item is available. Format: HH:MM (24-hour) | String | Required |
Variant Categories
{
"external_id": "external-menu-id",
"internal_name": "string",
"name": "external-menu-id",
"rules":
{
"selection":
{
"max_quantity": 1,
"min_quantity": 0
}
},
"variants":
[
{
"external_id": "external-menu-id",
"in_stock": true,
"name": "string",
"price": -2000000
}
]
}
JSON Attribute | Descri | Type | Required |
---|---|---|---|
external_id | ID of the variant category on the partner side. Maximum limit: 200 characters | String | Required |
internal_name | Variant category identifier to be shown in the GoBiz application. Maximum limit: 200 characters | String | Optional |
name | Name of the variant category to be displayed on the Gojek application. Maximum limit: 50 characters | String | Optional |
rules | Rules for selection of the variant category. | Object | Optional |
» selection | Object to select maximum and minimum quantity of the variant category. | Object | Optional |
»» max_quantity | Maximum quantity of the variant category. | Integer | Optional |
»» min_quantity | Minimum quantity of the variant category. | Integer | Optional |
variants | Array of variants object. | Array(Object) | Optional |
Variants
{
"external_id": "external-menu-id",
"in_stock": true,
"name": "string",
"price": -2000000
}
JSON Attribute | Description | Type | Required |
---|---|---|---|
external_id | ID of the variant on the partner side. Maximum limit: 200 characters | String | Optional |
in_stock | Status indicating whether the variant is in stock or not. The default value is true .Note: If the value is false , the variant is out of stock. | Boolean | Optional |
name | Name of the variant. Maximum limit: 50 characters | String | Optional |
price | The price of the variant. This price is added to the price of the menu item. Note: The minimum value is -2.000.000 IDR and the maximum value is 2.000.000 IDR. Decimal values are not supported. | Integer | Optional |
Authenticated Outlet
{
"id": "string",
"name": "string",
"address": "string",
"email": "",
"phone": ""
}
note
- Email and Phone number fields are deprecated. It returns empty string to maintain backward compatibility.
JSON Attribute | Description | Type |
---|---|---|
id | ID of the authenticated outlet. | String |
name | Name of the outlet. | String |
address | Location of the outlet. | String |
DEPRECATED Registered email address of the outlet | String | |
phone | DEPRECATED Contact number of the outlet. | String |
Outlet Information
{
"id": "G916309315",
"merchant_name": "Name",
"name": "Name",
"status": "active",
"email": "[email protected]",
"payment_settings":
{
"gopay":
{
"active": true
},
"qris":
{
"active": true
}
},
"applications":
{
"midtrans":
{
"active": true
},
"gopay":
{
"active": true
}
}
}
JSON Attribute | Description | Type |
---|---|---|
id | ID of the outlet to be linked. | String |
merchant_name | Name of the outlet. Please note, this field is deprecated. | String |
name | Name of the outlet. | String |
status | Status of the outlet. | String |
Registered email address of the outlet. | String | |
payment_settings | Modes of payment supported by the outlet. | Object |
applications | Applications that the outlet uses for payment. | Object |
Payment Settings
{
"gopay":
{
"active": true
},
"qris":
{
"active": true
}
}
JSON Attribute | Description | Type |
---|---|---|
gopay | Mode of payment. | Object |
» active | Status of GoPay. | Boolean |
qris | Mode of payment. | Object |
» active | Status of QRIS. | Boolean |
Applications
{
"midtrans":
{
"active": true
},
"gopay":
{
"active": true
}
}
JSON Attribute | Description | Type |
---|---|---|
midtrans | Payment application. | Object |
» active | Status of Midtrans. | Boolean |
gopay | Payment application. | Object |
» active | Status of GoPay. | Boolean |
Notifications
{
"entity_id": "F-704173354",
"created_at": "2023-05-03T16:11:50.446+00:00",
"partner_id": "c5fbc785-629a-463f-b6f9-da1106a29fa1",
"event_type": "gofood.order.merchant_accepted",
"delivery_status": "dead",
"endpoint": "https://webhook.site/5b8922ed-b310-456c-8ea2-9d7a0a9ba0f0",
"headers": {
"X-Go-Signature": "1158ebcb7e821406f0b4993a504d6d561177c494662dad890d651f94f3f08216",
"X-Go-Idempotency-Key": "446cb8ae-8fe3-3c2c-9e9f-c677f37c5e5c",
"Content-Type": "application/json",
"Accept": "application/json"
},
"payload": "stringified JSON of notification payload",
"history": [
{
"time": "2023-05-03T16:11:50.446+00:00",
"exception_message": "URL not found",
"delivered": false
},
{
"time": "2023-05-03T16:15:50.446+00:00",
"exception_message": "URL not found",
"delivered": false
},
{
"time": "2023-05-03T16:19:50.446+00:00",
"exception_message": "URL not found",
"delivered": false
},
{
"time": "2023-05-03T16:19:50.446+00:00",
"exception_message": "Failed after automatic attempts.",
"delivered": false
}
]
}
JSON Attribute | Description | Type |
---|---|---|
entity_id | ID of the notification's entity. | String |
created_at | The date and time at which notification is created. It is in the ISO 8601 format (YYYY-MM-DDTHH:MM:SSZ ) | String |
partner_id | Your identification number as our partner. | String(UUID) |
event_type | Type of event notification. Note: For the list of available events, refer Events List. | String |
delivery_status | Status of the notification delivery. Available states are: queue , working , complete , failed , and dead . | String |
endpoint | URL at which notification is received. | String(URI) |
headers | Contains the API request header metadata of the notification being sent. | Object |
payload | The actual payload of the notification being sent. | String(JSON) |
history | Historical delivery states of the notification. You can use this to trace each notification's delivery. | Array(object) |
Errors - 404/406/415
Errors 415/406 Unsupported Accept Type
{
"errors": [
{
"message_title": "UnsupportedAcceptType",
"message": "Invalid Accept header: application/vnd.eim.v0+json"
}
]
}
Errors 404 Unregistered Outlet
{
"errors": [
{
"message_title": "Requested resource not found",
"message": "The outlet is not yet registered for integration. Please contact the support team."
}
]
}
Errors 404 Outlet Not Found
{
"errors": [
{
"message_title": "Not found",
"message": "Outlet with id: de829e5b-72a5-49bc-a5f3-f0d83edb9daf is not found"
}
]
}
JSON Attribute | Description | Type |
---|---|---|
message_title | Title of the error message. | String |
message | Description of the error message. | String |
Errors - 401 - Unauthorized
{
"errors": [
{
"code": "HTTP_401",
"message": "Your session is expired. Please login again.",
"message_title": "Session Expired",
"message_severity": "error"
}
]
}
JSON Attribute | Description | Type |
---|---|---|
code | HTTP error code. | String |
message_title | Title of the error message. | String |
message | Description of the error message. | String |
message_severity | Severity of the error. | String |