This documentation aims to provide all the information you need to work with our API.
About API endpoint URL
The endpoint URL is https://api.icafecloud.com
To authenticate requests, include an Authorization header with the value "Bearer {YOUR_AUTH_KEY}".
All authenticated endpoints are marked with a requires authentication badge in the documentation below.
You can retrieve your token by visiting your dashboard and clicking Settings -> API settings -> Create, Generate API token (We only support one API token).
Cafe ID.
curl --request PUT \
"https://api.icafecloud.com/api/v2/cafe//configs/centerSettings" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--data "{
\"timezone\": null
}"
Cafe ID.
curl --request PUT \
"https://api.icafecloud.com/api/v2/cafe//configs/clientSettings" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--data "{
\"cafe_info_kiosk_bg\": \"ixkolowyuffszfr\"
}"
Cafe ID.
curl --request PUT \
"https://api.icafecloud.com/api/v2/cafe//configs/gameSettings" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
Cafe ID.
curl --request PUT \
"https://api.icafecloud.com/api/v2/cafe//configs/loyaltySettings" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
Cafe ID.
curl --request PUT \
"https://api.icafecloud.com/api/v2/cafe//configs/memberSettings" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" Cafe ID.
curl --request PUT \
"https://api.icafecloud.com/api/v2/cafe//configs/protectionSettings" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" Cafe ID.
IPs.
curl --request POST \
"https://api.icafecloud.com/api/v2/cafe//configs/action/generateApiKey" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--data "{
\"api_key_ips\": \"culpa\"
}"
Cafe ID.
curl --request POST \
"https://api.icafecloud.com/api/v2/cafe//configs/action/gamesButtonStatusSet" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--data "{
\"show_enable_games\": 12,
\"show_disabled_games\": 12,
\"show_games_icon_view\": 12
}"
Cafe ID.
curl --request POST \
"https://api.icafecloud.com/api/v2/cafe//configs/action/gamesSettingsSet" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--data "{
\"game_auto_launch_delay\": [
{
\"delay\": 52
}
]
}"
Cafe ID.
curl --request PUT \
"https://api.icafecloud.com/api/v2/cafe//configs/smsProviderSettings" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
Cafe ID.
curl --request GET \
--get "https://api.icafecloud.com/api/v2/cafe//configs" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" cache-control
: no-cache, private
content-type
: application/json
access-control-allow-origin
: *
{
"code": 404,
"message": "Url not match"
}
Cafe ID.
curl --request GET \
--get "https://api.icafecloud.com/api/v2/cafe//configs/action/centerLogo" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" cache-control
: no-cache, private
content-type
: application/json
access-control-allow-origin
: *
{
"code": 404,
"message": "Url not match"
}
Cafe ID.
curl --request GET \
--get "https://api.icafecloud.com/api/v2/cafe//configs/action/gamesButtonStatusGet" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" cache-control
: no-cache, private
content-type
: application/json
access-control-allow-origin
: *
{
"code": 404,
"message": "Url not match"
}
Cafe ID.
curl --request GET \
--get "https://api.icafecloud.com/api/v2/cafe//configs/action/gamesSettingsGet" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" cache-control
: no-cache, private
content-type
: application/json
access-control-allow-origin
: *
{
"code": 404,
"message": "Url not match"
}
Cafe ID.
curl --request GET \
--get "https://api.icafecloud.com/api/v2/cafe//configs/action/taxInfo" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" cache-control
: no-cache, private
content-type
: application/json
access-control-allow-origin
: *
{
"code": 404,
"message": "Url not match"
}
Cafe ID.
curl --request GET \
--get "https://api.icafecloud.com/api/v2/cafe//configs/action/vncServerCode" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" cache-control
: no-cache, private
content-type
: application/json
access-control-allow-origin
: *
{
"code": 404,
"message": "Url not match"
}
Cafe ID.
curl --request PUT \
"https://api.icafecloud.com/api/v2/cafe//configs/reportSettings" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
Cafe ID.
curl --request PUT \
"https://api.icafecloud.com/api/v2/cafe//configs/timeSettings" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
Cafe ID.
curl --request GET \
--get "https://api.icafecloud.com/api/v2/cafe//configs/action/downloadSteamScript" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--data "{
\"steam_update_account\": null,
\"steam_update_password\": null,
\"steam_update_email_imap_ssl_server\": null,
\"steam_update_email_account\": null,
\"steam_update_email_password\": null
}"
cache-control
: no-cache, private
content-type
: application/json
access-control-allow-origin
: *
{
"code": 404,
"message": "Url not match"
}
Cafe ID.
curl --request PUT \
"https://api.icafecloud.com/api/v2/cafe//configs/posSettings" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" Cafe ID.
curl --request PUT \
"https://api.icafecloud.com/api/v2/cafe//configs/storeSettings" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" Cafe ID.
curl --request PUT \
"https://api.icafecloud.com/api/v2/cafe//configs/clientPrintSettings" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" Cafe ID.
Cinfig key.
curl --request GET \
--get "https://api.icafecloud.com/api/v2/cafe//configs/action/image/" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" cache-control
: no-cache, private
content-type
: application/json
access-control-allow-origin
: *
{
"code": 404,
"message": "Url not match"
}
Cafe ID.
curl --request GET \
--get "https://api.icafecloud.com/api/v2/cafe//configs/action/subLicenses" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" cache-control
: no-cache, private
content-type
: application/json
access-control-allow-origin
: *
{
"code": 404,
"message": "Url not match"
}
Cafe ID.
Image name.
curl --request GET \
--get "https://api.icafecloud.com/api/v2/cafe//configs/action/clientBgImage?name=iCafeBackground1.jpg" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--data "{
\"name\": \"culpa\"
}"
cache-control
: no-cache, private
content-type
: application/json
access-control-allow-origin
: *
{
"code": 404,
"message": "Url not match"
}
Cafe ID.
Cinfig key.
curl --request GET \
--get "https://api.icafecloud.com/api/v2/cafe//memberNewsConfigImage/" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" cache-control
: no-cache, private
content-type
: application/json
access-control-allow-origin
: *
{
"code": 404,
"message": "Url not match"
}
Cafe ID.
curl --request GET \
--get "https://api.icafecloud.com/api/v2/cafe//pcs/action/member_rooms" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" {
"code": 200,
"message": "success",
"data": [
{
"area_icafe_id": 7777,
"area_name": "VIP",
"area_index": 0,
"area_frame_x": 20,
"area_frame_y": 50,
"area_frame_width": 560,
"area_frame_height": 440,
"area_allow_booking": 1
}
]
}
Cafe ID.
curl --request PUT \
"https://api.icafecloud.com/api/v2/cafe//pcs" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--data "{
\"pcs\": null,
\"edit_pc_name\": null,
\"edit_pc_group_id\": 1,
\"edit_pc_console_type\": 1
}"
{
"code": 200,
"message": "success",
"data": {
"pcs": [
{
"pc_icafe_id": 7777,
"pc_ip": "192.168.1.140",
"pc_name": "compuspler",
"pc_mac": "5A-9A-9B-26-DD-C4",
"pc_comment": "",
"pc_console_type": 0,
"pc_group_id": 0,
"pc_area_name": "VIP",
"pc_box_position": "absolute",
"pc_box_top": 300,
"pc_box_left": 240,
"pc_enabled": 1,
"recent_booking": null,
"pc_group_name": null,
"status_connect_time_local": "2025-03-10 00:26:40",
"status_disconnect_time_local": "2025-03-10 02:26:40",
"status_connect_time_duration": "187:10:01",
"status_connect_time_left": "-185:10:01",
"status_pay_by_member_id": 0,
"member_id": 57843940664,
"member_icafe_id": 7777,
"member_account": "K93B83",
"member_balance": "2.00",
"member_balance_bonus": "0.00",
"member_group_id": -2,
"member_group_name": null,
"member_group_desc": null,
"member_group_discount_rate": null,
"offer_in_using": null,
"price_name": "Default",
"status_total_time": "-185:10:01"
}
]
}
}
Cafe ID.
curl --request DELETE \
"https://api.icafecloud.com/api/v2/cafe//pcs" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--data "{
\"pcs\": null
}"
Cafe ID.
curl --request POST \
"https://api.icafecloud.com/api/v2/cafe//pcs/action/multiPcInfo" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--data "{
\"pcs\": null
}"
Toggle the enabled/disabled (out of order) status for one or more PCs.
The ID of the cafe.
curl --request POST \
"https://api.icafecloud.com/api/v2/cafe//pcs/action/setOutOfOrder" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--data "{
\"pcs\": [
{
\"pc_name\": null,
\"pc_enabled\": null
}
]
}"
Cafe ID.
PC name.
Console type(1-Other,2-Xbox,3-PS3,4-PS4,5-PS5,6-Will).
curl --request GET \
--get "https://api.icafecloud.com/api/v2/cafe//pcs/action/getPcsList?pc_name=&pc_console_type=" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--data "{
\"pc_name\": \"culpa\",
\"pc_console_type\": 12
}"
cache-control
: no-cache, private
content-type
: application/json
access-control-allow-origin
: *
{
"code": 404,
"message": "Url not match"
}
Cafe ID.
curl --request POST \
"https://api.icafecloud.com/api/v2/cafe//pcs/action/savePcLayout" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--data "{
\"room_list\": \"[{\\\"area_frame_x\\\":20,\\\"area_frame_y\\\":50,\\\"area_frame_width\\\":560,\\\"area_frame_height\\\":440,\\\"area_name\\\":\\\"VIP\\\",\\\"area_allow_booking\\\":1}]\",
\"pc_list\": \"[{\\\"pc_name\\\":\\\"C01-1\\\",\\\"pc_area_name\\\":\\\"VIP\\\",\\\"pc_box_position\\\":\\\"absolute\\\",\\\"pc_box_top\\\":300,\\\"pc_box_left\\\":96}]\"
}"
Cafe ID.
curl --request GET \
--get "https://api.icafecloud.com/api/v2/cafe//pcs/action/rooms" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" {
"code": 200,
"message": "success",
"data": [
{
"area_icafe_id": 7777,
"area_name": "VIP",
"area_index": 0,
"area_frame_x": 20,
"area_frame_y": 50,
"area_frame_width": 560,
"area_frame_height": 440,
"area_allow_booking": 1
}
]
}
Cafe ID.
PC name.
curl --request GET \
--get "https://api.icafecloud.com/api/v2/cafe//pcs/action/consoleDetail?pc_name=" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" cache-control
: no-cache, private
content-type
: application/json
access-control-allow-origin
: *
{
"code": 404,
"message": "Url not match"
}
Returns PCs for the cafe and all sub-cafes in the same company group, each with live session status. Times are in each cafe's local timezone.
Cafe ID.
curl --request GET \
--get "https://api.icafecloud.com/api/v2/cafe//pcs/action/member_pcs" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" {
"code": 200,
"message": "success",
"data": [
{
"pc_icafe_id": 7777,
"pc_ip": "",
"pc_name": "C01-1",
"pc_mac": "",
"pc_comment": "A",
"pc_console_type": 6,
"pc_group_id": 0,
"pc_area_name": "VIP",
"pc_box_position": "absolute",
"pc_box_top": 300,
"pc_box_left": 144,
"pc_enabled": 1,
"pc_in_using": 1,
"status_member_id": 1234,
"status_member_account": "ABCD",
"status_member_offer_id": 0,
"status_pay_by_member_id": 0,
"status_connect_time_local": "2024-01-01 10:00:00",
"status_disconnect_time_local": "2024-01-01 12:00:00",
"status_connect_time_duration": "02:00:00",
"status_connect_time_left": "-00:30:00"
}
]
}
Returns PCs for the cafe and all sub-cafes in the same company group, each with live session status. Times are in each cafe's local timezone.
Cafe ID.
curl --request GET \
--get "https://api.icafecloud.com/api/v2/cafe//pcs" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" {
"code": 200,
"message": "success",
"data": [
{
"pc_icafe_id": 7777,
"pc_ip": "",
"pc_name": "C01-1",
"pc_mac": "",
"pc_comment": "A",
"pc_console_type": 6,
"pc_group_id": 0,
"pc_area_name": "VIP",
"pc_box_position": "absolute",
"pc_box_top": 300,
"pc_box_left": 144,
"pc_enabled": 1,
"pc_in_using": 1,
"status_member_id": 1234,
"status_member_account": "ABCD",
"status_member_offer_id": 0,
"status_pay_by_member_id": 0,
"status_connect_time_local": "2024-01-01 10:00:00",
"status_disconnect_time_local": "2024-01-01 12:00:00",
"status_connect_time_duration": "02:00:00",
"status_connect_time_left": "-00:30:00"
}
]
}
Cafe ID.
curl --request POST \
"https://api.icafecloud.com/api/v2/cafe//pcs" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--data "{
\"pc_name\": null,
\"pc_console_type\": 1,
\"pc_group_id\": 1
}"
{
"code": 200,
"message": "success",
"data": {
"pcs": [
{
"pc_icafe_id": 7777,
"pc_ip": "192.168.1.140",
"pc_name": "compuspler",
"pc_mac": "5A-9A-9B-26-DD-C4",
"pc_comment": "",
"pc_console_type": 0,
"pc_group_id": 0,
"pc_area_name": "VIP",
"pc_box_position": "absolute",
"pc_box_top": 300,
"pc_box_left": 240,
"pc_enabled": 1,
"recent_booking": null,
"pc_group_name": null,
"status_connect_time_local": "2025-03-10 00:26:40",
"status_disconnect_time_local": "2025-03-10 02:26:40",
"status_connect_time_duration": "187:10:01",
"status_connect_time_left": "-185:10:01",
"status_pay_by_member_id": 0,
"member_id": 57843940664,
"member_icafe_id": 7777,
"member_account": "K93B83",
"member_balance": "2.00",
"member_balance_bonus": "0.00",
"member_group_id": -2,
"member_group_name": null,
"member_group_desc": null,
"member_group_discount_rate": null,
"offer_in_using": null,
"price_name": "Default",
"status_total_time": "-185:10:01"
}
]
}
}
Cafe ID.
curl --request GET \
--get "https://api.icafecloud.com/api/v2/cafe//pcList" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" cache-control
: no-cache, private
content-type
: application/json
access-control-allow-origin
: *
{
"code": 404,
"message": "Url not match"
}
Cafe ID.
curl --request GET \
--get "https://api.icafecloud.com/api/v2/cafe//onlinePcList" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" cache-control
: no-cache, private
content-type
: application/json
access-control-allow-origin
: *
{
"code": 404,
"message": "Url not match"
}
Lock or unlock login access for one or more PCs (pc_enabled = 2 = locked, 1 = normal). Maintenance (pc_enabled = 0) takes precedence and is not affected by this endpoint.
The ID of the cafe.
curl --request POST \
"https://api.icafecloud.com/api/v2/cafe//pcs/action/setLoginLock" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--data "{
\"pcs\": [
{
\"pc_name\": null,
\"locked\": null
}
]
}"
curl --request POST \
"https://api.icafecloud.com/api/v2/cafe/culpa/pcs/action/generateTVPin" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--data "{
\"tv_pc_name\": null
}"
{
"code": 200,
"message": "success",
"data": {
"pin": "1234"
}
}
Cafe ID.
curl --request GET \
--get "https://api.icafecloud.com/api/v2/cafe//pcs/action/layoutScreen" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" {
"code": 200,
"message": "success",
"data": {
"rooms": {},
"pc_list": "",
"credentials": {}
}
}
Cafe ID.
curl --request GET \
--get "https://api.icafecloud.com/api/v2/cafe//pcs/action/pcList" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" cache-control
: no-cache, private
content-type
: application/json
access-control-allow-origin
: *
{
"code": 404,
"message": "Url not match"
}
Cafe ID.
curl --request GET \
--get "https://api.icafecloud.com/api/v2/cafe//bootHardwareProfiles" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" cache-control
: no-cache, private
content-type
: application/json
access-control-allow-origin
: *
{
"code": 404,
"message": "Url not match"
}
Cafe ID.
Hardware ID.
Description.
curl --request POST \
"https://api.icafecloud.com/api/v2/cafe//bootHardwareProfiles" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--data "{
\"hardware_id\": \"culpa\",
\"hardware_desc\": \"culpa\"
}"
Cafe ID.
ID.
curl --request DELETE \
"https://api.icafecloud.com/api/v2/cafe//bootHardwareProfiles/" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" Cafe ID.
Product group ID.
Search text.
Sort by name.
Sort(options:desc,asc).
Page number.
curl --request GET \
--get "https://api.icafecloud.com/api/v2/cafe//products?sort=desc&page=1" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" cache-control
: no-cache, private
content-type
: application/json
access-control-allow-origin
: *
{
"code": 404,
"message": "Url not match"
}
Cafe ID.
Product ID.
curl --request GET \
--get "https://api.icafecloud.com/api/v2/cafe//products/" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" cache-control
: no-cache, private
content-type
: application/json
access-control-allow-origin
: *
{
"code": 404,
"message": "Url not match"
}
Cafe ID.
curl --request POST \
"https://api.icafecloud.com/api/v2/cafe//products" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--data "{
\"product_name\": null,
\"product_group_id\": null,
\"product_show_weekday\": \"7|1|2|3|4|5|6|\",
\"product_show_time\": \"00:00-24:00\",
\"product_adult_only\": 0,
\"product_kitchen_staff_id\": 12
}"
Cafe ID.
Product ID.
curl --request PUT \
"https://api.icafecloud.com/api/v2/cafe//products/" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--data "{
\"product_name\": null,
\"product_group_id\": null,
\"product_show_weekday\": \"7|1|2|3|4|5|6|\",
\"product_show_time\": \"00:00-24:00\",
\"product_adult_only\": 0,
\"product_kitchen_staff_id\": 12
}"
Cafe ID.
Product ID.
curl --request DELETE \
"https://api.icafecloud.com/api/v2/cafe//products/" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" Cafe ID.
curl --request POST \
"https://api.icafecloud.com/api/v2/cafe//products/action/importProducts" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--data "{
\"license_name\": null,
\"license_password\": null
}"
Cafe ID.
Product ID.
curl --request DELETE \
"https://api.icafecloud.com/api/v2/cafe//products//productComboItem" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--data "{
\"product_source\": null,
\"product_id\": null
}"
Cafe ID.
Product ID.
curl --request POST \
"https://api.icafecloud.com/api/v2/cafe//products//restock?restock_count=culpa" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--data "{
\"restock_count\": null,
\"restock_cost\": null
}"
Cafe ID.
Product ID.
curl --request POST \
"https://api.icafecloud.com/api/v2/cafe//products//writeOff" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--data "{
\"count\": null,
\"comment\": null
}"
Cafe ID.
Cafe ID.
curl --request GET \
--get "https://api.icafecloud.com/api/v2/cafe//products/action/shiftStockLogs/" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" cache-control
: no-cache, private
content-type
: application/json
access-control-allow-origin
: *
{
"code": 404,
"message": "Url not match"
}
Cafe ID.
curl --request GET \
--get "https://api.icafecloud.com/api/v2/cafe//products/action/stockRealtime" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" cache-control
: no-cache, private
content-type
: application/json
access-control-allow-origin
: *
{
"code": 404,
"message": "Url not match"
}
Cafe ID.
Product ID.
curl --request POST \
"https://api.icafecloud.com/api/v2/cafe//products//restore" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" Cafe ID.
Product ID.
curl --request POST \
"https://api.icafecloud.com/api/v2/cafe//products//archive" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" Cafe ID.
curl --request GET \
--get "https://api.icafecloud.com/api/v2/cafe//products/action/exportTemplate" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" cache-control
: no-cache, private
content-type
: application/json
access-control-allow-origin
: *
{
"code": 404,
"message": "Url not match"
}
Cafe ID.
curl --request POST \
"https://api.icafecloud.com/api/v2/cafe//products/action/importProductsByCsv" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" Cafe ID.
curl --request GET \
--get "https://api.icafecloud.com/api/v2/cafe//memberShop" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" cache-control
: no-cache, private
content-type
: application/json
access-control-allow-origin
: *
{
"code": 404,
"message": "Url not match"
}
Cafe ID.
curl --request GET \
--get "https://api.icafecloud.com/api/v2/cafe//news" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" cache-control
: no-cache, private
content-type
: application/json
access-control-allow-origin
: *
{
"code": 404,
"message": "Url not match"
}
Cafe ID.
curl --request POST \
"https://api.icafecloud.com/api/v2/cafe//news" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--data "{
\"news_name\": null,
\"news_order\": null,
\"news_url\": null,
\"news_type\": null
}"
Cafe ID.
ID.
curl --request PUT \
"https://api.icafecloud.com/api/v2/cafe//news/" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--data "{
\"news_name\": null,
\"news_order\": null,
\"news_url\": null,
\"news_type\": null
}"
Cafe ID.
ID.
curl --request DELETE \
"https://api.icafecloud.com/api/v2/cafe//news/" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" Cafe ID.
curl --request GET \
--get "https://api.icafecloud.com/api/v2/cafe//memberNews" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" cache-control
: no-cache, private
content-type
: application/json
access-control-allow-origin
: *
{
"code": 404,
"message": "Url not match"
}
Cafe ID.
curl --request GET \
--get "https://api.icafecloud.com/api/v2/cafe//bootGamefixes" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" cache-control
: no-cache, private
content-type
: application/json
access-control-allow-origin
: *
{
"code": 404,
"message": "Url not match"
}
Cafe ID.
curl --request POST \
"https://api.icafecloud.com/api/v2/cafe//bootGamefixes" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--data "{
\"gamefix_name\": null,
\"gamefix_path\": null
}"
Cafe ID.
curl --request DELETE \
"https://api.icafecloud.com/api/v2/cafe//bootGamefixes" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--data "{
\"name\": null
}"
Cafe ID.
curl --request POST \
"https://api.icafecloud.com/api/v2/cafe//bootDisks" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--data "{
\"disk_drive\": null,
\"disk_type\": \"unused\",
\"disk_cache_ram_size_m\": 15,
\"disk_cache_ssd_size_m\": 0
}"
Cafe ID.
ID.
curl --request PUT \
"https://api.icafecloud.com/api/v2/cafe//bootDisks/" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--data "{
\"disk_drive\": null,
\"disk_type\": \"unused\",
\"disk_cache_ram_size_m\": 15,
\"disk_cache_ssd_size_m\": 0
}"
Cafe ID.
ID.
curl --request DELETE \
"https://api.icafecloud.com/api/v2/cafe//bootDisks/" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" Cafe ID.
curl --request GET \
--get "https://api.icafecloud.com/api/v2/cafe//bootDisks" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" {
"code": 200,
"message": "success",
"data": [
{
"disk_id": 8,
"disk_icafe_id": 7777,
"disk_drive": "U:",
"disk_type": "unused",
"disk_cache_ram_size_m": 0,
"disk_cache_ssd_size_m": 0,
"disk_drive_client": "",
"disk_user_group": -2
}
]
}
Cafe ID.
ID.
curl --request GET \
--get "https://api.icafecloud.com/api/v2/cafe//bootDisks/" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" {
"code": 200,
"message": "success",
"data": {
"info": {
"disk_id": 1,
"disk_icafe_id": 7777,
"disk_drive": "D:",
"disk_type": "game",
"disk_cache_ram_size_m": 15,
"disk_cache_ssd_size_m": 0,
"disk_drive_client": "",
"disk_user_group": 1731927
},
"group_list": [
{
"pc_group_icafe_id": 7777,
"pc_group_id": 1730280,
"pc_group_name": "Col1",
"pc_group_desc": "Col1"
}
]
}
}
Cafe ID.
curl --request POST \
"https://api.icafecloud.com/api/v2/cafe//bootGamefixes/action/refresh" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" Cafe ID.
curl --request GET \
--get "https://api.icafecloud.com/api/v2/cafe//promo" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" cache-control
: no-cache, private
content-type
: application/json
access-control-allow-origin
: *
{
"code": 404,
"message": "Url not match"
}
Cafe ID.
curl --request POST \
"https://api.icafecloud.com/api/v2/cafe//promo" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--data "{
\"promo_name\": null,
\"promo_qty\": null,
\"promo_bonus_type\": null,
\"promo_bonus_amount\": null,
\"promo_bonus_for\": null
}"
Cafe ID.
Promo ID.
curl --request PUT \
"https://api.icafecloud.com/api/v2/cafe//promo/" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--data "{
\"promo_name\": null,
\"promo_qty\": null,
\"promo_bonus_type\": null,
\"promo_bonus_amount\": null,
\"promo_bonus_for\": null
}"
Cafe ID.
Promo ID.
curl --request DELETE \
"https://api.icafecloud.com/api/v2/cafe//promo/" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" Cafe ID.
curl --request GET \
--get "https://api.icafecloud.com/api/v2/cafe//promo/init_all_refer_code" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" cache-control
: no-cache, private
content-type
: application/json
access-control-allow-origin
: *
{
"code": 404,
"message": "Url not match"
}
Cafe ID.
curl --request GET \
--get "https://api.icafecloud.com/api/v2/cafe//promoInfo" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--data "{
\"promo_code\": \"culpa\",
\"promo_bonus_for\": \"culpa\"
}"
cache-control
: no-cache, private
content-type
: application/json
access-control-allow-origin
: *
{
"code": 404,
"message": "Url not match"
}
Cafe ID.
curl --request POST \
"https://api.icafecloud.com/api/v2/cafe//pcSessions/paymentInfo" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--data "{
\"pcs\": null
}"
Cafe ID.
curl --request POST \
"https://api.icafecloud.com/api/v2/cafe//pcSessions/initAddTimeMoney" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--data "{
\"pcs\": null,
\"pc_add_value\": null,
\"pc_add_time_type\": null
}"
Cafe ID.
curl --request POST \
"https://api.icafecloud.com/api/v2/cafe//pcSessions/initOffer" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--data "{
\"pcs\": null
}"
Cafe ID.
curl --request POST \
"https://api.icafecloud.com/api/v2/cafe//pcSessions/addTimeMoney" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--data "{
\"pc_name\": null,
\"pc_cost\": null,
\"payment_method\": null
}"
Cafe ID.
curl --request POST \
"https://api.icafecloud.com/api/v2/cafe//pcSessions/memberSession" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--data "{
\"pc_name\": null,
\"member_account\": null,
\"member_offer_id\": 12
}"
Cafe ID.
curl --request POST \
"https://api.icafecloud.com/api/v2/cafe//pcSessions/postpaidSession" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--data "{
\"pcs\": null,
\"duration_hours\": 0,
\"duration_mins\": 65
}"
Cafe ID.
curl --request POST \
"https://api.icafecloud.com/api/v2/cafe//pcSessions/addOffer" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--data "{
\"pcs\": null,
\"offer_id\": null,
\"offer_payment_method\": null
}"
Cafe ID.
curl --request POST \
"https://api.icafecloud.com/api/v2/cafe//pcSessions/freeSession" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--data "{
\"pcs\": null,
\"duration_hours\": 52,
\"duration_mins\": 0
}"
Cafe ID.
curl --request POST \
"https://api.icafecloud.com/api/v2/cafe//pcSessions/checkout" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--data "{
\"pc_name\": null,
\"pc_group_id\": null,
\"member_id\": null,
\"member_account\": null,
\"member_group_id\": null,
\"pc_cost\": null,
\"pc_data_time\": null,
\"pc_data_sign\": null,
\"payment_method\": null,
\"auto\": null
}"
Cafe ID.
curl --request POST \
"https://api.icafecloud.com/api/v2/cafe//pcSessions/move" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--data "{
\"pc_name\": null,
\"move_to\": null
}"
Cafe ID.
curl --request POST \
"https://api.icafecloud.com/api/v2/cafe//pcSessions/adminMessage" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--data "{
\"pc_name\": null,
\"member_account\": null,
\"message\": null
}"
Cafe ID.
curl --request POST \
"https://api.icafecloud.com/api/v2/cafe//pcSessions/cashierExpense" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--data "{
\"balance\": null
}"
Cafe ID.
curl --request POST \
"https://api.icafecloud.com/api/v2/cafe//pcSessions/pushClientStatus" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
Cafe ID.
curl --request POST \
"https://api.icafecloud.com/api/v2/cafe//pcSessions/sendWssCommand" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--data "{
\"command\": null
}"
Cafe ID.
curl --request POST \
"https://api.icafecloud.com/api/v2/cafe//pcSessions/transferPayment" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--data "{
\"source_pc_name\": null,
\"target_pc_name\": null
}"
Guest / prepaid / offer accounts only - a registered member's balance is their own wallet, not this visit's prepayment, so it is deliberately out of scope.
Cafe ID.
curl --request POST \
"https://api.icafecloud.com/api/v2/cafe//pcSessions/transferTime" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--data "{
\"source_pc_name\": null,
\"target_pc_name\": null
}"
Cafe ID.
PC name.
curl --request GET \
--get "https://api.icafecloud.com/api/v2/cafe//pcSessions/devices?pc_name=" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--data "{
\"pc_name\": \"culpa\"
}"
cache-control
: no-cache, private
content-type
: application/json
access-control-allow-origin
: *
{
"code": 404,
"message": "Url not match"
}
Cafe ID.
curl --request POST \
"https://api.icafecloud.com/api/v2/cafe//pcSessions/addDevices" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--data "{
\"pc_name\": null,
\"item_name\": null
}"
Cafe ID.
curl --request POST \
"https://api.icafecloud.com/api/v2/cafe//pcSessions/returnDevice" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--data "{
\"pc_name\": null,
\"uid\": null
}"
Cafe ID.
curl --request GET \
--get "https://api.icafecloud.com/api/v2/cafe//pcSessions/usageHistory" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--data "{
\"pc_name\": null
}"
cache-control
: no-cache, private
content-type
: application/json
access-control-allow-origin
: *
{
"code": 404,
"message": "Url not match"
}
Cafe ID.
Member ID.
curl --request GET \
--get "https://api.icafecloud.com/api/v2/cafe//pcSessions//memberSessionHistory" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" cache-control
: no-cache, private
content-type
: application/json
access-control-allow-origin
: *
{
"code": 404,
"message": "Url not match"
}
Cafe ID.
curl --request GET \
--get "https://api.icafecloud.com/api/v2/cafe//bootPcs" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" {
"code": 200,
"message": "success",
"data": [
{
"bpc_id": 2,
"bpc_icafe_id": 7777,
"bpc_name": "PC131",
"bpc_enable": 1,
"bpc_name_auth": 0,
"bpc_ip": "192.168.17.131",
"bpc_ip_auth": 1,
"bpc_mac": "00:0C:29:1D:74:79",
"bpc_mac_auth": 1,
"bpc_password": "",
"bpc_password_auth": 0,
"bpc_groupid": 0,
"bpc_image1_id": 1101,
"bpc_image2_id": 0,
"bpc_write_back_keep": 0,
"bpc_diskless_boot_pxe": "ipxe.pxe",
"bpc_diskless_boot_gw": "",
"bpc_diskless_boot_dns1": "",
"bpc_diskless_boot_dns2": "",
"bpc_diskless_boot_hw": "",
"bpc_diskless_boot_server": "192.168.17.131",
"bpc_diskless_boot_display_enable": 0,
"bpc_diskless_boot_display": "",
"bpc_diskless_boot_client_cache_enable": 0,
"bpc_diskless_boot_client_cache": "0",
"bpc_diskless_boot_upload": 0,
"bpc_diskless_boot_client_cache_to_local": 0,
"bpc_personal_disk_enable": 0,
"bpc_personal_disk_path": "",
"bpc_personal_disk_size": "",
"bpc_newip": 0,
"bpc_device_in_super": 0,
"bpc_enable_failover": 0,
"bpc_last_time": "2022-12-10 05:36:53",
"bpc_ven_dev": "",
"bpc_child_image_name": "Default",
"bpc_comment": "",
"bpc_color": "#FFFFFF",
"bpc_cpu": null,
"bpc_mb": null,
"bpc_vga": null,
"bpc_ram": null,
"bpc_nic_description": null,
"image1_name": "WIN7",
"image2_name": null,
"hw_hardware_id": "",
"pc_group_name": null,
"boot_image": "WIN7",
"hardware_profile": "Default",
"client_cache": "N/A",
"status": "Offline"
}
]
}
Cafe ID.
ID.
curl --request GET \
--get "https://api.icafecloud.com/api/v2/cafe//bootPcs/" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" cache-control
: no-cache, private
content-type
: application/json
access-control-allow-origin
: *
{
"code": 404,
"message": "Url not match"
}
Cafe ID.
curl --request POST \
"https://api.icafecloud.com/api/v2/cafe//bootPcs" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--data "{
\"bpc_name\": null
}"
Cafe ID.
BCP ID.
curl --request PUT \
"https://api.icafecloud.com/api/v2/cafe//bootPcs/culpa" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--data "{
\"bpc_name\": null
}"
Cafe ID.
BCP ID.
curl --request DELETE \
"https://api.icafecloud.com/api/v2/cafe//bootPcs/culpa" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" Cafe ID.
BCP ID.
curl --request GET \
--get "https://api.icafecloud.com/api/v2/cafe//bootPcs/culpa/enableSuperClientInit" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" cache-control
: no-cache, private
content-type
: application/json
access-control-allow-origin
: *
{
"code": 404,
"message": "Url not match"
}
Cafe ID.
BCP ID.
curl --request GET \
--get "https://api.icafecloud.com/api/v2/cafe//bootPcs/culpa/disableSuperClientInit" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" cache-control
: no-cache, private
content-type
: application/json
access-control-allow-origin
: *
{
"code": 404,
"message": "Url not match"
}
Cafe ID.
BCP ID.
curl --request GET \
--get "https://api.icafecloud.com/api/v2/cafe//bootPcs/culpa/keepWriteBack" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--data "{
\"enable\": null
}"
cache-control
: no-cache, private
content-type
: application/json
access-control-allow-origin
: *
{
"code": 404,
"message": "Url not match"
}
Cafe ID.
curl --request GET \
--get "https://api.icafecloud.com/api/v2/cafe//bootPcs/action/emptyPc" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" cache-control
: no-cache, private
content-type
: application/json
access-control-allow-origin
: *
{
"code": 404,
"message": "Url not match"
}
Cafe ID.
curl --request PUT \
"https://api.icafecloud.com/api/v2/cafe//bootPcs/action/updateMulti" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--data "{
\"ids\": null
}"
Cafe ID.
curl --request POST \
"https://api.icafecloud.com/api/v2/cafe//bootPcs/action/import" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: multipart/form-data" \
--form "file_type="\
--form "db_file=@/tmp/phpMnnV4J" Cafe ID.
curl --request GET \
--get "https://api.icafecloud.com/api/v2/cafe//gameClasses" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" cache-control
: no-cache, private
content-type
: application/json
access-control-allow-origin
: *
{
"code": 404,
"message": "Url not match"
}
Cafe ID.
curl --request POST \
"https://api.icafecloud.com/api/v2/cafe//gameClasses" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--data "{
\"class_name\": null
}"
Cafe ID.
curl --request PUT \
"https://api.icafecloud.com/api/v2/cafe//gameClasses" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--data "{
\"class_name\": null,
\"class_order\": null,
\"class_name_old\": null
}"
Cafe ID.
curl --request DELETE \
"https://api.icafecloud.com/api/v2/cafe//gameClasses" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--data "{
\"class_name\": \"culpa\"
}"
Cafe ID.
curl --request GET \
--get "https://api.icafecloud.com/api/v2/cafe//productGroups" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" {
"code": 200,
"message": "success",
"data": {
"items": [
{
"product_group_icafe_id": 7777,
"product_group_id": -1,
"product_parent_group_id": 97664172,
"product_group_name": "Offers",
"product_group_desc": "",
"product_group_icon": null,
"product_group_update": "2022-11-30 17:03:37",
"product_group_payment_method": "{\"guest\": [\"cash\", \"credit_card\", \"balance\"], \"member\": [\"cash\", \"credit_card\", \"balance\"]}",
"has_icon": 0
}
]
}
}
Cafe ID.
curl --request POST \
"https://api.icafecloud.com/api/v2/cafe//productGroups" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--data "{
\"product_group_name\": null
}"
Cafe ID.
Product group ID.
curl --request PUT \
"https://api.icafecloud.com/api/v2/cafe//productGroups/" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--data "{
\"product_group_name\": null
}"
Cafe ID.
Product group ID.
curl --request DELETE \
"https://api.icafecloud.com/api/v2/cafe//productGroups/" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" Cafe ID.
ID.
curl --request GET \
--get "https://api.icafecloud.com/api/v2/cafe//offers/" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" cache-control
: no-cache, private
content-type
: application/json
access-control-allow-origin
: *
{
"code": 404,
"message": "Url not match"
}
Cafe ID.
curl --request POST \
"https://api.icafecloud.com/api/v2/cafe//offers" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--data "{
\"product_name\": null,
\"product_icon\": \"asyzwszwtxpeqqi\"
}"
Cafe ID.
Product ID.
curl --request PUT \
"https://api.icafecloud.com/api/v2/cafe//offers/" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--data "{
\"product_name\": null,
\"product_icon\": \"asyzwszwtxpeqqi\"
}"
Cafe ID.
Product ID.
curl --request DELETE \
"https://api.icafecloud.com/api/v2/cafe//offers/" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" Cafe ID.
Product ID.
curl --request GET \
--get "https://api.icafecloud.com/api/v2/cafe//offers//check" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" cache-control
: no-cache, private
content-type
: application/json
access-control-allow-origin
: *
{
"code": 404,
"message": "Url not match"
}
Cafe ID.
Member ID.
curl --request GET \
--get "https://api.icafecloud.com/api/v2/cafe//members/" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" {
"code": 200,
"message": "success",
"data": {
"member": {
"member_id": 57843940635,
"member_icafe_id": 7777,
"member_account": "test13",
"member_balance": "138.00",
"member_first_name": "asd",
"member_last_name": "as",
"member_birthday": "1990-10-10",
"member_expire_time_local": "2028-01-01",
"member_is_active": 1,
"member_photo": "",
"member_email": "",
"member_telegram_username": "",
"member_telegram_username_valid": 0,
"member_phone": "",
"member_id_card": "",
"member_points": "137.00",
"member_create": "2023-01-12T08:57:48.000000Z",
"member_update": "2025-03-09T09:59:48.000000Z",
"member_group_id": 143598,
"member_balance_bonus": "94.00",
"member_coin_balance": "-1.00",
"member_sex": 0,
"member_comments": "abcabc",
"member_address": "",
"member_company_id": 0,
"member_loan": "0.00",
"member_recent_played": null,
"member_id_icafe_id": 578439406357777,
"member_oauth_user_id": "0",
"member_oauth_platform": "account",
"member_balance_with_loan": "138.00",
"member_group_name": "ab4"
},
"member_groups": [
{
"member_group_id": 143567,
"member_group_name": "VIP7776"
}
],
"orders": [],
"total_amount": 0,
"currency": "$"
}
}
Cafe ID.
Member ID.
Page number (1 - n).
curl --request GET \
--get "https://api.icafecloud.com/api/v2/cafe//members//balanceHistory" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" {
"code": 200,
"message": "success",
"data": []
}
Cafe ID.
Member ID.
curl --request GET \
--get "https://api.icafecloud.com/api/v2/cafe//members//orders" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" {
"code": 200,
"message": "success",
"data": []
}
Cafe ID.
curl --request GET \
--get "https://api.icafecloud.com/api/v2/cafe//members/culpa/checklist" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--data "{
\"start\": \"2026-09-28T09:35:15\",
\"end\": \"2026-09-28T09:35:15\",
\"pc_name\": \"culpa\"
}"
cache-control
: no-cache, private
content-type
: application/json
access-control-allow-origin
: *
{
"code": 404,
"message": "Url not match"
}
Cafe ID.
curl --request POST \
"https://api.icafecloud.com/api/v2/cafe//members/action/validateAccount" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--data "{
\"member_account\": null,
\"member_password\": null,
\"member_oauth_platform\": \"account\",
\"payment_method_credit_card\": \"on\",
\"member_balance\": 0,
\"member_group_id\": 0,
\"member_is_active\": 1
}"
Cafe ID.
curl --request PUT \
"https://api.icafecloud.com/api/v2/cafe//members/culpa" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--data "{
\"member_group_id\": 0,
\"member_is_active\": 1,
\"member_oauth_platform\": \"account\"
}"
verify password, get member id from member name
Cafe ID.
curl --request POST \
"https://api.icafecloud.com/api/v2/cafe//members/action/memberInfo" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--data "{
\"member_account\": null
}"
Cafe ID.
curl --request POST \
"https://api.icafecloud.com/api/v2/cafe//members/action/addGuest" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--data "{
\"member_expire_time_local\": null,
\"member_balance\": 100.5,
\"payment_method_credit_card\": \"on\"
}"
Cafe ID.
curl --request POST \
"https://api.icafecloud.com/api/v2/cafe//members/action/topup" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--data "{
\"topup_ids\": null,
\"topup_value\": null
}"
add loan to member
Cafe ID.
curl --request POST \
"https://api.icafecloud.com/api/v2/cafe//members/action/loan" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--data "{
\"loan_id\": null,
\"loan_value\": null
}"
get bonus from topup
Cafe ID.
curl --request POST \
"https://api.icafecloud.com/api/v2/cafe//members/action/fetchBonus" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
Cafe ID.
curl --request POST \
"https://api.icafecloud.com/api/v2/cafe//members/action/multiUpdate" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--data "{
\"member_ids\": null,
\"member_is_active\": 1
}"
Direct mode resets to the cafe's configured default_member_password (123456 unless customized)
Cafe ID.
curl --request POST \
"https://api.icafecloud.com/api/v2/cafe//members/action/resetPassword" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--data "{
\"member_ids\": null
}"
License ID.
curl --request POST \
"https://api.icafecloud.com/api/v2/cafe/culpa/members/action/refreshBonus?license=" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" {
"code": 200,
"message": "success",
"data": []
}
Cafe ID.
curl --request POST \
"https://api.icafecloud.com/api/v2/cafe//members/action/resetGameCoin" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" Cafe ID.
curl --request POST \
"https://api.icafecloud.com/api/v2/cafe//members/action/resetPoint" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" Cafe ID.
curl --request GET \
--get "https://api.icafecloud.com/api/v2/cafe//members/action/loyaltyRecalcPreview" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" cache-control
: no-cache, private
content-type
: application/json
access-control-allow-origin
: *
{
"code": 404,
"message": "Url not match"
}
只升不降,与日常积分变化使用同一套规则。
Cafe ID.
curl --request POST \
"https://api.icafecloud.com/api/v2/cafe//members/action/loyaltyRecalc" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" Cafe ID.
curl --request POST \
"https://api.icafecloud.com/api/v2/cafe//members/action/multiDelete" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--data "{
\"member_ids\": null
}"
Cafe ID.
curl --request GET \
--get "https://api.icafecloud.com/api/v2/cafe//members/action/memberSettings" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" cache-control
: no-cache, private
content-type
: application/json
access-control-allow-origin
: *
{
"code": 404,
"message": "Url not match"
}
Cafe ID.
curl --request GET \
--get "https://api.icafecloud.com/api/v2/cafe//members/action/export" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" cache-control
: no-cache, private
content-type
: application/json
access-control-allow-origin
: *
{
"code": 404,
"message": "Url not match"
}
Cafe ID.
curl --request GET \
--get "https://api.icafecloud.com/api/v2/cafe//members/action/rankingUrl" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" cache-control
: no-cache, private
content-type
: application/json
access-control-allow-origin
: *
{
"code": 404,
"message": "Url not match"
}
Cafe ID.
search text.
the result includes details or not.
curl --request GET \
--get "https://api.icafecloud.com/api/v2/cafe//members/action/suggestMembers?search_text=" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" cache-control
: no-cache, private
content-type
: application/json
access-control-allow-origin
: *
{
"code": 404,
"message": "Url not match"
}
Cafe ID.
Member ID.
curl --request GET \
--get "https://api.icafecloud.com/api/v2/cafe//members//offers" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" cache-control
: no-cache, private
content-type
: application/json
access-control-allow-origin
: *
{
"code": 404,
"message": "Url not match"
}
Cafe ID.
curl --request GET \
--get "https://api.icafecloud.com/api/v2/cafe//members/action/exportTemplate" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" cache-control
: no-cache, private
content-type
: application/json
access-control-allow-origin
: *
{
"code": 404,
"message": "Url not match"
}
Cafe ID.
curl --request POST \
"https://api.icafecloud.com/api/v2/cafe//members/action/import" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" Cafe ID.
curl --request POST \
"https://api.icafecloud.com/api/v2/cafe//members/action/importMembers" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--data "{
\"license_name\": \"culpa\",
\"license_password\": \"culpa\"
}"
Cafe ID.
Search text.
Search field.
Sort field(member_account,member_balance,member_balance_bonus,member_group_name,member_group_id,member_first_name,member_last_name,member_expire_time_local,member_is_active,member_coin_balance,member_points,member_phone,member_loan,member_comments,member_center_name,member_birthday,member_icafe_id,member_create,member_update,member_oauth_platform,member_user_id).
Sort direction ('desc' or 'asc').
Page number (1 - n).
Search guest or not (0, 1).
curl --request GET \
--get "https://api.icafecloud.com/api/v2/cafe//members" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" {
"code": 200,
"message": "success",
"data": {
"license_using_billing": 1,
"point_enable": 1,
"members": [
{
"member_id": 57843940663,
"member_icafe_id": 7777,
"member_account": "eva-aa1",
"member_balance": "0.00",
"member_first_name": "eva",
"member_last_name": "aal",
"member_birthday": "2021-01-25",
"member_expire_time_local": "2028-01-01",
"member_is_active": 1,
"member_photo": "",
"member_email": "",
"member_telegram_username": "",
"member_telegram_username_valid": 0,
"member_phone": "",
"member_id_card": "",
"member_points": "0.00",
"member_create": "2024-11-25 06:56:57",
"member_update": "2024-11-25 07:07:00",
"member_group_id": 143578,
"member_balance_bonus": "0.00",
"member_coin_balance": "0.00",
"member_sex": 0,
"member_comments": "bgko111",
"member_address": "",
"member_company_id": 0,
"member_loan": "0.00",
"member_recent_played": null,
"member_id_icafe_id": "578439406637777",
"member_oauth_user_id": "0",
"member_oauth_platform": "account",
"member_create_local": "2024-11-25 20:56:57",
"member_update_local": "2024-11-25 21:07:00",
"member_is_expired": 0,
"member_is_logined": 0,
"offers": 0,
"member_group_discount_rate": 0,
"member_group_discount_pc_time": 0,
"member_group_discount_offer": 0,
"member_group_name": "VIP2",
"left_time": "0h 0m",
"is_owner": true,
"member_center_name": "Local"
}
],
"paging_info": {
"total_records": 3080,
"pages": 62,
"page": "1",
"page_prev": 1,
"page_next": 2,
"page_start": 1,
"page_end": 6,
"start_from": "0",
"end_from": "50"
},
"member_remind_count": 0
}
}
Cafe ID.
curl --request GET \
--get "https://api.icafecloud.com/api/v2/cafe//members/action/memberInitData" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" cache-control
: no-cache, private
content-type
: application/json
access-control-allow-origin
: *
{
"code": 404,
"message": "Url not match"
}
Cafe ID.
curl --request POST \
"https://api.icafecloud.com/api/v2/cafe//initReferCode" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--data "{
\"member_account\": null
}"
Cafe ID.
curl --request POST \
"https://api.icafecloud.com/api/v2/cafe//customerFeedback" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--data "{
\"pc_name\": null
}"
{
"code": 200,
"message": "success",
"data": {}
}
Cafe ID.
curl --request GET \
--get "https://api.icafecloud.com/api/v2/cafe//memberBalanceHistory" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" {
"code": 200,
"message": "success",
"data": []
}
Cafe ID.
curl --request GET \
--get "https://api.icafecloud.com/api/v2/cafe//memberChecklist" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" cache-control
: no-cache, private
content-type
: application/json
access-control-allow-origin
: *
{
"code": 404,
"message": "Url not match"
}
curl --request POST \
"https://api.icafecloud.com/api/v2/cafe/culpa/getRealTimeBalance" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" {
"code": 200,
"message": "success",
"data": {
"pc_cost": "1.00",
"member_balance": "138.00",
"member_balance_bonus": "94.00",
"member_coin_balance": "-1.00",
}
}
Used to initialise the start-session page and to refresh available_offers after purchasing an offer. Results are sorted by product_priority descending and include is_available_now based on time/weekday restrictions.
The cafe ID.
The PC name, used to filter offers incompatible with the PC's group.
curl --request GET \
--get "https://api.icafecloud.com/api/v2/cafe/12/memberAvailableOffers?pc_name=PC01" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" {
"code": 200,
"message": "success",
"data": {
"available_offers": [
{
"member_offer_id": 1,
"member_offer_offer_id": 2,
"member_offer_left_seconds": 3600,
"product_name": "1 Hour Pass",
"product_mins": 60,
"product_color": "#FF0000",
"product_priority": 10,
"is_available_now": true
}
]
}
}
curl --request POST \
"https://api.icafecloud.com/api/v2/cafe/culpa/dengiResult" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" curl --request POST \
"https://api.icafecloud.com/api/v2/cafe/culpa/mercadopago/result" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" curl --request POST \
"https://api.icafecloud.com/api/v2/cafe/culpa/manual/pay" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--data "{
\"order_no\": \"culpa\"
}"
Cafe ID.
curl --request GET \
--get "https://api.icafecloud.com/api/v2/cafe//tinkoff/notification" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" cache-control
: no-cache, private
content-type
: application/json
access-control-allow-origin
: *
{
"code": 404,
"message": "Url not match"
}
curl --request GET \
--get "https://api.icafecloud.com/api/v2/cafe/culpa/finik/callback" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" cache-control
: no-cache, private
content-type
: application/json
x-ratelimit-limit
: 200
x-ratelimit-remaining
: 192
x-ratelimit-reset
: 1790588176
retry-after
: 57
access-control-allow-origin
: *
{
"code": 0,
"message": "Undefined array key \"order_amount\""
}
Cafe ID.
Start date.
End date.
Start time(00:00).
End time(00:00).
Staff name.
Member group ID.
PC group ID.
Data source(recent,history).
curl --request GET \
--get "https://api.icafecloud.com/api/v2/cafe//reports/reportData?date_start=&date_end=&time_start=&time_end=&data_source=recent" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" cache-control
: no-cache, private
content-type
: application/json
access-control-allow-origin
: *
{
"code": 404,
"message": "Url not match"
}
Cafe ID.
Start date.
End date.
Staff name.
Member group ID.
PC group ID.
Chart type(income,totup,sale,product,offer,booking).
Data source(recent,history).
curl --request GET \
--get "https://api.icafecloud.com/api/v2/cafe//reports/reportChart?date_start=&date_end=&time_start=culpa&time_end=culpa&log_staff_name=all&chart_type=income&data_source=recent" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" {
"code": 200,
"message": "success",
"data": {
"series": [
{
"name": "Drink",
"data": [
0,
0,
29
]
}
],
"categories": [
"2025-03-01",
"2025-03-02",
"2025-03-03"
],
"report": {
"staff": "All",
"report_start": "2025-03-01 00:00:00",
"report_end": "2025-03-26 23:59:00"
}
}
}
Cafe ID.
Start date.
End date.
Start time.
End time.
Staff name.
curl --request GET \
--get "https://api.icafecloud.com/api/v2/cafe//reports/shiftList?date_start=&date_end=&time_start=&time_end=&shift_staff_name=" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" cache-control
: no-cache, private
content-type
: application/json
access-control-allow-origin
: *
{
"code": 404,
"message": "Url not match"
}
Cafe ID.
curl --request GET \
--get "https://api.icafecloud.com/api/v2/cafe//reports/shiftDetail/culpa" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" cache-control
: no-cache, private
content-type
: application/json
access-control-allow-origin
: *
{
"code": 404,
"message": "Url not match"
}
收入报表"经营对比":在不改变既有财务口径的前提下,返回当前期 + 对比期 + 预计算差额/环比。 汇总口径的唯一来源仍是 reportData()——本方法内部对两个周期各调用一次 reportData(scope=summary), 只算 Total 卡片所需的 7 项汇总、跳过排行/明细/游戏/问卷等重负载(方案 §6.4),绝不复制财务公式。 对比期为历史数据,额外缓存 5 分钟,避免重复打远程归档库。
Cafe ID.
none|previous_period|previous_week|previous_month|custom.
curl --request GET \
--get "https://api.icafecloud.com/api/v2/cafe//reports/reportComparison?comparison_mode=previous_month" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--data "{
\"date_start\": \"culpa\",
\"date_end\": \"culpa\",
\"time_start\": \"culpa\",
\"time_end\": \"culpa\"
}"
cache-control
: no-cache, private
content-type
: application/json
access-control-allow-origin
: *
{
"code": 404,
"message": "Url not match"
}
Cafe ID.
curl --request GET \
--get "https://api.icafecloud.com/api/v2/cafe//reports/customerAnalysis?date_start=culpa&date_end=culpa&time_start=culpa&time_end=culpa" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" cache-control
: no-cache, private
content-type
: application/json
access-control-allow-origin
: *
{
"code": 404,
"message": "Url not match"
}
Cafe ID.
curl --request GET \
--get "https://api.icafecloud.com/api/v2/cafe//reports/customerConsumptionExport?date_start=culpa&date_end=culpa&time_start=culpa&time_end=culpa" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" cache-control
: no-cache, private
content-type
: application/json
access-control-allow-origin
: *
{
"code": 404,
"message": "Url not match"
}
Cafe ID.
Start date.
End date.
Start time.
End time.
curl --request GET \
--get "https://api.icafecloud.com/api/v2/cafe//reports/reportStaffShift?date_start=&date_end=&time_start=&time_end=" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--data "{
\"date_start\": \"culpa\",
\"date_end\": \"culpa\",
\"time_start\": \"culpa\",
\"time_end\": \"culpa\"
}"
cache-control
: no-cache, private
content-type
: application/json
access-control-allow-origin
: *
{
"code": 404,
"message": "Url not match"
}
Cafe ID.
Start date.
End date.
Start time.
End time.
optional Center ID to export.
optional Operation type(all,sales,refunds).
optional Data source(recent,history).
curl --request GET \
--get "https://api.icafecloud.com/api/v2/cafe//reports/reportTransactions?date_start=&date_end=&time_start=&time_end=&icafe_id=123&operation_type=all&data_source=recent" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--data "{
\"date_start\": \"culpa\",
\"date_end\": \"culpa\",
\"time_start\": \"culpa\",
\"time_end\": \"culpa\",
\"icafe_id\": 12,
\"operation_type\": \"all\",
\"data_source\": \"history\"
}"
cache-control
: no-cache, private
content-type
: application/json
access-control-allow-origin
: *
{
"code": 404,
"message": "Url not match"
}
Returns a list of offer purchase records within the specified date range.
Cafe ID.
Start date.
End date.
Start time.
End time.
Data source (recent, history).
curl --request GET \
--get "https://api.icafecloud.com/api/v2/cafe//reports/reportOfferUsage?date_start=&date_end=&time_start=&time_end=&data_source=recent" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" {
"filename": "Offer Usage-2024-04-11 GMT+08:00.xlsx",
"header": [
"Member account",
"Offer name",
"Purchase time",
"Price",
"Duration (mins)"
],
"rows": [
[
"member001",
"5 Hours Package",
"2024-04-11 14:30:00",
"5.00",
300
]
]
}
Returns daily attendance statistics
Cafe ID.
Number of days to look back (default: 7).
curl --request GET \
--get "https://api.icafecloud.com/api/v2/cafe//reports/reportAttendanceByDay?days=7" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" {
"data": [
{
"log_date": "2024-01-07",
"total_count": 52,
"member_count": 42,
"guest_count": 10,
"new_member_count": 3
}
]
}
Cafe ID.
Start date.
End date.
Start time.
End time.
Product group ID.
staff.
Data source(recent,history).
curl --request GET \
--get "https://api.icafecloud.com/api/v2/cafe//reports/reportProductMovement?date_start=&date_end=&time_start=&time_end=&product_group_id=all&staff_login=all&data_source=recent" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--data "{
\"date_start\": \"culpa\",
\"date_end\": \"culpa\",
\"time_start\": \"culpa\",
\"time_end\": \"culpa\"
}"
cache-control
: no-cache, private
content-type
: application/json
access-control-allow-origin
: *
{
"code": 404,
"message": "Url not match"
}
Cafe ID.
curl --request GET \
--get "https://api.icafecloud.com/api/v2/cafe//reports/reportProfitWithRoyalty" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--data "{
\"date_start\": \"culpa\",
\"date_end\": \"culpa\",
\"time_start\": \"culpa\",
\"time_end\": \"culpa\"
}"
cache-control
: no-cache, private
content-type
: application/json
access-control-allow-origin
: *
{
"code": 404,
"message": "Url not match"
}
Cafe ID.
Start date.
End date.
Start time.
End time.
Data source: 'recent' (local DB) or 'history' (log server).
curl --request GET \
--get "https://api.icafecloud.com/api/v2/cafe//reports/reportRefunds?date_start=&date_end=&time_start=&time_end=" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" cache-control
: no-cache, private
content-type
: application/json
access-control-allow-origin
: *
{
"code": 404,
"message": "Url not match"
}
Cafe ID.
Start date (local).
End date (local).
Data source: recent or history.
curl --request GET \
--get "https://api.icafecloud.com/api/v2/cafe//reports/reportCanceledBookings?date_start=&date_end=" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" cache-control
: no-cache, private
content-type
: application/json
access-control-allow-origin
: *
{
"code": 404,
"message": "Url not match"
}
Cafe ID.
curl --request GET \
--get "https://api.icafecloud.com/api/v2/cafe//reports/reportCreatedUsers" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--data "{
\"date_start\": \"culpa\",
\"date_end\": \"culpa\",
\"time_start\": \"culpa\",
\"time_end\": \"culpa\"
}"
cache-control
: no-cache, private
content-type
: application/json
access-control-allow-origin
: *
{
"code": 404,
"message": "Url not match"
}
Cafe ID.
curl --request GET \
--get "https://api.icafecloud.com/api/v2/cafe//reports/reportShopItemsStock" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" cache-control
: no-cache, private
content-type
: application/json
access-control-allow-origin
: *
{
"code": 404,
"message": "Url not match"
}
Returns a list of bookings within the specified date range.
Cafe ID.
Start date.
End date.
Start time.
End time.
curl --request GET \
--get "https://api.icafecloud.com/api/v2/cafe//reports/reportCreatedBookings?date_start=&date_end=&time_start=&time_end=" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" {
"filename": "Created Bookings-2026-04-14 GMT+08:00.xlsx",
"header": ["Center name", "Booking time", "PC name", "Login member account", "Booking status"],
"rows": [
["[dev]Test Cafe(008612345678)", "2026-04-14 10:00:00 - 2026-04-14 11:00:00", "PC-01", "member001", "Pending Use"]
]
}
[Claude] Implemented by Claude (MiniMax-M2.5) on 2026-04-14
Groups records by shift periods from table_shift_history. Each period outputs one row: Deposit (positive ONEXPENSE/ADDFUNDS log_money), Withdraw (negative ONEXPENSE/ADDFUNDS log_money, kept as negative), Income (SUM of log_money for all non-ONEXPENSE/ADDFUNDS events = 现金纯收入,含退款抵减).
Cafe ID.
Start date (YYYY-MM-DD).
End date (YYYY-MM-DD).
Start time (HH:mm).
End time (HH:mm).
optional Filter by staff name (applies to shifts and ONEXPENSE logs).
curl --request GET \
--get "https://api.icafecloud.com/api/v2/cafe//reports/reportCashDepositWithdrawal?date_start=&date_end=&time_start=&time_end=" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" cache-control
: no-cache, private
content-type
: application/json
access-control-allow-origin
: *
{
"code": 404,
"message": "Url not match"
}
Returns a list of guest accounts (G_ prefix) created within the specified date range, including whether each access code has been used (i.e. a billing session was started) and whether the account has expired. Only available when access_code_login is enabled.
Cafe ID.
Start date (YYYY-MM-DD).
End date (YYYY-MM-DD).
Start time (HH:mm).
End time (HH:mm).
curl --request GET \
--get "https://api.icafecloud.com/api/v2/cafe//reports/reportAccessCodeUsage?date_start=&date_end=&time_start=&time_end=" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" {
"filename": "Access code usage-2026-04-24 GMT+08:00.xlsx",
"header": [
"Access code",
"Created time",
"Balance",
"Used",
"Expired"
],
"rows": [
[
"ABCD",
"2026-04-24 10:00:00",
10,
"Yes",
"No"
],
[
"EFGH",
"2026-04-24 11:30:00",
0,
"No",
"Yes"
]
]
}
Cafe ID.
Start date (local).
End date (local).
Start time.
End time.
curl --request GET \
--get "https://api.icafecloud.com/api/v2/cafe//reports/reportUsedBooking?date_start=&date_end=&time_start=&time_end=" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" cache-control
: no-cache, private
content-type
: application/json
access-control-allow-origin
: *
{
"code": 404,
"message": "Url not match"
}
Returns attendance and occupancy statistics
Cafe ID.
curl --request GET \
--get "https://api.icafecloud.com/api/v2/cafe//reports/reportAttendanceAndOccupancy" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" cache-control
: no-cache, private
content-type
: application/json
access-control-allow-origin
: *
{
"code": 404,
"message": "Url not match"
}
Returns top up statistics
Cafe ID.
curl --request GET \
--get "https://api.icafecloud.com/api/v2/cafe//reports/reportTopupOperations" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" cache-control
: no-cache, private
content-type
: application/json
access-control-allow-origin
: *
{
"code": 404,
"message": "Url not match"
}
Returns each member's total topup amount within the period, sorted from high to low.
Cafe ID.
Only keep members whose total topup reaches this amount.
curl --request GET \
--get "https://api.icafecloud.com/api/v2/cafe//reports/reportMemberTopupTotals?min_amount=0" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" cache-control
: no-cache, private
content-type
: application/json
access-control-allow-origin
: *
{
"code": 404,
"message": "Url not match"
}
Returns one row per session checkout within the specified date range, including session timing, member info, PC name, amount charged, tax, offer used, and promo code applied.
Cafe ID.
Start date.
End date.
Start time.
End time.
Filter by staff name. Leave empty or pass "all" to include all staff.
curl --request GET \
--get "https://api.icafecloud.com/api/v2/cafe//reports/reportGeneralOccupancy?date_start=&date_end=&time_start=&time_end=" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" {
"filename": "General Occupancy-2024-04-11 00:00:00-2024-04-11 23:59:59.xlsx",
"header": [
"Cafe name",
"Staff name",
"Session start date",
"Session end date",
"Session duration",
"Member account",
"Member group",
"Phone number",
"PC name",
"Total amount",
"Tax amount",
"Tax name",
"Offer",
"Promo code"
],
"rows": [
[
"My Cafe",
"admin",
"2024-04-11 10:00:00",
"2024-04-11 12:00:00",
"02:00:00",
"member001",
"Default",
"+1234567890",
"PC01",
5,
0.45,
"VAT",
"",
""
]
]
}
Cafe ID.
curl --request GET \
--get "https://api.icafecloud.com/api/v2/cafe//reports/prepareBeforeReport" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--data "{
\"date_start\": \"culpa\",
\"date_end\": \"culpa\",
\"time_start\": \"culpa\",
\"time_end\": \"culpa\"
}"
cache-control
: no-cache, private
content-type
: application/json
access-control-allow-origin
: *
{
"code": 404,
"message": "Url not match"
}
Cafe ID.
curl --request GET \
--get "https://api.icafecloud.com/api/v2/cafe//reports/appDashboard" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" cache-control
: no-cache, private
content-type
: application/json
access-control-allow-origin
: *
{
"code": 404,
"message": "Url not match"
}
Cafe ID.
curl --request POST \
"https://api.icafecloud.com/api/v2/cafe//pcs/action/saveAreaLayout" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--data "{
\"area_name\": null
}"
{
"code": 200,
"message": "success",
"data": true
}
Cafe ID.
curl --request DELETE \
"https://api.icafecloud.com/api/v2/cafe//pcs/action/removeAreaLayout" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--data "{
\"area_name\": null
}"
{
"code": 200,
"message": "success",
"data": true
}
Cafe ID.
Pool ID.
curl --request PUT \
"https://api.icafecloud.com/api/v2/cafe//pools//licenses" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--data "{
\"license_account\": null,
\"license_password\": null,
\"license_type\": \"culpa\",
\"game_ids\": \"1,2,3\",
\"pc_group_ids\": \"1,2,3\",
\"member_group_ids\": \"1,2,3\"
}"
Cafe ID.
Pool ID.
curl --request DELETE \
"https://api.icafecloud.com/api/v2/cafe//pools//licenses" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--data "{
\"license_account\": null
}"
Cafe ID.
Pool ID.
Account.
curl --request GET \
--get "https://api.icafecloud.com/api/v2/cafe//pools//licenses/action/licenseInfo?account=" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" cache-control
: no-cache, private
content-type
: application/json
access-control-allow-origin
: *
{
"code": 404,
"message": "Url not match"
}
Cafe ID.
Pool ID.
Account.
curl --request GET \
--get "https://api.icafecloud.com/api/v2/cafe//pools//licenses/action/unlock?license_account=" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" cache-control
: no-cache, private
content-type
: application/json
access-control-allow-origin
: *
{
"code": 404,
"message": "Url not match"
}
Cafe ID.
curl --request GET \
--get "https://api.icafecloud.com/api/v2/cafe//poolLicenses" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" cache-control
: no-cache, private
content-type
: application/json
access-control-allow-origin
: *
{
"code": 404,
"message": "Url not match"
}
Cafe ID.
curl --request POST \
"https://api.icafecloud.com/api/v2/cafe//poolLicenses" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--data "{
\"license_account\": null,
\"license_password\": null,
\"game_ids\": \"1,2,3\",
\"pc_group_ids\": \"1,2,3\",
\"member_group_ids\": \"1,2,3\"
}"
Cafe ID.
curl --request GET \
--get "https://api.icafecloud.com/api/v2/cafe//license/info" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" cache-control
: no-cache, private
content-type
: application/json
access-control-allow-origin
: *
{
"code": 404,
"message": "Url not match"
}
Cafe ID.
curl --request PUT \
"https://api.icafecloud.com/api/v2/cafe//license/info" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--data "{
\"license_email\": null,
\"license_contact\": null,
\"license_address\": null,
\"license_latlng\": null,
\"license_country\": null
}"
Cafe ID.
curl --request GET \
--get "https://api.icafecloud.com/api/v2/cafe//license/active" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" cache-control
: no-cache, private
content-type
: application/json
access-control-allow-origin
: *
{
"code": 404,
"message": "Url not match"
}
Cafe ID.
curl --request PUT \
"https://api.icafecloud.com/api/v2/cafe//license/appInfo" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--data "{
\"license_address\": null,
\"license_latlng\": null,
\"license_country\": null
}"
Cafe ID.
curl --request GET \
--get "https://api.icafecloud.com/api/v2/cafe//staffs" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" cache-control
: no-cache, private
content-type
: application/json
access-control-allow-origin
: *
{
"code": 404,
"message": "Url not match"
}
Cafe ID.
curl --request POST \
"https://api.icafecloud.com/api/v2/cafe//staffs" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--data "{
\"staff_name\": null,
\"staff_password\": null,
\"staff_role\": null
}"
Cafe ID.
ID.
curl --request GET \
--get "https://api.icafecloud.com/api/v2/cafe//staffs/" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" cache-control
: no-cache, private
content-type
: application/json
access-control-allow-origin
: *
{
"code": 404,
"message": "Url not match"
}
Cafe ID.
ID.
curl --request PUT \
"https://api.icafecloud.com/api/v2/cafe//staffs/" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--data "{
\"staff_name\": null,
\"staff_password\": null,
\"staff_role\": null
}"
Cafe ID.
ID.
curl --request DELETE \
"https://api.icafecloud.com/api/v2/cafe//staffs/" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" Cafe ID.
curl --request POST \
"https://api.icafecloud.com/api/v2/cafe//staffs/action/startShift" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--data "{
\"staff_shift_cash_start\": null,
\"staff_name\": null
}"
Cafe ID.
curl --request POST \
"https://api.icafecloud.com/api/v2/cafe//staffs/action/endShift" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--data "{
\"staff_name\": null
}"
Cafe ID.
curl --request POST \
"https://api.icafecloud.com/api/v2/cafe//staffs/action/checkShift" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" Cafe ID.
curl --request GET \
--get "https://api.icafecloud.com/api/v2/cafe//staffs/action/appBinding" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" cache-control
: no-cache, private
content-type
: application/json
access-control-allow-origin
: *
{
"code": 404,
"message": "Url not match"
}
Cafe ID.
curl --request DELETE \
"https://api.icafecloud.com/api/v2/cafe//staffs/action/appBinding" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" Cafe ID.
curl --request GET \
--get "https://api.icafecloud.com/api/v2/cafe//staffs/action/kitchenStaffList" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" cache-control
: no-cache, private
content-type
: application/json
access-control-allow-origin
: *
{
"code": 404,
"message": "Url not match"
}
Cafe ID.
curl --request GET \
--get "https://api.icafecloud.com/api/v2/cafe//staffs/action/shiftXReport" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" cache-control
: no-cache, private
content-type
: application/json
access-control-allow-origin
: *
{
"code": 404,
"message": "Url not match"
}
Cafe ID.
curl --request GET \
--get "https://api.icafecloud.com/api/v2/cafe//staffs/action/shiftCashInHand" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" cache-control
: no-cache, private
content-type
: application/json
access-control-allow-origin
: *
{
"code": 404,
"message": "Url not match"
}
Cafe ID.
curl --request GET \
--get "https://api.icafecloud.com/api/v2/cafe//staffs/action/lastShiftDetail" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" cache-control
: no-cache, private
content-type
: application/json
access-control-allow-origin
: *
{
"code": 404,
"message": "Url not match"
}
Cafe ID.
Page.
Keyword.
curl --request GET \
--get "https://api.icafecloud.com/api/v2/cafe//gameLogs?page=1" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" cache-control
: no-cache, private
content-type
: application/json
access-control-allow-origin
: *
{
"code": 404,
"message": "Url not match"
}
Cafe ID.
Keyword.
curl --request GET \
--get "https://api.icafecloud.com/api/v2/cafe//gameLogs/action/export" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" cache-control
: no-cache, private
content-type
: application/json
access-control-allow-origin
: *
{
"code": 404,
"message": "Url not match"
}
Cafe ID.
PC name.
Must be a valid date.
Must be between 0 and 1.
curl --request GET \
--get "https://api.icafecloud.com/api/v2/cafe//bookings?date=2026-09-28T09%3A35%3A17&pending_queue_only=1" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" cache-control
: no-cache, private
content-type
: application/json
access-control-allow-origin
: *
{
"code": 404,
"message": "Url not match"
}
Cafe ID.
curl --request POST \
"https://api.icafecloud.com/api/v2/cafe//bookings" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--data "{
\"pc_name\": null,
\"member_account\": null,
\"start_date\": null,
\"start_time\": \"01:01:01\",
\"mins\": 0,
\"guest_booking\": 0
}"
Cafe ID.
curl --request DELETE \
"https://api.icafecloud.com/api/v2/cafe//bookings" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--data "{
\"pc_name\": null,
\"member_offer_id\": null
}"
Cafe ID.
PC name.
Member account.
Start date.
Start time.
Min.
Min.
curl --request GET \
--get "https://api.icafecloud.com/api/v2/cafe//bookings/action/initBookingSession?pc_name=&member_account=&start_date=&start_time=&mins=0" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" cache-control
: no-cache, private
content-type
: application/json
access-control-allow-origin
: *
{
"code": 404,
"message": "Url not match"
}
Cafe ID.
PC name.
Mins.
Member account.
curl --request POST \
"https://api.icafecloud.com/api/v2/cafe//calculate/amount?pc_name=" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" Cafe ID.
PC name.
Member account.
Mins.
curl --request POST \
"https://api.icafecloud.com/api/v2/cafe//calculate/time?pc_name=&topup_amount=culpa" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" Cafe ID.
curl --request POST \
"https://api.icafecloud.com/api/v2/cafe//bookings/batch" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--data "{
\"bookings\": null
}"
Cafe ID.
curl --request PUT \
"https://api.icafecloud.com/api/v2/cafe//bookings/batch" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--data "{
\"delete_bookings\": null,
\"create_bookings\": null
}"
Cafe ID.
curl --request DELETE \
"https://api.icafecloud.com/api/v2/cafe//bookings/batch" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--data "{
\"bookings\": null
}"
Cafe ID.
curl --request POST \
"https://api.icafecloud.com/api/v2/cafe//bookings/action/bookingWithOffer" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--data "{
\"member_id\": null,
\"offer_id\": null,
\"pc_name\": null,
\"start_date\": null,
\"start_time\": \"01:01:01\",
\"mins\": 120
}"
curl --request PUT \
"https://api.icafecloud.com/api/v2/cafe/culpa/resetPasswrodLastUpdateTime?type=culpa" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" Cafe ID.
curl --request POST \
"https://api.icafecloud.com/api/v2/cafe//pauseTimes" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" Cafe ID.
curl --request DELETE \
"https://api.icafecloud.com/api/v2/cafe//pauseTimes" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" Cafe ID.
curl --request GET \
--get "https://api.icafecloud.com/api/v2/cafe//pauseTimes" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" cache-control
: no-cache, private
content-type
: application/json
access-control-allow-origin
: *
{
"code": 404,
"message": "Url not match"
}
Cafe ID.
curl --request POST \
"https://api.icafecloud.com/api/v2/cafe//orders" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--data "{
\"product_id\": null,
\"order_item_qty\": 1,
\"order_payment_method\": 0,
\"order_status\": 2
}"
{
"code": 200,
"message": "success",
"data": {
"order_no": 557,
"member_id": 0,
]
}
}
Cafe ID.
Order NO.
Data source(options:recent,history).