Venue API V3

GET /api/v3/menu_feeds/{menu_feed_id}/options

Show a Menu Feed Configuration

Parameters

Name Type In Required Description
menu_feed_id integer path Yes Feed Key

Responses

Status Description
200 Success
400 Bad Request
422 Invalid parameters
500 Internal Server Error
GET /api/v3/menu_feeds/{id}

Show a Menu Feed

Parameters

Name Type In Required Description
id integer path Yes Feed Key

Responses

Status Description
200 Success
400 Bad Request
422 Invalid parameters
500 Internal Server Error
POST /api/v3/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/v3/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/v3/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/v3/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/v3/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/v3/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/v3/venue/info

Venue Info

Responses

Status Description
200 Success
400 Bad Request
422 Invalid parameters
500 Internal Server Error

Response Example

{
  "name": "The Bong Marché",
  "license": "413813",
  "region": "Washington State",
  "locale": "en-US",
  "vertical": "dispensaries",
  "logo_thumb": "https://pbit-staging.s3.amazonaws.com/logos/Venue/thumb_3221_logo.png",
  "logo_medium": "https://pbit-staging.s3.amazonaws.com/logos/Venue/medium_3221_logo.png",
  "telephone": "",
  "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": 3700,
      "tax_rate": "37.0",
      "price_included": true
    },
    {
      "id": 4286,
      "name": "Bellingham, WA",
      "rate": 900,
      "tax_rate": "9.0",
      "price_included": true
    }
  ],
  "payment_methods": [
    "Cash",
    "Debit Card",
    "Other"
  ],
  "venue_settings": {
    "online_order_curbside": "1",
    "online_order_delivery": "1"
  }
}
GET /api/v3/venue/coupons

Get all available coupons 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)

Responses

Status Description
200 Success
401 Unauthorized
GET /api/v3/venue/customers

Get all customers for a venue

Parameters

Name Type In Required Description
Authorization string header Yes Bearer (AuthToken)
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)
q[telephone_eq] string query No Filter results using ransack syntax (e.g. q[customer_telephone_eq]='8085550100' would return customers where telephone = 8085550100)

Responses

Status Description
200 Success (returns an array of customers)
401 Unauthorized
POST /api/v3/venue/customers

Create a Customer

Post JSON in body {"customer": {"first_name": "John"...}}

Parameters

Name Type In Required Description
Authorization string header Yes Bearer (AuthToken)
body customer body Yes JSON formatted body

Responses

Status Description
200 Success
204 Record not found
400 Bad Request
GET /api/v3/venue/customers/{id}

Read a customer

Parameters

Name Type In Required Description
Authorization string header Yes Bearer (AuthToken)
id integer path Yes Customer ID

Responses

Status Description
200 Success
400 Bad Request
422 Invalid parameters
500 Internal Server Error
PATCH /api/v3/venue/customers/{id}

Update a Customer

Patch JSON in body {"customer": {"first_name": "John"...}}

Parameters

Name Type In Required Description
Authorization string header Yes Bearer (AuthToken)
id integer path Yes Customer ID
body customer body Yes JSON formatted body

Responses

Status Description
200 Success
204 Record not found
400 Bad Request
GET /api/v3/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/v3/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/v3/venue/manifests

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/v3/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
GET /api/v3/venue/sales_histories/{id}

Get a sales history for a venue

Parameters

Name Type In Required Description
Authorization string header Yes Bearer --Authentication token--
id integer path Yes Sales History ID

Responses

Status Description
200 Success
401 Unauthorized
GET /api/v3/venue/terminal_tills

Get all terminal tills 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/v3/venue/users

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