TableCheck API Ruby Gem
A Ruby wrapper for the TableCheck POS v1 API.
Installation
Add this line to your application's Gemfile:
gem 'table_check_api'
And then execute:
$ bundle install
Configuration
Run the generator to create the initializer:
$ rails generate table_check_api:install
Configure it in config/initializers/table_check_api.rb:
TableCheckApi.configure do |config|
config.base_url = 'https://api.tablecheck.com/api'
config.key = 'your_api_key_here'
end
Usage
List shops
response = TableCheckApi::Pos::V1::Shop.list
shops = response.shops
puts shops.first['id']
List tables for a shop
response = TableCheckApi::Pos::V1::Table.list('shop_123')
tables = response.tables
puts tables.first['name']
Get table status
request = TableCheckApi::Pos::V1::Table::StatusRequest.new(
table_id: 'ae5355ca1fd337ed5d6893e2',
time: '2020-01-29T19:00:00Z'
)
response = TableCheckApi::Pos::V1::Table.status('shop_123', request)
status = response.table_status
puts status['status']
Create POS journal
request = TableCheckApi::Pos::V1::PosJournals::CreateRequest.new(
batch_date: '2020-01-01',
country: 'JP',
currency: 'JPY',
receipt_num: 'string',
pos_orders: [
{
id: 'order_1',
menu_category_name: 'Appetizer',
menu_item_name: 'Chicken Soup',
qty: 1,
unit_price: '1000'
}
]
)
response = TableCheckApi::Pos::V1::PosJournals.create('shop_123', request)
pos_journal = response.pos_journal
puts pos_journal['id']
Update POS journal
request = TableCheckApi::Pos::V1::PosJournals::UpdateRequest.new(
receipt_num: 'string',
pos_payments: [
{
id: 'payment_1',
amt: '2000'
}
]
)
response = TableCheckApi::Pos::V1::PosJournals.update('shop_123', 1, request)
pos_journal = response.pos_journal
Delete POS journal
response = TableCheckApi::Pos::V1::PosJournals.delete('shop_123', 1)
puts response.body['status']
Void POS journal
request = TableCheckApi::Pos::V1::PosJournals::VoidRequest.new(
receipt_num: '12345',
void_reason: 'customer_cancellation',
voided_at: '2026-01-29T19:30:00Z'
)
response = TableCheckApi::Pos::V1::PosJournals.void('shop_123', request)
pos_journal = response.pos_journal
Documentation
See the AGENT.md for detailed architecture, endpoints, and usage examples.