Venue API V1
Endpoints
-
GET
/api/{token}/v1/info -
GET
/api/{token}/v1/coupons -
POST
/api/{token}/v1/incoming_orders -
GET
/api/{token}/v1/incoming_orders/{id} -
PUT
/api/{token}/v1/incoming_quotes/{id}/finalize -
POST
/api/{token}/v1/incoming_quotes -
GET
/api/{token}/v1/incoming_quotes/{id} -
PATCH
/api/{token}/v1/incoming_quotes/{id} -
GET
/api/{token}/v1/menu_feeds/{menu_feed_id}/options -
GET
/api/{token}/v1/menu_feeds/{id} -
GET
/api/v1/venue/employees -
GET
/api/v1/venue/customers -
GET
/api/v1/venue/inventories -
GET
/api/v1/venue/manifest_items -
GET
/api/v1/venue/sales_histories
GET
/api/{token}/v1/info
Venue Info
Parameters
| Name | Type | In | Required | Description |
|---|---|---|---|---|
token
|
string | path | Yes | Token |
Responses
| Status | Description |
|---|---|
| 200 | Success |
| 400 | Bad Request |
| 422 | Invalid parameters |
| 500 | Internal Server Error |
Response Example
{
"code": 1,
"name": "The Bong Marché",
"license": "C11-0001157-LIC",
"region": "Washington State",
"locale": "en-US",
"vertical": "dispensaries",
"logo_thumb": "https://pbit-qa.s3.amazonaws.com/logos/Venue/thumb_3221_logo.png",
"logo_medium": "https://pbit-qa.s3.amazonaws.com/logos/Venue/medium_3221_logo.png",
"telephone": "5556543211",
"address": "1128 8th St, Kirkland, WA",
"street_address_line_1": "1128 8th St",
"city": "Kirkland",
"state": "WA",
"zip_code": "98000",
"country": "USA",
"timezone": "Pacific Time (US & Canada)",
"latitude": "48.7382",
"longitude": "-122.47",
"domains": [],
"tax_rates": [
{
"id": 4285,
"name": "Cannabis Tax",
"rate": 1000,
"tax_rate": "10.0",
"price_included": true
},
{
"id": 4286,
"name": "Bellingham, WA",
"rate": 837,
"tax_rate": "8.375",
"price_included": true
},
{
"id": 4415,
"name": "Excise tax",
"rate": 1500,
"tax_rate": "15.0",
"price_included": true
}
],
"payment_methods": [
"Cash",
"POSaBIT Pay",
"Debit Card",
"Other"
],
"venue_settings": {
"online_order_curbside": "1",
"online_order_delivery": "0"
}
}
GET
/api/{token}/v1/coupons
Venue Coupons
Parameters
| Name | Type | In | Required | Description |
|---|---|---|---|---|
token
|
string | path | Yes | Token |
Responses
| Status | Description |
|---|---|
| 200 | Success |
| 400 | Bad Request |
| 422 | Invalid parameters |
| 500 | Internal Server Error |
Response Example
{
"code": 1,
"total_records": 111,
"current_page": 1,
"total_pages": 4,
"per_page": 30,
"coupons": [
{
"id": 47370,
"name": "B - Student 5% Off",
"display_name": "B - Student 5% Off",
"kind": "discount",
"amount": 500,
"coupon_type": "percent",
"applies_to": "order",
"auto_apply": false,
"customer_type": ""
}
]
}
POST
/api/{token}/v1/incoming_orders
Create an incoming order
Request Body
{
"incoming_order": {
"order_type": "pickup",
"first_name": "John",
"last_name": "Doe",
"email": "test@posabit.com",
"telephone": "5551112222",
"address": "",
"city": "",
"state_abbrev": "",
"zipcode": "",
"reference_no": "12345-86-123",
"notes": "Gets free lighter",
"requested_payment_method": "cash",
"source": "online_store",
"order_items_attributes": [
{
"product_parent_id": "Treehawk Farms - Wifi OG Pre-Roll 2pk (1g)",
"product_id": 808542,
"quantity": 2
}
]
}
}
Responses
| Status | Description |
|---|---|
| 400 | Bad Request |
| 422 | Invalid parameters |
| 500 | Internal Server Error |
Response Example
{
"code": 1,
"incoming_order": {
"id": 19800,
"aasm_state": "pending",
"reference_no": "12345-86-123",
"first_name": "John",
"last_name": "Doe",
"source": "online_store",
"order_type": "pickup",
"notes": "Gets free lighter",
"delivered_at": null,
"requested_date": null,
"requested_window_start_time": {},
"requested_window_end_time": {},
"requested_payment_method": "cash",
"payment_verified": false,
"curbside": false,
"created_at": "2024-10-03T19:12:19.000Z",
"updated_at": "2024-10-03T19:12:19.000Z"
},
"order_items": [
{
"item_id": 32744,
"product_id": 808542,
"sku_id": 115866,
"manifest_item_id": null,
"product_name": "Treehawk Farms - Wifi OG Pre-Roll 2pk (1g)",
"product_brand": "Treehawk Farms",
"product_strain": "Wifi OG",
"weight": null,
"quantity": 2,
"unit_quantity": "2.0",
"price": 1000,
"discount": null,
"tax": null,
"tier_weight_id": null,
"coupons": [],
"taxes": [],
"created_at": "2024-10-03T19:12:19.000Z",
"updated_at": "2024-10-03T19:12:19.000Z"
}
]
}
GET
/api/{token}/v1/incoming_orders/{id}
Find an incoming order
Parameters
| Name | Type | In | Required | Description |
|---|---|---|---|---|
id
|
integer | path | Yes |
Responses
| Status | Description |
|---|---|
| 200 | Success |
| 404 | Requested reference number or id not found |
| 422 | Invalid parameters |
| 500 | Internal Server Error |
Response Example
{
"code": 1,
"incoming_order": {
"id": 19798,
"aasm_state": "processing",
"reference_no": "3221-1727814981-bb1314bf",
"first_name": "A",
"last_name": "A",
"source": "posabit_v2",
"order_type": "pickup",
"notes": null,
"delivered_at": null,
"requested_date": null,
"requested_window_start_time": {},
"requested_window_end_time": {},
"requested_payment_method": "cash",
"payment_verified": false,
"curbside": false,
"created_at": "2024-10-01T20:39:23.000Z",
"updated_at": "2024-10-01T20:41:19.000Z"
},
"order_items": [
{
"item_id": 32713,
"product_id": 800583,
"sku_id": 107907,
"manifest_item_id": null,
"product_name": "'oh' McDonald Farms - Nuken (1g)",
"product_brand": "'oh' McDonald Farms",
"product_strain": "Nuken",
"weight": "1.1g",
"quantity": 1,
"unit_quantity": "1.1",
"price": 1500,
"discount": 0,
"tax": 473,
"tier_weight_id": null,
"coupons": [],
"taxes": [],
"created_at": "2024-10-01T20:36:21.000Z",
"updated_at": "2024-10-01T20:36:21.000Z"
}
]
}
PUT
/api/{token}/v1/incoming_quotes/{id}/finalize
Finalize an incoming quote. Submits an Order.
Parameters
| Name | Type | In | Required | Description |
|---|---|---|---|---|
id
|
integer | path | Yes |
Responses
| Status | Description |
|---|---|
| 200 | Success |
| 204 | Record not found |
| 400 | Bad Request |
POST
/api/{token}/v1/incoming_quotes
Create an incoming quote
Request Body
{
"quote": {
"incoming_order_id": null,
"venue_id": 3221,
"fulfillment": {
"source": "posabit_v2",
"order_type": "pickup",
"requested_date": null,
"requested_window_start_time": null,
"requested_window_end_time": null,
"tip_amount": 0,
"tip_type": null,
"processing_fee": 300,
"tip_calculated": 0,
"delivery_address": {
"address": "",
"city": "",
"state_abbrev": "",
"zipcode": ""
}
},
"customer": {
"first_name": "Jane",
"last_name": "Doe",
"email": "test@posabit.com",
"telephone": "5551112222",
"customer_type": "recreational"
},
"payment": {
"requested_payment_method": "cash"
},
"items": [
{
"sku_id": 107907,
"quantity": 1,
"product_id": 800583,
"name": "'oh' McDonald Farms - Nuken (1g)",
"unit_type": "g",
"unit": "1.1",
"variant_id": "k107907",
"quantity_on_hand": 30,
"test_results": {
"thc": {
"current": 4.2,
"low": 4.2,
"high": 4.2,
"unit_type": "%"
},
"cbd": {
"current": 10,
"low": 10,
"high": 10,
"unit_type": "%"
},
"thca": null,
"cbda": null,
"total_thc": {
"current": 4.2,
"low": 4.2,
"high": 4.2,
"unit_type": "%"
},
"total_cbd": null,
"thcv": null,
"cbdv": null,
"cbc": null,
"cbca": null,
"cbcv": null,
"cbn": null,
"cbg": null,
"cbga": null,
"cbgv": null
},
"terpene_results": [],
"product_image": {
"is_product_specific_image": true,
"lg": "https://pbit-staging.s3.amazonaws.com/images/image/210/large_image.jpg",
"md": "https://pbit-staging.s3.amazonaws.com/images/image/210/medium_image.jpg"
},
"discount": 0,
"price": 1500,
"discount_ids": []
}
]
}
}
Responses
| Status | Description |
|---|---|
| 400 | Bad Request |
| 422 | Invalid parameters |
| 500 | Internal Server Error |
Response Example
{
"code": 1,
"quote": {
"reference_no": "3221-1727982977-3f59c5f1",
"incoming_order_id": null,
"venue_id": 3221,
"fulfillment": {
"source": "posabit_v2",
"order_type": "pickup",
"requested_date": null,
"requested_window_start_time": null,
"requested_window_end_time": null,
"tip_amount": 0,
"tip_type": null,
"processing_fee": 300,
"tip_calculated": 0,
"delivery_address": {
"address": "",
"city": "",
"state_abbrev": "",
"zipcode": ""
}
},
"customer": {
"first_name": "Jane",
"last_name": "Doe",
"email": "test@posabit.com",
"telephone": "5551112222",
"customer_type": "recreational"
},
"payment": {
"requested_payment_method": "cash"
},
"items": [
{
"sku_id": 107907,
"quantity": 1,
"product_id": 800583,
"name": "'oh' McDonald Farms - Nuken (1g)",
"unit_type": "g",
"unit": "1.1",
"variant_id": "k107907",
"quantity_on_hand": 30,
"test_results": {
"thc": {
"current": 4.2,
"low": 4.2,
"high": 4.2,
"unit_type": "%"
},
"cbd": {
"current": 10,
"low": 10,
"high": 10,
"unit_type": "%"
},
"thca": null,
"cbda": null,
"total_thc": {
"current": 4.2,
"low": 4.2,
"high": 4.2,
"unit_type": "%"
},
"total_cbd": null,
"thcv": null,
"cbdv": null,
"cbc": null,
"cbca": null,
"cbcv": null,
"cbn": null,
"cbg": null,
"cbga": null,
"cbgv": null
},
"terpene_results": [],
"product_image": {
"is_product_specific_image": true,
"lg": "https://pbit-staging.s3.amazonaws.com/images/image/210/large_image.jpg",
"md": "https://pbit-staging.s3.amazonaws.com/images/image/210/medium_image.jpg"
},
"discount": 0,
"price": 1500,
"discount_ids": []
}
],
"taxes": [
{
"tax_id": 4286,
"name": "Bellingham, WA",
"price_included": true,
"amount": 93,
"tax_rate": "9.0"
},
{
"tax_id": 4285,
"name": "Cannabis Tax",
"price_included": true,
"amount": 380,
"tax_rate": "37.0"
}
],
"totals": {
"discount_ids": [],
"subtotal": 1500,
"discount": 0,
"tax": 473,
"total": 1500
},
"limits": {
"exceeded_limits": [],
"sum_per_limit": {
"recreational_flower": 1.1
}
}
}
}
GET
/api/{token}/v1/incoming_quotes/{id}
Find an incoming quote
Parameters
| Name | Type | In | Required | Description |
|---|---|---|---|---|
id
|
integer | path | Yes |
Responses
| Status | Description |
|---|---|
| 200 | Success |
| 404 | Requested reference number or id not found |
| 422 | Invalid parameters |
| 500 | Internal Server Error |
Response Example
{
"code": 1,
"quote": {
"reference_no": "3221-1727814981-bb1314bf",
"incoming_order_id": null,
"venue_id": 3221,
"fulfillment": {
"source": "posabit_v2",
"order_type": "pickup",
"requested_date": null,
"requested_window_start_time": null,
"requested_window_end_time": null,
"tip_amount": 0,
"tip_type": null,
"processing_fee": 300,
"tip_calculated": 0,
"delivery_address": {
"address": "",
"city": "",
"state_abbrev": "",
"zipcode": ""
}
},
"customer": {
"first_name": "Jane",
"last_name": "Doe",
"email": "test@posabit.com",
"telephone": "5551111111",
"customer_type": "recreational"
},
"payment": {
"requested_payment_method": "cash"
},
"items": [
{
"sku_id": 107907,
"quantity": 1,
"product_id": 800583,
"name": "'oh' McDonald Farms - Nuken (1g)",
"unit_type": "g",
"unit": "1.1",
"variant_id": "k107907",
"quantity_on_hand": 30,
"test_results": {
"thc": {
"current": 4.2,
"low": 4.2,
"high": 4.2,
"unit_type": "%"
},
"cbd": {
"current": 10,
"low": 10,
"high": 10,
"unit_type": "%"
},
"thca": null,
"cbda": null,
"total_thc": {
"current": 4.2,
"low": 4.2,
"high": 4.2,
"unit_type": "%"
},
"total_cbd": null,
"thcv": null,
"cbdv": null,
"cbc": null,
"cbca": null,
"cbcv": null,
"cbn": null,
"cbg": null,
"cbga": null,
"cbgv": null
},
"terpene_results": [],
"product_image": {
"is_product_specific_image": true,
"lg": "https://pbit-staging.s3.amazonaws.com/images/image/210/large_image.jpg",
"md": "https://pbit-staging.s3.amazonaws.com/images/image/210/medium_image.jpg"
},
"discount": 0,
"price": 1500,
"discount_ids": []
}
],
"taxes": [],
"totals": {
"discount_ids": [],
"subtotal": 1500,
"discount": 0,
"tax": 473,
"total": 1500
},
"limits": {
"exceeded_limits": [],
"sum_per_limit": {
"recreational_flower": 1.1
}
}
}
}
PATCH
/api/{token}/v1/incoming_quotes/{id}
["Update an incoming quote", "Update an incoming quote items"]
Parameters
| Name | Type | In | Required | Description |
|---|---|---|---|---|
id
|
integer | path | Yes | |
id
|
integer | path | Yes |
Responses
| Status | Description |
|---|---|
| 200 | Success |
| 204 | Record not found |
| 400 | Bad Request |
| 200 | Success |
| 204 | Record not found |
| 400 | Bad Request |
GET
/api/v1/venue/employees
Get all users for a venue
Parameters
| Name | Type | In | Required | Description |
|---|---|---|---|---|
Authorization
|
string | header | Yes | Bearer --Authentication token-- |
page
|
integer | query | No | Page Number |
per_page
|
integer | query | No | Results per page (default 1000) |
q[updated_at_gt]
|
datestring | query | No | Limit results using ransack syntax (e.g. q[updated_at_gt]='2019-07-01' would return employees updated since 2019-07-01) |
Responses
| Status | Description |
|---|---|
| 200 | Success |
| 401 | Unauthorized |
GET
/api/v1/venue/customers
Get all customers for a venue
Parameters
| Name | Type | In | Required | Description |
|---|---|---|---|---|
Authorization
|
string | header | Yes | Bearer --Authentication token-- |
page
|
integer | query | No | Page Number |
per_page
|
integer | query | No | Results per page (default 1000) |
q[updated_at_gt]
|
datestring | query | No | Filter results using ransack syntax (e.g. q[updated_at_gt]='2019-07-01' would return employees updated since 2019-07-01) |
Responses
| Status | Description |
|---|---|
| 200 | Success |
| 401 | Unauthorized |
GET
/api/v1/venue/inventories
Get all inventories for a venue
Parameters
| Name | Type | In | Required | Description |
|---|---|---|---|---|
Authorization
|
string | header | Yes | Bearer --Authentication token-- |
page
|
integer | query | No | Page Number |
per_page
|
integer | query | No | Results per page (default 1000) |
q[updated_at_gt]
|
datestring | query | No | Limit results using ransack syntax (e.g. q[updated_at_gt]='2019-07-01' would return employees updated since 2019-07-01) |
Responses
| Status | Description |
|---|---|
| 200 | Success |
| 401 | Unauthorized |
GET
/api/v1/venue/manifest_items
Get all manifest items for a venue
Parameters
| Name | Type | In | Required | Description |
|---|---|---|---|---|
Authorization
|
string | header | Yes | Bearer --Authentication token-- |
page
|
integer | query | No | Page Number |
per_page
|
integer | query | No | Results per page (default 1000) |
q[updated_at_gt]
|
datestring | query | No | Limit results using ransack syntax (e.g. q[updated_at_gt]='2019-07-01' would return employees updated since 2019-07-01) |
Responses
| Status | Description |
|---|---|
| 200 | Success |
| 401 | Unauthorized |
GET
/api/v1/venue/sales_histories
Get all sales histories for a venue
Parameters
| Name | Type | In | Required | Description |
|---|---|---|---|---|
Authorization
|
string | header | Yes | Bearer --Authentication token-- |
page
|
integer | query | No | Page Number |
per_page
|
integer | query | No | Results per page (default 1000) |
q[updated_at_gt]
|
datestring | query | No | Limit results using ransack syntax (e.g. q[updated_at_gt]='2019-07-01' would return employees updated since 2019-07-01) |
Responses
| Status | Description |
|---|---|
| 200 | Success |
| 401 | Unauthorized |