Introduction

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

API Wiki

Getting Started

The following instructions explain how to generate and use the API

  1. When switching the iCafeCloud license between master and slave servers (EU3 to EU4), there is no need to update the API, as it remains unchanged. However, if you switch to a different server group ( EU3 to EU18), the API key must be recreated.
  2. Log in to the Admin panel using the "Admin" account, as only the Admin account can create APIs.
  3. You must use a static IP or a VPS, as the IP will be bound to the token. To ensure optimal API usage, it is recommended to make API calls from a static IP server, such as a VPS, rather than directly from a client device.
  4. You can use either IPv4 or IPv6 for the API IP.
  5. To add more than one IP to the list, separate them with commas ( IP1, IP2, IP3).
  6. To assist users in identifying their exact IP address during troubleshooting, the system will now include the user's IP address directly in error message
    {"code": 401, "message'": "Unauthorization from YOUR_IP"}
  7. From the "Settings" page of the Cloud Panel, add the IP you selected as your server IP under "API Access IP." Then, generate your API key by clicking the "Create" button.
  8. Note that the API key is valid for one year.
  9. The API address is fixed as api.icafecloud.com
  10. Once you create a new API key, the old API key will become invalid. We only support one API key at a time.
  11. Click the "Copy" button and save your api key. It's only shown once.
  12. API docs https://dev.icafecloud.com/docs/
  13. You need to add a http header with the "Authorization: Bearer api_key" to authenticate the API access.
  14. To add parameters on the API use Body and not Headers.[On postman can use Body , Form-data and add parameters.
  15. The API endpoint URL should always use HTTPS not HTTP.
  16. You can try the API directly on the iCafeCloud dev.icafecloud.com. Follow these steps:
  • Click the link to https://dev.icafecloud.com/docs/#boot-pcs-apis
  • Fill in the Bearer token and CafeID, which you can find in your iCafeCloud license.
  • Click "Send Request" to retrieve data from the PCs.
  • This process allows you to interact with and test the API functionalities effectively.
  1. Notify balance changes to client PC. Once you've initiated the top-up API call, the next step would be to call the pushClientstatus API. This step is crucial as it ensures that the client's PC is notified of the update
  2. For the API to auto add bonus on topup use:
  • To get the bonus = POST api/v2/cafe/{cafeId}/members/action/fetchBonus
  • And use it as parameter at = POST api/v2/cafe/{cafeId}/members/action/topup -> topup_balance_bonus

Get parameters format in API

Last Updated: Apr 26, 2024

This is how to find API parameters using the console.

  1. To identify the parameters for the APIs, open the Chrome console and navigate to the Network tab. Perform an action from the iCafeCloud panel, and you will find the parameters in the Network tab. For example: you can purchase an offer as a member. In the console, you will be able to locate the parameters being used for this action. (Figure 1)

API limitations

Last Updated: 2024-04-26

Api load ate limitation is 200 request per minute

Max limit for some operations:

  • const MAX_STAFF = 100;
  • const MAX_MEMBERGROUP = 100;
  • const MAX_MEMBER = 50000;
  • const MAX_NEWS = 100;
  • const MAX_PRICE = 100;
  • const MAX_PRODUCTGROUP = 100;
  • const MAX_PRODUCT = 500;
  • const MAX_OFFER = 1000;
  • const MAX_PCGROUP = 100;
  • const MAX_PC = 500;
  • const MAX_ROOM = 100;
  • const MAX_PAUSE = 100;
  • const MAX_BOOTPC = 500;
  • const MAX_HARDWARE = 100;
  • const MAX_GAMECLASS = 100;
  • const MAX_GAME = 1000;
  • const MAX_POOL = 100;
  • const MAX_POOLLICENSE = 100;
  • const MAX_EVENT = 100;
  • const MAX_IDCCONFIG = 100;
  • const MAX_IDCCLASS = 100;
  • const MAX_ORDER = 5000;

Get member id by member account via API

Last Updated: Oct 11, 2024

Retrieve a member ID using a member account via the API

  1. To retrieve the member ID using member accounts via the API, refer to the API in the link below.(Figure 1)
    https://dev.icafecloud.com/docs/#members-apis-POSTapi-v2-cafe--cafeId--members-action-memberInfo

Get CCBoot Client status via API

Last Updated: Oct 11, 2024

How to get ccboot client status by api

  1. Get CCBoot client status by wss command front he link below
    https://dev.icafecloud.com/docs/#pc-sessions-apis-POSTapi-v2-cafe--cafeId--pcSessions-sendWssCommand
  2. For command use “pc_status”
    {"action":"pcs_status","target":"boot","type":"request","from":"web","version":2,"data":[]}

Remote reboot CCBoot Client via API

Last Updated: Oct 11, 2024

How to reboot ccboot client by api

  1. To send a reboot command to a client PC via the API, find the appropriate API in the link below.
    https://dev.icafecloud.com/docs/#pc-sessions-apis-POSTapi-v2-cafe--cafeId--pcSessions-sendWssCommand
  2. For command use “power” (Figure 1)
  3. We support 3 different commands as "reboot", "shutdown", "poweron"
    {"action":"power", "target":"boot","data":{"power_type":"reboot","ids":[24]}}

Authenticating requests

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).

Config APIs

Center settings

PUT
https://api.icafecloud.com
/api/v2/cafe/{cafeId}/configs/centerSettings
requires authentication

Headers

Authorization
Example:
Bearer {YOUR_AUTH_KEY}
Content-Type
Example:
application/json

URL Parameters

cafeId
integer
required

Cafe ID.

Body Parameters

Example request:
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
}"
Example response:
Headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
    "code": 404,
    "message": "Url not match"
}

Client settings

PUT
https://api.icafecloud.com
/api/v2/cafe/{cafeId}/configs/clientSettings
requires authentication

Headers

Authorization
Example:
Bearer {YOUR_AUTH_KEY}
Content-Type
Example:
application/json

URL Parameters

cafeId
integer
required

Cafe ID.

Body Parameters

Example request:
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\"
}"
Example response:
Headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
    "code": 404,
    "message": "Url not match"
}

Game settings

PUT
https://api.icafecloud.com
/api/v2/cafe/{cafeId}/configs/gameSettings
requires authentication

Headers

Authorization
Example:
Bearer {YOUR_AUTH_KEY}

URL Parameters

cafeId
integer
required

Cafe ID.

Body Parameters

Example request:
curl --request PUT \
    "https://api.icafecloud.com/api/v2/cafe//configs/gameSettings" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
Example response:
Headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
    "code": 404,
    "message": "Url not match"
}

Layalty settings

PUT
https://api.icafecloud.com
/api/v2/cafe/{cafeId}/configs/loyaltySettings
requires authentication

Headers

Authorization
Example:
Bearer {YOUR_AUTH_KEY}

URL Parameters

cafeId
integer
required

Cafe ID.

Body Parameters

Example request:
curl --request PUT \
    "https://api.icafecloud.com/api/v2/cafe//configs/loyaltySettings" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
Example response:
Headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
    "code": 404,
    "message": "Url not match"
}

Member settings

PUT
https://api.icafecloud.com
/api/v2/cafe/{cafeId}/configs/memberSettings
requires authentication

Headers

Authorization
Example:
Bearer {YOUR_AUTH_KEY}

URL Parameters

cafeId
integer
required

Cafe ID.

Example request:
curl --request PUT \
    "https://api.icafecloud.com/api/v2/cafe//configs/memberSettings" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}"
Example response:
Headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
    "code": 404,
    "message": "Url not match"
}

Protection setting

PUT
https://api.icafecloud.com
/api/v2/cafe/{cafeId}/configs/protectionSettings
requires authentication

Headers

Authorization
Example:
Bearer {YOUR_AUTH_KEY}

URL Parameters

cafeId
integer
required

Cafe ID.

Example request:
curl --request PUT \
    "https://api.icafecloud.com/api/v2/cafe//configs/protectionSettings" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}"
Example response:
Headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
    "code": 404,
    "message": "Url not match"
}

Generate API key

POST
https://api.icafecloud.com
/api/v2/cafe/{cafeId}/configs/action/generateApiKey
requires authentication

Headers

Authorization
Example:
Bearer {YOUR_AUTH_KEY}
Content-Type
Example:
application/json

URL Parameters

cafeId
integer
required

Cafe ID.

api_key_ips
string
required

IPs.

Body Parameters

Example request:
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\"
}"
Example response:
Headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
    "code": 404,
    "message": "Url not match"
}

Set games button status

POST
https://api.icafecloud.com
/api/v2/cafe/{cafeId}/configs/action/gamesButtonStatusSet
requires authentication

Headers

Authorization
Example:
Bearer {YOUR_AUTH_KEY}
Content-Type
Example:
application/json

URL Parameters

cafeId
integer
required

Cafe ID.

Body Parameters

Example request:
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
}"
Example response:
Headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
    "code": 404,
    "message": "Url not match"
}

Games settings

POST
https://api.icafecloud.com
/api/v2/cafe/{cafeId}/configs/action/gamesSettingsSet
requires authentication

Headers

Authorization
Example:
Bearer {YOUR_AUTH_KEY}
Content-Type
Example:
application/json

URL Parameters

cafeId
integer
required

Cafe ID.

Body Parameters

Example request:
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
        }
    ]
}"
Example response:
Headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
    "code": 404,
    "message": "Url not match"
}

SMS provider settings

PUT
https://api.icafecloud.com
/api/v2/cafe/{cafeId}/configs/smsProviderSettings
requires authentication

Headers

Authorization
Example:
Bearer {YOUR_AUTH_KEY}

URL Parameters

cafeId
integer
required

Cafe ID.

Body Parameters

Example request:
curl --request PUT \
    "https://api.icafecloud.com/api/v2/cafe//configs/smsProviderSettings" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
Example response:
Headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
    "code": 404,
    "message": "Url not match"
}

Get config lists

GET
https://api.icafecloud.com
/api/v2/cafe/{cafeId}/configs
requires authentication

Headers

Authorization
Example:
Bearer {YOUR_AUTH_KEY}

URL Parameters

cafeId
integer
required

Cafe ID.

Example request:
curl --request GET \
    --get "https://api.icafecloud.com/api/v2/cafe//configs" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}"
Example response:
Headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
    "code": 404,
    "message": "Url not match"
}
GET
https://api.icafecloud.com
/api/v2/cafe/{cafeId}/configs/action/centerLogo
requires authentication

Headers

Authorization
Example:
Bearer {YOUR_AUTH_KEY}

URL Parameters

cafeId
integer
required

Cafe ID.

Example request:
curl --request GET \
    --get "https://api.icafecloud.com/api/v2/cafe//configs/action/centerLogo" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}"
Example response:

Get games button status

GET
https://api.icafecloud.com
/api/v2/cafe/{cafeId}/configs/action/gamesButtonStatusGet
requires authentication

Headers

Authorization
Example:
Bearer {YOUR_AUTH_KEY}

URL Parameters

cafeId
integer
required

Cafe ID.

Example request:
curl --request GET \
    --get "https://api.icafecloud.com/api/v2/cafe//configs/action/gamesButtonStatusGet" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}"
Example response:
Headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
    "code": 404,
    "message": "Url not match"
}

Get games settings

GET
https://api.icafecloud.com
/api/v2/cafe/{cafeId}/configs/action/gamesSettingsGet
requires authentication

Headers

Authorization
Example:
Bearer {YOUR_AUTH_KEY}

URL Parameters

cafeId
integer
required

Cafe ID.

Example request:
curl --request GET \
    --get "https://api.icafecloud.com/api/v2/cafe//configs/action/gamesSettingsGet" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}"
Example response:
Headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
    "code": 404,
    "message": "Url not match"
}

Tax info

GET
https://api.icafecloud.com
/api/v2/cafe/{cafeId}/configs/action/taxInfo
requires authentication

Headers

Authorization
Example:
Bearer {YOUR_AUTH_KEY}

URL Parameters

cafeId
integer
required

Cafe ID.

Example request:
curl --request GET \
    --get "https://api.icafecloud.com/api/v2/cafe//configs/action/taxInfo" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}"
Example response:
Headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
    "code": 404,
    "message": "Url not match"
}

Vnc server code

GET
https://api.icafecloud.com
/api/v2/cafe/{cafeId}/configs/action/vncServerCode
requires authentication

Headers

Authorization
Example:
Bearer {YOUR_AUTH_KEY}

URL Parameters

cafeId
integer
required

Cafe ID.

Example request:
curl --request GET \
    --get "https://api.icafecloud.com/api/v2/cafe//configs/action/vncServerCode" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}"
Example response:
Headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
    "code": 404,
    "message": "Url not match"
}

Report settings

PUT
https://api.icafecloud.com
/api/v2/cafe/{cafeId}/configs/reportSettings
requires authentication

Headers

Authorization
Example:
Bearer {YOUR_AUTH_KEY}

URL Parameters

cafeId
integer
required

Cafe ID.

Body Parameters

Example request:
curl --request PUT \
    "https://api.icafecloud.com/api/v2/cafe//configs/reportSettings" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
Example response:
Headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
    "code": 404,
    "message": "Url not match"
}

Time settings

PUT
https://api.icafecloud.com
/api/v2/cafe/{cafeId}/configs/timeSettings
requires authentication

Headers

Authorization
Example:
Bearer {YOUR_AUTH_KEY}

URL Parameters

cafeId
integer
required

Cafe ID.

Body Parameters

Example request:
curl --request PUT \
    "https://api.icafecloud.com/api/v2/cafe//configs/timeSettings" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
Example response:
Headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
    "code": 404,
    "message": "Url not match"
}

Download steam update script

GET
https://api.icafecloud.com
/api/v2/cafe/{cafeId}/configs/action/downloadSteamScript
requires authentication

Headers

Authorization
Example:
Bearer {YOUR_AUTH_KEY}
Content-Type
Example:
application/json

URL Parameters

cafeId
integer
required

Cafe ID.

Body Parameters

Example request:
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
}"
Example response:
Headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
    "code": 404,
    "message": "Url not match"
}

POS settings

PUT
https://api.icafecloud.com
/api/v2/cafe/{cafeId}/configs/posSettings
requires authentication

Headers

Authorization
Example:
Bearer {YOUR_AUTH_KEY}

URL Parameters

cafeId
integer
required

Cafe ID.

Example request:
curl --request PUT \
    "https://api.icafecloud.com/api/v2/cafe//configs/posSettings" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}"
Example response:
Headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
    "code": 404,
    "message": "Url not match"
}

Store settings

PUT
https://api.icafecloud.com
/api/v2/cafe/{cafeId}/configs/storeSettings
requires authentication

Headers

Authorization
Example:
Bearer {YOUR_AUTH_KEY}

URL Parameters

cafeId
integer
required

Cafe ID.

Example request:
curl --request PUT \
    "https://api.icafecloud.com/api/v2/cafe//configs/storeSettings" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}"
Example response:
Headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
    "code": 404,
    "message": "Url not match"
}

Client print settings

PUT
https://api.icafecloud.com
/api/v2/cafe/{cafeId}/configs/clientPrintSettings
requires authentication

Headers

Authorization
Example:
Bearer {YOUR_AUTH_KEY}

URL Parameters

cafeId
integer
required

Cafe ID.

Example request:
curl --request PUT \
    "https://api.icafecloud.com/api/v2/cafe//configs/clientPrintSettings" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}"
Example response:
Headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
    "code": 404,
    "message": "Url not match"
}

Get center config image

GET
https://api.icafecloud.com
/api/v2/cafe/{cafeId}/configs/action/image/{key}
requires authentication

Headers

Authorization
Example:
Bearer {YOUR_AUTH_KEY}

URL Parameters

cafeId
integer
required

Cafe ID.

key
string
required

Cinfig key.

Example request:
curl --request GET \
    --get "https://api.icafecloud.com/api/v2/cafe//configs/action/image/" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}"
Example response:
Headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
    "code": 404,
    "message": "Url not match"
}

Get sub licenses list

GET
https://api.icafecloud.com
/api/v2/cafe/{cafeId}/configs/action/subLicenses
requires authentication

Headers

Authorization
Example:
Bearer {YOUR_AUTH_KEY}

URL Parameters

cafeId
integer
required

Cafe ID.

Example request:
curl --request GET \
    --get "https://api.icafecloud.com/api/v2/cafe//configs/action/subLicenses" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}"
Example response:
Headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
    "code": 404,
    "message": "Url not match"
}

Get client background image

GET
https://api.icafecloud.com
/api/v2/cafe/{cafeId}/configs/action/clientBgImage
requires authentication

Headers

Authorization
Example:
Bearer {YOUR_AUTH_KEY}
Content-Type
Example:
application/json

URL Parameters

cafeId
integer
required

Cafe ID.

Query Parameters

name
string
required

Image name.

Example:
iCafeBackground1.jpg

Body Parameters

Example request:
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\"
}"
Example response:
Headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
    "code": 404,
    "message": "Url not match"
}

Get center config image

GET
https://api.icafecloud.com
/api/v2/cafe/{cafeId}/memberNewsConfigImage/{key}
requires authentication

Headers

Authorization
Example:
Bearer {YOUR_AUTH_KEY}

URL Parameters

cafeId
integer
required

Cafe ID.

key
string
required

Cinfig key.

Example request:
curl --request GET \
    --get "https://api.icafecloud.com/api/v2/cafe//memberNewsConfigImage/" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}"
Example response:
Headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
    "code": 404,
    "message": "Url not match"
}

PCs APIs

Get rooms

GET
https://api.icafecloud.com
/api/v2/cafe/{cafeId}/pcs/action/member_rooms
requires authentication

Headers

Authorization
Example:
Bearer {YOUR_AUTH_KEY}

URL Parameters

cafeId
integer
required

Cafe ID.

Example request:
curl --request GET \
    --get "https://api.icafecloud.com/api/v2/cafe//pcs/action/member_rooms" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}"
Example response:
{
    "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
        }
    ]
}

Update PCs

PUT
https://api.icafecloud.com
/api/v2/cafe/{cafeId}/pcs
requires authentication

Headers

Authorization
Example:
Bearer {YOUR_AUTH_KEY}
Content-Type
Example:
application/json

URL Parameters

cafeId
integer
required

Cafe ID.

Body Parameters

Example request:
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
}"
Example response:
{
    "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"
            }
        ]
    }
}

Delete PCs

DELETE
https://api.icafecloud.com
/api/v2/cafe/{cafeId}/pcs
requires authentication

Headers

Authorization
Example:
Bearer {YOUR_AUTH_KEY}
Content-Type
Example:
application/json

URL Parameters

cafeId
integer
required

Cafe ID.

Body Parameters

Example request:
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
}"
Example response:
Headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
    "code": 404,
    "message": "Url not match"
}

For multi-PC editing

POST
https://api.icafecloud.com
/api/v2/cafe/{cafeId}/pcs/action/multiPcInfo
requires authentication

Headers

Authorization
Example:
Bearer {YOUR_AUTH_KEY}
Content-Type
Example:
application/json

URL Parameters

cafeId
integer
required

Cafe ID.

Body Parameters

Example request:
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
}"
Example response:
Headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
    "code": 404,
    "message": "Url not match"
}

Set out of order

POST
https://api.icafecloud.com
/api/v2/cafe/{cafeId}/pcs/action/setOutOfOrder
requires authentication

Toggle the enabled/disabled (out of order) status for one or more PCs.

Headers

Authorization
Example:
Bearer {YOUR_AUTH_KEY}
Content-Type
Example:
application/json

URL Parameters

cafeId
integer
required

The ID of the cafe.

Body Parameters

Example request:
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
        }
    ]
}"
Example response:
Headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
    "code": 404,
    "message": "Url not match"
}

Get PC lists

GET
https://api.icafecloud.com
/api/v2/cafe/{cafeId}/pcs/action/getPcsList
requires authentication

Headers

Authorization
Example:
Bearer {YOUR_AUTH_KEY}
Content-Type
Example:
application/json

URL Parameters

cafeId
integer
required

Cafe ID.

Query Parameters

pc_name
string
required

PC name.

pc_console_type
integer
required

Console type(1-Other,2-Xbox,3-PS3,4-PS4,5-PS5,6-Will).

Body Parameters

Example request:
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
}"
Example response:
Headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
    "code": 404,
    "message": "Url not match"
}

Save PC layout

POST
https://api.icafecloud.com
/api/v2/cafe/{cafeId}/pcs/action/savePcLayout
requires authentication

Headers

Authorization
Example:
Bearer {YOUR_AUTH_KEY}
Content-Type
Example:
application/json

URL Parameters

cafeId
integer
required

Cafe ID.

Body Parameters

Example request:
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}]\"
}"
Example response:
Headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
    "code": 404,
    "message": "Url not match"
}

Get rooms

GET
https://api.icafecloud.com
/api/v2/cafe/{cafeId}/pcs/action/rooms
requires authentication

Headers

Authorization
Example:
Bearer {YOUR_AUTH_KEY}

URL Parameters

cafeId
integer
required

Cafe ID.

Example request:
curl --request GET \
    --get "https://api.icafecloud.com/api/v2/cafe//pcs/action/rooms" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}"
Example response:
{
    "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
        }
    ]
}

Console details

GET
https://api.icafecloud.com
/api/v2/cafe/{cafeId}/pcs/action/consoleDetail
requires authentication

Headers

Authorization
Example:
Bearer {YOUR_AUTH_KEY}

URL Parameters

cafeId
integer
required

Cafe ID.

Query Parameters

pc_name
string
required

PC name.

Example request:
curl --request GET \
    --get "https://api.icafecloud.com/api/v2/cafe//pcs/action/consoleDetail?pc_name=" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}"
Example response:
Headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
    "code": 404,
    "message": "Url not match"
}

PCs lists

GET
https://api.icafecloud.com
/api/v2/cafe/{cafeId}/pcs/action/member_pcs
requires authentication

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.

Headers

Authorization
Example:
Bearer {YOUR_AUTH_KEY}

URL Parameters

cafeId
integer
required

Cafe ID.

Example request:
curl --request GET \
    --get "https://api.icafecloud.com/api/v2/cafe//pcs/action/member_pcs" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}"
Example response:
{
    "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"
        }
    ]
}

PCs lists

GET
https://api.icafecloud.com
/api/v2/cafe/{cafeId}/pcs
requires authentication

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.

Headers

Authorization
Example:
Bearer {YOUR_AUTH_KEY}

URL Parameters

cafeId
integer
required

Cafe ID.

Example request:
curl --request GET \
    --get "https://api.icafecloud.com/api/v2/cafe//pcs" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}"
Example response:
{
    "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"
        }
    ]
}

Add PC

POST
https://api.icafecloud.com
/api/v2/cafe/{cafeId}/pcs
requires authentication

Headers

Authorization
Example:
Bearer {YOUR_AUTH_KEY}
Content-Type
Example:
application/json

URL Parameters

cafeId
integer
required

Cafe ID.

Body Parameters

Example request:
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
}"
Example response:
{
    "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"
            }
        ]
    }
}

PC list detailed

GET
https://api.icafecloud.com
/api/v2/cafe/{cafeId}/pcList
requires authentication

Headers

Authorization
Example:
Bearer {YOUR_AUTH_KEY}

URL Parameters

cafeId
integer
required

Cafe ID.

Example request:
curl --request GET \
    --get "https://api.icafecloud.com/api/v2/cafe//pcList" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}"
Example response:
Headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
    "code": 404,
    "message": "Url not match"
}

list of online PCs name

GET
https://api.icafecloud.com
/api/v2/cafe/{cafeId}/onlinePcList
requires authentication

Headers

Authorization
Example:
Bearer {YOUR_AUTH_KEY}

URL Parameters

cafeId
integer
required

Cafe ID.

Example request:
curl --request GET \
    --get "https://api.icafecloud.com/api/v2/cafe//onlinePcList" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}"
Example response:
Headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
    "code": 404,
    "message": "Url not match"
}

Set login lock

POST
https://api.icafecloud.com
/api/v2/cafe/{cafeId}/pcs/action/setLoginLock
requires authentication

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.

Headers

Authorization
Example:
Bearer {YOUR_AUTH_KEY}
Content-Type
Example:
application/json

URL Parameters

cafeId
integer
required

The ID of the cafe.

Body Parameters

Example request:
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
        }
    ]
}"
Example response:
Headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
    "code": 404,
    "message": "Url not match"
}

Build power-on QR code URLs for the given PCs

POST
https://api.icafecloud.com
/api/v2/cafe/{cafeId}/pcs/action/poweronQr
requires authentication

Returns one fixed, signed scan-to-power-on URL per PC. The signature is deterministic (same PC always yields the same URL), so the printed QR stays valid for the machine's lifetime. The host is the central domain app.icafecloud.com — the app resolves the cafe's current server from cafe_id, so a server migration does not require reprinting.

Headers

Authorization
Example:
Bearer {YOUR_AUTH_KEY}
Content-Type
Example:
application/json

URL Parameters

cafeId
integer
required

Cafe ID.

Body Parameters

Example request:
curl --request POST \
    "https://api.icafecloud.com/api/v2/cafe//pcs/action/poweronQr" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --data "{
    \"pc_names\": null
}"
Example response:
{
    "code": 200,
    "message": "success",
    "data": {
        "items": [
            {
                "pc_name": "PC01",
                "url": "https://app.icafecloud.com/scan.htm?action=poweron&cafe_id=7777&pc=PC01&sign=..."
            }
        ]
    }
}

Generate 4 digits PIN for TV

POST
https://api.icafecloud.com
/api/v2/cafe/{cafeId}/pcs/action/generateTVPin
requires authentication

Headers

Authorization
Example:
Bearer {YOUR_AUTH_KEY}
Content-Type
Example:
application/json

URL Parameters

cafeId
string
required
Example:
culpa

Body Parameters

Example request:
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
}"
Example response:
{
    "code": 200,
    "message": "success",
    "data": {
        "pin": "1234"
    }
}

Get PC layout init data for kiosk

GET
https://api.icafecloud.com
/api/v2/cafe/{cafeId}/pcs/action/layoutScreen
requires authentication

Headers

Authorization
Example:
Bearer {YOUR_AUTH_KEY}

URL Parameters

cafeId
integer
required

Cafe ID.

Example request:
curl --request GET \
    --get "https://api.icafecloud.com/api/v2/cafe//pcs/action/layoutScreen" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}"
Example response:
{
    "code": 200,
    "message": "success",
    "data": {
        "rooms": {},
        "pc_list": "",
        "credentials": {}
    }
}

PC list detailed

GET
https://api.icafecloud.com
/api/v2/cafe/{cafeId}/pcs/action/pcList
requires authentication

Headers

Authorization
Example:
Bearer {YOUR_AUTH_KEY}

URL Parameters

cafeId
integer
required

Cafe ID.

Example request:
curl --request GET \
    --get "https://api.icafecloud.com/api/v2/cafe//pcs/action/pcList" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}"
Example response:
Headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
    "code": 404,
    "message": "Url not match"
}

Boot hardware APIs

Boot hardware lists

GET
https://api.icafecloud.com
/api/v2/cafe/{cafeId}/bootHardwareProfiles
requires authentication

Headers

Authorization
Example:
Bearer {YOUR_AUTH_KEY}

URL Parameters

cafeId
integer
required

Cafe ID.

Example request:
curl --request GET \
    --get "https://api.icafecloud.com/api/v2/cafe//bootHardwareProfiles" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}"
Example response:
Headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
    "code": 404,
    "message": "Url not match"
}

Add boot hardware

POST
https://api.icafecloud.com
/api/v2/cafe/{cafeId}/bootHardwareProfiles
requires authentication

Headers

Authorization
Example:
Bearer {YOUR_AUTH_KEY}
Content-Type
Example:
application/json

URL Parameters

cafeId
integer
required

Cafe ID.

hardware_id
integer
required

Hardware ID.

hardware_desc
string
required

Description.

Body Parameters

Example request:
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\"
}"
Example response:
Headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
    "code": 404,
    "message": "Url not match"
}

Delete boot hardware

DELETE
https://api.icafecloud.com
/api/v2/cafe/{cafeId}/bootHardwareProfiles/{id}
requires authentication

Headers

Authorization
Example:
Bearer {YOUR_AUTH_KEY}

URL Parameters

cafeId
integer
required

Cafe ID.

id
integer
required

ID.

Example request:
curl --request DELETE \
    "https://api.icafecloud.com/api/v2/cafe//bootHardwareProfiles/" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}"
Example response:
Headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
    "code": 404,
    "message": "Url not match"
}

Products APIs

Get product lists

GET
https://api.icafecloud.com
/api/v2/cafe/{cafeId}/products
requires authentication

Headers

Authorization
Example:
Bearer {YOUR_AUTH_KEY}

URL Parameters

cafeId
integer
required

Cafe ID.

Query Parameters

product_group_id
string

Product group ID.

search_text
string

Search text.

sort_name
string

Sort by name.

sort
string

Sort(options:desc,asc).

Example:
desc
page
integer

Page number.

Example:
1
Example request:
curl --request GET \
    --get "https://api.icafecloud.com/api/v2/cafe//products?sort=desc&page=1" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}"
Example response:
Headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
    "code": 404,
    "message": "Url not match"
}

Get product details

GET
https://api.icafecloud.com
/api/v2/cafe/{cafeId}/products/{productId}
requires authentication

Headers

Authorization
Example:
Bearer {YOUR_AUTH_KEY}

URL Parameters

cafeId
integer
required

Cafe ID.

productId
integer
required

Product ID.

Example request:
curl --request GET \
    --get "https://api.icafecloud.com/api/v2/cafe//products/" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}"
Example response:
Headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
    "code": 404,
    "message": "Url not match"
}

Add product

POST
https://api.icafecloud.com
/api/v2/cafe/{cafeId}/products
requires authentication

Headers

Authorization
Example:
Bearer {YOUR_AUTH_KEY}
Content-Type
Example:
application/json

URL Parameters

cafeId
integer
required

Cafe ID.

Body Parameters

Example request:
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
}"
Example response:
Headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
    "code": 404,
    "message": "Url not match"
}

Update products

PUT
https://api.icafecloud.com
/api/v2/cafe/{cafeId}/products/{productId}
requires authentication

Headers

Authorization
Example:
Bearer {YOUR_AUTH_KEY}
Content-Type
Example:
application/json

URL Parameters

cafeId
integer
required

Cafe ID.

productId
integer
required

Product ID.

Body Parameters

Example request:
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
}"
Example response:
Headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
    "code": 404,
    "message": "Url not match"
}

Delete product

DELETE
https://api.icafecloud.com
/api/v2/cafe/{cafeId}/products/{productId}
requires authentication

Headers

Authorization
Example:
Bearer {YOUR_AUTH_KEY}

URL Parameters

cafeId
integer
required

Cafe ID.

productId
integer
required

Product ID.

Example request:
curl --request DELETE \
    "https://api.icafecloud.com/api/v2/cafe//products/" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}"
Example response:
Headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
    "code": 404,
    "message": "Url not match"
}

Import product

POST
https://api.icafecloud.com
/api/v2/cafe/{cafeId}/products/action/importProducts
requires authentication

Headers

Authorization
Example:
Bearer {YOUR_AUTH_KEY}
Content-Type
Example:
application/json

URL Parameters

cafeId
integer
required

Cafe ID.

Body Parameters

Example request:
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
}"
Example response:
Headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
    "code": 404,
    "message": "Url not match"
}

Delete product combo item

DELETE
https://api.icafecloud.com
/api/v2/cafe/{cafeId}/products/{productId}/productComboItem
requires authentication

Headers

Authorization
Example:
Bearer {YOUR_AUTH_KEY}
Content-Type
Example:
application/json

URL Parameters

cafeId
integer
required

Cafe ID.

productId
integer
required

Product ID.

Body Parameters

Example request:
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
}"
Example response:
Headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
    "code": 404,
    "message": "Url not match"
}

Restock

POST
https://api.icafecloud.com
/api/v2/cafe/{cafeId}/products/{productId}/restock
requires authentication

Headers

Authorization
Example:
Bearer {YOUR_AUTH_KEY}
Content-Type
Example:
application/json

URL Parameters

cafeId
integer
required

Cafe ID.

productId
integer
required

Product ID.

Query Parameters

restock_count
string
required
Example:
culpa
restock_comment
string
restock_cost
string

Body Parameters

Example request:
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
}"
Example response:
Headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
    "code": 404,
    "message": "Url not match"
}

Write off

POST
https://api.icafecloud.com
/api/v2/cafe/{cafeId}/products/{productId}/writeOff
requires authentication

Headers

Authorization
Example:
Bearer {YOUR_AUTH_KEY}
Content-Type
Example:
application/json

URL Parameters

cafeId
integer
required

Cafe ID.

productId
integer
required

Product ID.

Body Parameters

Example request:
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
}"
Example response:
Headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
    "code": 404,
    "message": "Url not match"
}

Shift stock logs

GET
https://api.icafecloud.com
/api/v2/cafe/{cafeId}/products/action/shiftStockLogs/{shiftId}
requires authentication

Headers

Authorization
Example:
Bearer {YOUR_AUTH_KEY}

URL Parameters

cafeId
integer
required

Cafe ID.

shiftId
integer
required

Cafe ID.

Example request:
curl --request GET \
    --get "https://api.icafecloud.com/api/v2/cafe//products/action/shiftStockLogs/" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}"
Example response:
Headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
    "code": 404,
    "message": "Url not match"
}

Stock realtime

GET
https://api.icafecloud.com
/api/v2/cafe/{cafeId}/products/action/stockRealtime
requires authentication

Headers

Authorization
Example:
Bearer {YOUR_AUTH_KEY}

URL Parameters

cafeId
integer
required

Cafe ID.

Example request:
curl --request GET \
    --get "https://api.icafecloud.com/api/v2/cafe//products/action/stockRealtime" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}"
Example response:
Headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
    "code": 404,
    "message": "Url not match"
}

Restore product

POST
https://api.icafecloud.com
/api/v2/cafe/{cafeId}/products/{productId}/restore
requires authentication

Headers

Authorization
Example:
Bearer {YOUR_AUTH_KEY}

URL Parameters

cafeId
integer
required

Cafe ID.

productId
integer
required

Product ID.

Example request:
curl --request POST \
    "https://api.icafecloud.com/api/v2/cafe//products//restore" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}"
Example response:
Headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
    "code": 404,
    "message": "Url not match"
}

Archive product

POST
https://api.icafecloud.com
/api/v2/cafe/{cafeId}/products/{productId}/archive
requires authentication

Headers

Authorization
Example:
Bearer {YOUR_AUTH_KEY}

URL Parameters

cafeId
integer
required

Cafe ID.

productId
integer
required

Product ID.

Example request:
curl --request POST \
    "https://api.icafecloud.com/api/v2/cafe//products//archive" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}"
Example response:
Headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
    "code": 404,
    "message": "Url not match"
}

Export csv template

GET
https://api.icafecloud.com
/api/v2/cafe/{cafeId}/products/action/exportTemplate
requires authentication

Headers

Authorization
Example:
Bearer {YOUR_AUTH_KEY}

URL Parameters

cafeId
integer
required

Cafe ID.

Example request:
curl --request GET \
    --get "https://api.icafecloud.com/api/v2/cafe//products/action/exportTemplate" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}"
Example response:
Headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
    "code": 404,
    "message": "Url not match"
}

Import product from csv

POST
https://api.icafecloud.com
/api/v2/cafe/{cafeId}/products/action/importProductsByCsv
requires authentication

Headers

Authorization
Example:
Bearer {YOUR_AUTH_KEY}

URL Parameters

cafeId
integer
required

Cafe ID.

Example request:
curl --request POST \
    "https://api.icafecloud.com/api/v2/cafe//products/action/importProductsByCsv" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}"
Example response:
Headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
    "code": 404,
    "message": "Url not match"
}

Get member shop data

GET
https://api.icafecloud.com
/api/v2/cafe/{cafeId}/memberShop
requires authentication

Headers

Authorization
Example:
Bearer {YOUR_AUTH_KEY}

URL Parameters

cafeId
integer
required

Cafe ID.

Example request:
curl --request GET \
    --get "https://api.icafecloud.com/api/v2/cafe//memberShop" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}"
Example response:
Headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
    "code": 404,
    "message": "Url not match"
}

News APIs

Get news lists

GET
https://api.icafecloud.com
/api/v2/cafe/{cafeId}/news
requires authentication

Headers

Authorization
Example:
Bearer {YOUR_AUTH_KEY}

URL Parameters

cafeId
integer
required

Cafe ID.

Example request:
curl --request GET \
    --get "https://api.icafecloud.com/api/v2/cafe//news" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}"
Example response:
Headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
    "code": 404,
    "message": "Url not match"
}

Add news

POST
https://api.icafecloud.com
/api/v2/cafe/{cafeId}/news
requires authentication

Headers

Authorization
Example:
Bearer {YOUR_AUTH_KEY}
Content-Type
Example:
application/json

URL Parameters

cafeId
integer
required

Cafe ID.

Body Parameters

Example request:
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
}"
Example response:
Headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
    "code": 404,
    "message": "Url not match"
}

Update news

PUT
PATCH
https://api.icafecloud.com
/api/v2/cafe/{cafeId}/news/{id}
requires authentication

Headers

Authorization
Example:
Bearer {YOUR_AUTH_KEY}
Content-Type
Example:
application/json

URL Parameters

cafeId
integer
required

Cafe ID.

id
integer
required

ID.

Body Parameters

Example request:
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
}"
Example response:
Headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
    "code": 404,
    "message": "Url not match"
}

Delete news

DELETE
https://api.icafecloud.com
/api/v2/cafe/{cafeId}/news/{id}
requires authentication

Headers

Authorization
Example:
Bearer {YOUR_AUTH_KEY}

URL Parameters

cafeId
integer
required

Cafe ID.

id
integer
required

ID.

Example request:
curl --request DELETE \
    "https://api.icafecloud.com/api/v2/cafe//news/" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}"
Example response:
Headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
    "code": 404,
    "message": "Url not match"
}

Get news lists

GET
https://api.icafecloud.com
/api/v2/cafe/{cafeId}/memberNews
requires authentication

Headers

Authorization
Example:
Bearer {YOUR_AUTH_KEY}

URL Parameters

cafeId
integer
required

Cafe ID.

Example request:
curl --request GET \
    --get "https://api.icafecloud.com/api/v2/cafe//memberNews" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}"
Example response:
Headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
    "code": 404,
    "message": "Url not match"
}

Boot disks APIs

Boot game fix lists

GET
https://api.icafecloud.com
/api/v2/cafe/{cafeId}/bootGamefixes
requires authentication

Headers

Authorization
Example:
Bearer {YOUR_AUTH_KEY}

URL Parameters

cafeId
integer
required

Cafe ID.

Example request:
curl --request GET \
    --get "https://api.icafecloud.com/api/v2/cafe//bootGamefixes" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}"
Example response:
Headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
    "code": 404,
    "message": "Url not match"
}

Add boot game fix

POST
https://api.icafecloud.com
/api/v2/cafe/{cafeId}/bootGamefixes
requires authentication

Headers

Authorization
Example:
Bearer {YOUR_AUTH_KEY}
Content-Type
Example:
application/json

URL Parameters

cafeId
integer
required

Cafe ID.

Body Parameters

Example request:
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
}"
Example response:
Headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
    "code": 404,
    "message": "Url not match"
}

Delete boot game fix

DELETE
https://api.icafecloud.com
/api/v2/cafe/{cafeId}/bootGamefixes
requires authentication

Headers

Authorization
Example:
Bearer {YOUR_AUTH_KEY}
Content-Type
Example:
application/json

URL Parameters

cafeId
integer
required

Cafe ID.

Body Parameters

Example request:
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
}"
Example response:
Headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
    "code": 404,
    "message": "Url not match"
}

Add boot disk

POST
https://api.icafecloud.com
/api/v2/cafe/{cafeId}/bootDisks
requires authentication

Headers

Authorization
Example:
Bearer {YOUR_AUTH_KEY}
Content-Type
Example:
application/json

URL Parameters

cafeId
integer
required

Cafe ID.

Body Parameters

Example request:
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
}"
Example response:
Headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
    "code": 404,
    "message": "Url not match"
}

Update boot disk

PUT
PATCH
https://api.icafecloud.com
/api/v2/cafe/{cafeId}/bootDisks/{id}
requires authentication

Headers

Authorization
Example:
Bearer {YOUR_AUTH_KEY}
Content-Type
Example:
application/json

URL Parameters

cafeId
integer
required

Cafe ID.

id
integer
required

ID.

Body Parameters

Example request:
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
}"
Example response:
Headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
    "code": 404,
    "message": "Url not match"
}

Delete boot disk

DELETE
https://api.icafecloud.com
/api/v2/cafe/{cafeId}/bootDisks/{id}
requires authentication

Headers

Authorization
Example:
Bearer {YOUR_AUTH_KEY}

URL Parameters

cafeId
integer
required

Cafe ID.

id
integer
required

ID.

Example request:
curl --request DELETE \
    "https://api.icafecloud.com/api/v2/cafe//bootDisks/" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}"
Example response:
Headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
    "code": 404,
    "message": "Url not match"
}

Boot disk lists

GET
https://api.icafecloud.com
/api/v2/cafe/{cafeId}/bootDisks
requires authentication

Headers

Authorization
Example:
Bearer {YOUR_AUTH_KEY}

URL Parameters

cafeId
integer
required

Cafe ID.

Example request:
curl --request GET \
    --get "https://api.icafecloud.com/api/v2/cafe//bootDisks" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}"
Example response:
{
    "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
        }
    ]
}

Boot disk details

GET
https://api.icafecloud.com
/api/v2/cafe/{cafeId}/bootDisks/{id}
requires authentication

Headers

Authorization
Example:
Bearer {YOUR_AUTH_KEY}

URL Parameters

cafeId
integer
required

Cafe ID.

id
integer
required

ID.

Example request:
curl --request GET \
    --get "https://api.icafecloud.com/api/v2/cafe//bootDisks/" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}"
Example response:
{
    "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"
            }
        ]
    }
}

强制该网吧重新拉取最新 gamefix 脚本,无需重新提交整个 game settings 表单。 只推进 icafe_js_update_time,具体的 WSS 推送(update_icafe_js / boot_push_config)由前端调用方负责发起

POST
https://api.icafecloud.com
/api/v2/cafe/{cafeId}/bootGamefixes/action/refresh
requires authentication

Headers

Authorization
Example:
Bearer {YOUR_AUTH_KEY}

URL Parameters

cafeId
integer
required

Cafe ID.

Example request:
curl --request POST \
    "https://api.icafecloud.com/api/v2/cafe//bootGamefixes/action/refresh" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}"
Example response:
Headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
    "code": 404,
    "message": "Url not match"
}

Promo APIs

Get promo lists

GET
https://api.icafecloud.com
/api/v2/cafe/{cafeId}/promo
requires authentication

Headers

Authorization
Example:
Bearer {YOUR_AUTH_KEY}

URL Parameters

cafeId
integer
required

Cafe ID.

Example request:
curl --request GET \
    --get "https://api.icafecloud.com/api/v2/cafe//promo" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}"
Example response:
Headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
    "code": 404,
    "message": "Url not match"
}

Add promo

POST
https://api.icafecloud.com
/api/v2/cafe/{cafeId}/promo
requires authentication

Headers

Authorization
Example:
Bearer {YOUR_AUTH_KEY}
Content-Type
Example:
application/json

URL Parameters

cafeId
integer
required

Cafe ID.

Body Parameters

Example request:
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
}"
Example response:
Headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
    "code": 404,
    "message": "Url not match"
}

Update promo

PUT
PATCH
https://api.icafecloud.com
/api/v2/cafe/{cafeId}/promo/{id}
requires authentication

Headers

Authorization
Example:
Bearer {YOUR_AUTH_KEY}
Content-Type
Example:
application/json

URL Parameters

cafeId
integer
required

Cafe ID.

id
integer
required

Promo ID.

Body Parameters

Example request:
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
}"
Example response:
Headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
    "code": 404,
    "message": "Url not match"
}

Delete promo

DELETE
https://api.icafecloud.com
/api/v2/cafe/{cafeId}/promo/{id}
requires authentication

Headers

Authorization
Example:
Bearer {YOUR_AUTH_KEY}

URL Parameters

cafeId
integer
required

Cafe ID.

id
integer
required

Promo ID.

Example request:
curl --request DELETE \
    "https://api.icafecloud.com/api/v2/cafe//promo/" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}"
Example response:
Headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
    "code": 404,
    "message": "Url not match"
}

Init all refer code

GET
https://api.icafecloud.com
/api/v2/cafe/{cafeId}/promo/init_all_refer_code
requires authentication

Headers

Authorization
Example:
Bearer {YOUR_AUTH_KEY}

URL Parameters

cafeId
integer
required

Cafe ID.

Example request:
curl --request GET \
    --get "https://api.icafecloud.com/api/v2/cafe//promo/init_all_refer_code" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}"
Example response:
Headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
    "code": 404,
    "message": "Url not match"
}

Promo info

GET
https://api.icafecloud.com
/api/v2/cafe/{cafeId}/promoInfo
requires authentication

Headers

Authorization
Example:
Bearer {YOUR_AUTH_KEY}
Content-Type
Example:
application/json

URL Parameters

cafeId
integer
required

Cafe ID.

Body Parameters

Example request:
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\"
}"
Example response:
Headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
    "code": 404,
    "message": "Url not match"
}

PC sessions APIs

Get payment info

POST
https://api.icafecloud.com
/api/v2/cafe/{cafeId}/pcSessions/paymentInfo
requires authentication

Headers

Authorization
Example:
Bearer {YOUR_AUTH_KEY}
Content-Type
Example:
application/json

URL Parameters

cafeId
integer
required

Cafe ID.

Body Parameters

Example request:
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
}"
Example response:
Headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
    "code": 404,
    "message": "Url not match"
}

Init add time money

POST
https://api.icafecloud.com
/api/v2/cafe/{cafeId}/pcSessions/initAddTimeMoney
requires authentication

Headers

Authorization
Example:
Bearer {YOUR_AUTH_KEY}
Content-Type
Example:
application/json

URL Parameters

cafeId
integer
required

Cafe ID.

Body Parameters

Example request:
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
}"
Example response:
Headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
    "code": 404,
    "message": "Url not match"
}

Init offer

POST
https://api.icafecloud.com
/api/v2/cafe/{cafeId}/pcSessions/initOffer
requires authentication

Headers

Authorization
Example:
Bearer {YOUR_AUTH_KEY}
Content-Type
Example:
application/json

URL Parameters

cafeId
integer
required

Cafe ID.

Body Parameters

Example request:
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
}"
Example response:
Headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
    "code": 404,
    "message": "Url not match"
}

Topup balance and start/update session

POST
https://api.icafecloud.com
/api/v2/cafe/{cafeId}/pcSessions/addTimeMoney
requires authentication

Headers

Authorization
Example:
Bearer {YOUR_AUTH_KEY}
Content-Type
Example:
application/json

URL Parameters

cafeId
integer
required

Cafe ID.

Body Parameters

Example request:
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
}"
Example response:
Headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
    "code": 404,
    "message": "Url not match"
}

Member session

POST
https://api.icafecloud.com
/api/v2/cafe/{cafeId}/pcSessions/memberSession
requires authentication

Headers

Authorization
Example:
Bearer {YOUR_AUTH_KEY}
Content-Type
Example:
application/json

URL Parameters

cafeId
integer
required

Cafe ID.

Body Parameters

Example request:
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
}"
Example response:
Headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
    "code": 404,
    "message": "Url not match"
}

Postpaid session

POST
https://api.icafecloud.com
/api/v2/cafe/{cafeId}/pcSessions/postpaidSession
requires authentication

Headers

Authorization
Example:
Bearer {YOUR_AUTH_KEY}
Content-Type
Example:
application/json

URL Parameters

cafeId
integer
required

Cafe ID.

Body Parameters

Example request:
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
}"
Example response:
Headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
    "code": 404,
    "message": "Url not match"
}

Add offer

POST
https://api.icafecloud.com
/api/v2/cafe/{cafeId}/pcSessions/addOffer
requires authentication

Headers

Authorization
Example:
Bearer {YOUR_AUTH_KEY}
Content-Type
Example:
application/json

URL Parameters

cafeId
integer
required

Cafe ID.

Body Parameters

Example request:
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
}"
Example response:
Headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
    "code": 404,
    "message": "Url not match"
}

Free session

POST
https://api.icafecloud.com
/api/v2/cafe/{cafeId}/pcSessions/freeSession
requires authentication

Headers

Authorization
Example:
Bearer {YOUR_AUTH_KEY}
Content-Type
Example:
application/json

URL Parameters

cafeId
integer
required

Cafe ID.

Body Parameters

Example request:
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
}"
Example response:
Headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
    "code": 404,
    "message": "Url not match"
}

Checkout

POST
https://api.icafecloud.com
/api/v2/cafe/{cafeId}/pcSessions/checkout
requires authentication

Headers

Authorization
Example:
Bearer {YOUR_AUTH_KEY}
Content-Type
Example:
application/json

URL Parameters

cafeId
integer
required

Cafe ID.

Body Parameters

Example request:
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
}"
Example response:
Headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
    "code": 404,
    "message": "Url not match"
}

Move

POST
https://api.icafecloud.com
/api/v2/cafe/{cafeId}/pcSessions/move
requires authentication

Headers

Authorization
Example:
Bearer {YOUR_AUTH_KEY}
Content-Type
Example:
application/json

URL Parameters

cafeId
integer
required

Cafe ID.

Body Parameters

Example request:
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
}"
Example response:
Headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
    "code": 404,
    "message": "Url not match"
}

Add admin message

POST
https://api.icafecloud.com
/api/v2/cafe/{cafeId}/pcSessions/adminMessage
requires authentication

Headers

Authorization
Example:
Bearer {YOUR_AUTH_KEY}
Content-Type
Example:
application/json

URL Parameters

cafeId
integer
required

Cafe ID.

Body Parameters

Example request:
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
}"
Example response:
Headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
    "code": 404,
    "message": "Url not match"
}

Cashier expense

POST
https://api.icafecloud.com
/api/v2/cafe/{cafeId}/pcSessions/cashierExpense
requires authentication

Headers

Authorization
Example:
Bearer {YOUR_AUTH_KEY}
Content-Type
Example:
application/json

URL Parameters

cafeId
integer
required

Cafe ID.

Body Parameters

Example request:
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
}"
Example response:
Headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
    "code": 404,
    "message": "Url not match"
}

Push client status

POST
https://api.icafecloud.com
/api/v2/cafe/{cafeId}/pcSessions/pushClientStatus
requires authentication

Headers

Authorization
Example:
Bearer {YOUR_AUTH_KEY}

URL Parameters

cafeId
integer
required

Cafe ID.

Body Parameters

Example request:
curl --request POST \
    "https://api.icafecloud.com/api/v2/cafe//pcSessions/pushClientStatus" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
Example response:
Headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
    "code": 404,
    "message": "Url not match"
}

Send wss command

POST
https://api.icafecloud.com
/api/v2/cafe/{cafeId}/pcSessions/sendWssCommand
requires authentication

Headers

Authorization
Example:
Bearer {YOUR_AUTH_KEY}
Content-Type
Example:
application/json

URL Parameters

cafeId
integer
required

Cafe ID.

Body Parameters

Example request:
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
}"
Example response:
Headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
    "code": 404,
    "message": "Url not match"
}

Transfer session: snapshot source PC's bill and attach it to target member; end source session.

POST
https://api.icafecloud.com
/api/v2/cafe/{cafeId}/pcSessions/transferPayment
requires authentication

Headers

Authorization
Example:
Bearer {YOUR_AUTH_KEY}
Content-Type
Example:
application/json

URL Parameters

cafeId
integer
required

Cafe ID.

Body Parameters

Example request:
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
}"
Example response:
Headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
    "code": 404,
    "message": "Url not match"
}

List unreturned devices for current PC session

GET
https://api.icafecloud.com
/api/v2/cafe/{cafeId}/pcSessions/devices
requires authentication

Headers

Authorization
Example:
Bearer {YOUR_AUTH_KEY}
Content-Type
Example:
application/json

URL Parameters

cafeId
integer
required

Cafe ID.

Query Parameters

pc_name
string
required

PC name.

Body Parameters

Example request:
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\"
}"
Example response:
Headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
    "code": 404,
    "message": "Url not match"
}

Add a device to current session

POST
https://api.icafecloud.com
/api/v2/cafe/{cafeId}/pcSessions/addDevices
requires authentication

Headers

Authorization
Example:
Bearer {YOUR_AUTH_KEY}
Content-Type
Example:
application/json

URL Parameters

cafeId
integer
required

Cafe ID.

Body Parameters

Example request:
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
}"
Example response:
Headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
    "code": 404,
    "message": "Url not match"
}

Return a device

POST
https://api.icafecloud.com
/api/v2/cafe/{cafeId}/pcSessions/returnDevice
requires authentication

Headers

Authorization
Example:
Bearer {YOUR_AUTH_KEY}
Content-Type
Example:
application/json

URL Parameters

cafeId
integer
required

Cafe ID.

Body Parameters

Example request:
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
}"
Example response:
Headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
    "code": 404,
    "message": "Url not match"
}

Usage history

GET
https://api.icafecloud.com
/api/v2/cafe/{cafeId}/pcSessions/usageHistory
requires authentication

Headers

Authorization
Example:
Bearer {YOUR_AUTH_KEY}
Content-Type
Example:
application/json

URL Parameters

cafeId
integer
required

Cafe ID.

Body Parameters

Example request:
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
}"
Example response:
Headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
    "code": 404,
    "message": "Url not match"
}

Member session history

GET
https://api.icafecloud.com
/api/v2/cafe/{cafeId}/pcSessions/{memberId}/memberSessionHistory
requires authentication

Headers

Authorization
Example:
Bearer {YOUR_AUTH_KEY}

URL Parameters

cafeId
integer
required

Cafe ID.

memberId
integer
required

Member ID.

Example request:
curl --request GET \
    --get "https://api.icafecloud.com/api/v2/cafe//pcSessions//memberSessionHistory" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}"
Example response:
Headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
    "code": 404,
    "message": "Url not match"
}

Boot PCs APIs

Get boot PC lists

GET
https://api.icafecloud.com
/api/v2/cafe/{cafeId}/bootPcs
requires authentication

Headers

Authorization
Example:
Bearer {YOUR_AUTH_KEY}

URL Parameters

cafeId
integer
required

Cafe ID.

Example request:
curl --request GET \
    --get "https://api.icafecloud.com/api/v2/cafe//bootPcs" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}"
Example response:
{
    "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"
        }
    ]
}

Get boot PC details

GET
https://api.icafecloud.com
/api/v2/cafe/{cafeId}/bootPcs/{id}
requires authentication

Headers

Authorization
Example:
Bearer {YOUR_AUTH_KEY}

URL Parameters

cafeId
integer
required

Cafe ID.

id
integer
required

ID.

Example request:
curl --request GET \
    --get "https://api.icafecloud.com/api/v2/cafe//bootPcs/" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}"
Example response:
Headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
    "code": 404,
    "message": "Url not match"
}

Add boot PC

POST
https://api.icafecloud.com
/api/v2/cafe/{cafeId}/bootPcs
requires authentication

Headers

Authorization
Example:
Bearer {YOUR_AUTH_KEY}
Content-Type
Example:
application/json

URL Parameters

cafeId
integer
required

Cafe ID.

Body Parameters

Example request:
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
}"
Example response:
Headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
    "code": 404,
    "message": "Url not match"
}

Update boot PC

PUT
https://api.icafecloud.com
/api/v2/cafe/{cafeId}/bootPcs/{bpcId}
requires authentication

Headers

Authorization
Example:
Bearer {YOUR_AUTH_KEY}
Content-Type
Example:
application/json

URL Parameters

cafeId
integer
required

Cafe ID.

bpcId
string
required
Example:
culpa
bcpId
integer
required

BCP ID.

Body Parameters

Example request:
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
}"
Example response:
Headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
    "code": 404,
    "message": "Url not match"
}

Delete boot PC

DELETE
https://api.icafecloud.com
/api/v2/cafe/{cafeId}/bootPcs/{bpcId}
requires authentication

Headers

Authorization
Example:
Bearer {YOUR_AUTH_KEY}

URL Parameters

cafeId
integer
required

Cafe ID.

bpcId
string
required
Example:
culpa
bcpId
integer
required

BCP ID.

Example request:
curl --request DELETE \
    "https://api.icafecloud.com/api/v2/cafe//bootPcs/culpa" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}"
Example response:
Headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
    "code": 404,
    "message": "Url not match"
}

Enable super client init

GET
https://api.icafecloud.com
/api/v2/cafe/{cafeId}/bootPcs/{bpcId}/enableSuperClientInit
requires authentication

Headers

Authorization
Example:
Bearer {YOUR_AUTH_KEY}

URL Parameters

cafeId
integer
required

Cafe ID.

bpcId
string
required
Example:
culpa
bcpId
integer
required

BCP ID.

Example request:
curl --request GET \
    --get "https://api.icafecloud.com/api/v2/cafe//bootPcs/culpa/enableSuperClientInit" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}"
Example response:
Headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
    "code": 404,
    "message": "Url not match"
}

Disable super client init

GET
https://api.icafecloud.com
/api/v2/cafe/{cafeId}/bootPcs/{bpcId}/disableSuperClientInit
requires authentication

Headers

Authorization
Example:
Bearer {YOUR_AUTH_KEY}

URL Parameters

cafeId
integer
required

Cafe ID.

bpcId
string
required
Example:
culpa
bcpId
integer
required

BCP ID.

Example request:
curl --request GET \
    --get "https://api.icafecloud.com/api/v2/cafe//bootPcs/culpa/disableSuperClientInit" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}"
Example response:
Headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
    "code": 404,
    "message": "Url not match"
}

Keep write back

GET
https://api.icafecloud.com
/api/v2/cafe/{cafeId}/bootPcs/{bpcId}/keepWriteBack
requires authentication

Headers

Authorization
Example:
Bearer {YOUR_AUTH_KEY}
Content-Type
Example:
application/json

URL Parameters

cafeId
integer
required

Cafe ID.

bpcId
string
required
Example:
culpa
bcpId
integer
required

BCP ID.

Body Parameters

Example request:
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
}"
Example response:
Headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
    "code": 404,
    "message": "Url not match"
}

Get Empty PC

GET
https://api.icafecloud.com
/api/v2/cafe/{cafeId}/bootPcs/action/emptyPc
requires authentication

Headers

Authorization
Example:
Bearer {YOUR_AUTH_KEY}

URL Parameters

cafeId
integer
required

Cafe ID.

Example request:
curl --request GET \
    --get "https://api.icafecloud.com/api/v2/cafe//bootPcs/action/emptyPc" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}"
Example response:
Headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
    "code": 404,
    "message": "Url not match"
}

Update multiple boot PCs

PUT
https://api.icafecloud.com
/api/v2/cafe/{cafeId}/bootPcs/action/updateMulti
requires authentication

Headers

Authorization
Example:
Bearer {YOUR_AUTH_KEY}
Content-Type
Example:
application/json

URL Parameters

cafeId
integer
required

Cafe ID.

Body Parameters

Example request:
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
}"
Example response:
Headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
    "code": 404,
    "message": "Url not match"
}

Import third-party diskless database

POST
https://api.icafecloud.com
/api/v2/cafe/{cafeId}/bootPcs/action/import
requires authentication

Headers

Authorization
Example:
Bearer {YOUR_AUTH_KEY}
Content-Type
Example:
multipart/form-data

URL Parameters

cafeId
integer
required

Cafe ID.

Body Parameters

Example request:
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/php5wdq0R" 
Example response:
Headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
    "code": 404,
    "message": "Url not match"
}

Game classes APIs

Get game classes lists

GET
https://api.icafecloud.com
/api/v2/cafe/{cafeId}/gameClasses
requires authentication

Headers

Authorization
Example:
Bearer {YOUR_AUTH_KEY}

URL Parameters

cafeId
integer
required

Cafe ID.

Example request:
curl --request GET \
    --get "https://api.icafecloud.com/api/v2/cafe//gameClasses" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}"
Example response:
Headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
    "code": 404,
    "message": "Url not match"
}

Add game classes

POST
https://api.icafecloud.com
/api/v2/cafe/{cafeId}/gameClasses
requires authentication

Headers

Authorization
Example:
Bearer {YOUR_AUTH_KEY}
Content-Type
Example:
application/json

URL Parameters

cafeId
integer
required

Cafe ID.

Body Parameters

Example request:
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
}"
Example response:
Headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
    "code": 404,
    "message": "Url not match"
}

Update game classes

PUT
https://api.icafecloud.com
/api/v2/cafe/{cafeId}/gameClasses
requires authentication

Headers

Authorization
Example:
Bearer {YOUR_AUTH_KEY}
Content-Type
Example:
application/json

URL Parameters

cafeId
integer
required

Cafe ID.

Body Parameters

Example request:
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
}"
Example response:
Headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
    "code": 404,
    "message": "Url not match"
}

Delete game classes

DELETE
https://api.icafecloud.com
/api/v2/cafe/{cafeId}/gameClasses
requires authentication

Headers

Authorization
Example:
Bearer {YOUR_AUTH_KEY}
Content-Type
Example:
application/json

URL Parameters

cafeId
integer
required

Cafe ID.

Body Parameters

Example request:
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\"
}"
Example response:
Headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
    "code": 404,
    "message": "Url not match"
}

Product groups APIs

Get product group lists

GET
https://api.icafecloud.com
/api/v2/cafe/{cafeId}/productGroups
requires authentication

Headers

Authorization
Example:
Bearer {YOUR_AUTH_KEY}

URL Parameters

cafeId
integer
required

Cafe ID.

Example request:
curl --request GET \
    --get "https://api.icafecloud.com/api/v2/cafe//productGroups" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}"
Example response:
{
    "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
            }
        ]
    }
}

Add product group

POST
https://api.icafecloud.com
/api/v2/cafe/{cafeId}/productGroups
requires authentication

Headers

Authorization
Example:
Bearer {YOUR_AUTH_KEY}
Content-Type
Example:
application/json

URL Parameters

cafeId
integer
required

Cafe ID.

Body Parameters

Example request:
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
}"
Example response:
Headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
    "code": 404,
    "message": "Url not match"
}

Update product group

PUT
PATCH
https://api.icafecloud.com
/api/v2/cafe/{cafeId}/productGroups/{id}
requires authentication

Headers

Authorization
Example:
Bearer {YOUR_AUTH_KEY}
Content-Type
Example:
application/json

URL Parameters

cafeId
integer
required

Cafe ID.

id
integer
required

Product group ID.

Body Parameters

Example request:
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
}"
Example response:
Headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
    "code": 404,
    "message": "Url not match"
}

Delete product group

DELETE
https://api.icafecloud.com
/api/v2/cafe/{cafeId}/productGroups/{id}
requires authentication

Headers

Authorization
Example:
Bearer {YOUR_AUTH_KEY}

URL Parameters

cafeId
integer
required

Cafe ID.

id
integer
required

Product group ID.

Example request:
curl --request DELETE \
    "https://api.icafecloud.com/api/v2/cafe//productGroups/" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}"
Example response:
Headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
    "code": 404,
    "message": "Url not match"
}

Offers APIs

Get offers details

GET
https://api.icafecloud.com
/api/v2/cafe/{cafeId}/offers/{productId}
requires authentication

Headers

Authorization
Example:
Bearer {YOUR_AUTH_KEY}

URL Parameters

cafeId
integer
required

Cafe ID.

productId
integer
required

ID.

Example request:
curl --request GET \
    --get "https://api.icafecloud.com/api/v2/cafe//offers/" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}"
Example response:
Headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
    "code": 404,
    "message": "Url not match"
}

Add offers

POST
https://api.icafecloud.com
/api/v2/cafe/{cafeId}/offers
requires authentication

Headers

Authorization
Example:
Bearer {YOUR_AUTH_KEY}
Content-Type
Example:
application/json

URL Parameters

cafeId
integer
required

Cafe ID.

Body Parameters

Example request:
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\": \"kymwkiinfowtzmi\"
}"
Example response:
Headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
    "code": 404,
    "message": "Url not match"
}

Update offers

PUT
https://api.icafecloud.com
/api/v2/cafe/{cafeId}/offers/{productId}
requires authentication

Headers

Authorization
Example:
Bearer {YOUR_AUTH_KEY}
Content-Type
Example:
application/json

URL Parameters

cafeId
integer
required

Cafe ID.

productId
integer
required

Product ID.

Body Parameters

Example request:
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\": \"kymwkiinfowtzmi\"
}"
Example response:
Headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
    "code": 404,
    "message": "Url not match"
}

Delete offers

DELETE
https://api.icafecloud.com
/api/v2/cafe/{cafeId}/offers/{productId}
requires authentication

Headers

Authorization
Example:
Bearer {YOUR_AUTH_KEY}

URL Parameters

cafeId
integer
required

Cafe ID.

productId
integer
required

Product ID.

Example request:
curl --request DELETE \
    "https://api.icafecloud.com/api/v2/cafe//offers/" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}"
Example response:
Headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
    "code": 404,
    "message": "Url not match"
}

Check offers

GET
https://api.icafecloud.com
/api/v2/cafe/{cafeId}/offers/{productId}/check
requires authentication

Headers

Authorization
Example:
Bearer {YOUR_AUTH_KEY}

URL Parameters

cafeId
integer
required

Cafe ID.

productId
integer
required

Product ID.

Example request:
curl --request GET \
    --get "https://api.icafecloud.com/api/v2/cafe//offers//check" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}"
Example response:
Headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
    "code": 404,
    "message": "Url not match"
}

Members APIs

Get member details

GET
https://api.icafecloud.com
/api/v2/cafe/{cafeId}/members/{memberId}
requires authentication

Headers

Authorization
Example:
Bearer {YOUR_AUTH_KEY}

URL Parameters

cafeId
integer
required

Cafe ID.

memberId
integer
required

Member ID.

Example request:
curl --request GET \
    --get "https://api.icafecloud.com/api/v2/cafe//members/" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}"
Example response:
{
    "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": "$"
    }
}

Balance history

GET
https://api.icafecloud.com
/api/v2/cafe/{cafeId}/members/{memberId}/balanceHistory
requires authentication

Headers

Authorization
Example:
Bearer {YOUR_AUTH_KEY}

URL Parameters

cafeId
integer
required

Cafe ID.

memberId
integer
required

Member ID.

Query Parameters

page
integer

Page number (1 - n).

Example request:
curl --request GET \
    --get "https://api.icafecloud.com/api/v2/cafe//members//balanceHistory" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}"
Example response:
{
    "code": 200,
    "message": "success",
    "data": []
}

Get member orders

GET
https://api.icafecloud.com
/api/v2/cafe/{cafeId}/members/{memberId}/orders
requires authentication

Headers

Authorization
Example:
Bearer {YOUR_AUTH_KEY}

URL Parameters

cafeId
integer
required

Cafe ID.

memberId
integer
required

Member ID.

Query Parameters

search_text
string
page
string
sort_name
string
sort
string
Example request:
curl --request GET \
    --get "https://api.icafecloud.com/api/v2/cafe//members//orders" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}"
Example response:
{
    "code": 200,
    "message": "success",
    "data": []
}

checklist

GET
https://api.icafecloud.com
/api/v2/cafe/{cafeId}/members/{memberId}/checklist
requires authentication

Headers

Authorization
Example:
Bearer {YOUR_AUTH_KEY}
Content-Type
Example:
application/json

URL Parameters

cafeId
integer
required

Cafe ID.

memberId
string
required
Example:
culpa

Body Parameters

Example request:
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-08-10T11:03:08\",
    \"end\": \"2026-08-10T11:03:08\",
    \"pc_name\": \"culpa\"
}"
Example response:
Headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
    "code": 404,
    "message": "Url not match"
}

Add member

POST
https://api.icafecloud.com
/api/v2/cafe/{cafeId}/members/action/validateAccount
requires authentication

Headers

Authorization
Example:
Bearer {YOUR_AUTH_KEY}
Content-Type
Example:
application/json

URL Parameters

cafeId
integer
required

Cafe ID.

Body Parameters

Example request:
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
}"
Example response:
Headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
    "code": 404,
    "message": "Url not match"
}

Update member

PUT
https://api.icafecloud.com
/api/v2/cafe/{cafeId}/members/{memberId}
requires authentication

Headers

Authorization
Example:
Bearer {YOUR_AUTH_KEY}
Content-Type
Example:
application/json

URL Parameters

cafeId
integer
required

Cafe ID.

memberId
string
required
Example:
culpa

Body Parameters

Example request:
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\"
}"
Example response:
Headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
    "code": 404,
    "message": "Url not match"
}

Verify member info

POST
https://api.icafecloud.com
/api/v2/cafe/{cafeId}/members/action/memberInfo
requires authentication

verify password, get member id from member name

Headers

Authorization
Example:
Bearer {YOUR_AUTH_KEY}
Content-Type
Example:
application/json

URL Parameters

cafeId
integer
required

Cafe ID.

Body Parameters

Example request:
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
}"
Example response:
Headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
    "code": 404,
    "message": "Url not match"
}

Add guest account

POST
https://api.icafecloud.com
/api/v2/cafe/{cafeId}/members/action/addGuest
requires authentication

Headers

Authorization
Example:
Bearer {YOUR_AUTH_KEY}
Content-Type
Example:
application/json

URL Parameters

cafeId
integer
required

Cafe ID.

Body Parameters

Example request:
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\"
}"
Example response:
Headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
    "code": 404,
    "message": "Url not match"
}

Topup

POST
https://api.icafecloud.com
/api/v2/cafe/{cafeId}/members/action/topup
requires authentication

Headers

Authorization
Example:
Bearer {YOUR_AUTH_KEY}
Content-Type
Example:
application/json

URL Parameters

cafeId
integer
required

Cafe ID.

Body Parameters

Example request:
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
}"
Example response:
Headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
    "code": 404,
    "message": "Url not match"
}

Add loan

POST
https://api.icafecloud.com
/api/v2/cafe/{cafeId}/members/action/loan
requires authentication

add loan to member

Headers

Authorization
Example:
Bearer {YOUR_AUTH_KEY}
Content-Type
Example:
application/json

URL Parameters

cafeId
integer
required

Cafe ID.

Body Parameters

Example request:
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
}"
Example response:
Headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
    "code": 404,
    "message": "Url not match"
}

Get topup bonus

POST
https://api.icafecloud.com
/api/v2/cafe/{cafeId}/members/action/fetchBonus
requires authentication

get bonus from topup

Headers

Authorization
Example:
Bearer {YOUR_AUTH_KEY}

URL Parameters

cafeId
integer
required

Cafe ID.

Body Parameters

Example request:
curl --request POST \
    "https://api.icafecloud.com/api/v2/cafe//members/action/fetchBonus" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
Example response:
Headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
    "code": 404,
    "message": "Url not match"
}

Multiple update members

POST
https://api.icafecloud.com
/api/v2/cafe/{cafeId}/members/action/multiUpdate
requires authentication

Headers

Authorization
Example:
Bearer {YOUR_AUTH_KEY}
Content-Type
Example:
application/json

URL Parameters

cafeId
integer
required

Cafe ID.

Body Parameters

Example request:
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
}"
Example response:
Headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
    "code": 404,
    "message": "Url not match"
}

Reset member password

POST
https://api.icafecloud.com
/api/v2/cafe/{cafeId}/members/action/resetPassword
requires authentication

Direct mode resets to the cafe's configured default_member_password (123456 unless customized)

Headers

Authorization
Example:
Bearer {YOUR_AUTH_KEY}
Content-Type
Example:
application/json

URL Parameters

cafeId
integer
required

Cafe ID.

Body Parameters

Example request:
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
}"
Example response:
Headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
    "code": 404,
    "message": "Url not match"
}

refresh member bonuse

POST
https://api.icafecloud.com
/api/v2/cafe/{cafeId}/members/action/refreshBonus
requires authentication

Headers

Authorization
Example:
Bearer {YOUR_AUTH_KEY}

URL Parameters

cafeId
string
required
Example:
culpa

Query Parameters

license
integer
required

License ID.

Example request:
curl --request POST \
    "https://api.icafecloud.com/api/v2/cafe/culpa/members/action/refreshBonus?license=" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}"
Example response:
{
    "code": 200,
    "message": "success",
    "data": []
}

Reset member game coins

POST
https://api.icafecloud.com
/api/v2/cafe/{cafeId}/members/action/resetGameCoin
requires authentication

Headers

Authorization
Example:
Bearer {YOUR_AUTH_KEY}

URL Parameters

cafeId
integer
required

Cafe ID.

Example request:
curl --request POST \
    "https://api.icafecloud.com/api/v2/cafe//members/action/resetGameCoin" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}"
Example response:
Headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
    "code": 404,
    "message": "Url not match"
}

Reset member game coins

POST
https://api.icafecloud.com
/api/v2/cafe/{cafeId}/members/action/resetPoint
requires authentication

Headers

Authorization
Example:
Bearer {YOUR_AUTH_KEY}

URL Parameters

cafeId
integer
required

Cafe ID.

Example request:
curl --request POST \
    "https://api.icafecloud.com/api/v2/cafe//members/action/resetPoint" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}"
Example response:
Headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
    "code": 404,
    "message": "Url not match"
}

Multiple delete members

POST
https://api.icafecloud.com
/api/v2/cafe/{cafeId}/members/action/multiDelete
requires authentication

Headers

Authorization
Example:
Bearer {YOUR_AUTH_KEY}
Content-Type
Example:
application/json

URL Parameters

cafeId
integer
required

Cafe ID.

Body Parameters

Example request:
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
}"
Example response:
Headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
    "code": 404,
    "message": "Url not match"
}

Get member settings

GET
https://api.icafecloud.com
/api/v2/cafe/{cafeId}/members/action/memberSettings
requires authentication

Headers

Authorization
Example:
Bearer {YOUR_AUTH_KEY}

URL Parameters

cafeId
integer
required

Cafe ID.

Example request:
curl --request GET \
    --get "https://api.icafecloud.com/api/v2/cafe//members/action/memberSettings" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}"
Example response:
Headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
    "code": 404,
    "message": "Url not match"
}

Export member to csv

GET
https://api.icafecloud.com
/api/v2/cafe/{cafeId}/members/action/export
requires authentication

Headers

Authorization
Example:
Bearer {YOUR_AUTH_KEY}

URL Parameters

cafeId
integer
required

Cafe ID.

Example request:
curl --request GET \
    --get "https://api.icafecloud.com/api/v2/cafe//members/action/export" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}"
Example response:
Headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
    "code": 404,
    "message": "Url not match"
}

Get center player rank url

GET
https://api.icafecloud.com
/api/v2/cafe/{cafeId}/members/action/rankingUrl
requires authentication

Headers

Authorization
Example:
Bearer {YOUR_AUTH_KEY}

URL Parameters

cafeId
integer
required

Cafe ID.

Example request:
curl --request GET \
    --get "https://api.icafecloud.com/api/v2/cafe//members/action/rankingUrl" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}"
Example response:
Headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
    "code": 404,
    "message": "Url not match"
}

Search member

GET
https://api.icafecloud.com
/api/v2/cafe/{cafeId}/members/action/suggestMembers
requires authentication

Headers

Authorization
Example:
Bearer {YOUR_AUTH_KEY}

URL Parameters

cafeId
integer
required

Cafe ID.

Query Parameters

search_text
string
required

search text.

has_detail
integer

the result includes details or not.

Example request:
curl --request GET \
    --get "https://api.icafecloud.com/api/v2/cafe//members/action/suggestMembers?search_text=" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}"
Example response:
Headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
    "code": 404,
    "message": "Url not match"
}

Get member offer list

GET
https://api.icafecloud.com
/api/v2/cafe/{cafeId}/members/{memberId}/offers
requires authentication

Headers

Authorization
Example:
Bearer {YOUR_AUTH_KEY}

URL Parameters

cafeId
integer
required

Cafe ID.

memberId
integer
required

Member ID.

Example request:
curl --request GET \
    --get "https://api.icafecloud.com/api/v2/cafe//members//offers" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}"
Example response:
Headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
    "code": 404,
    "message": "Url not match"
}

Export csv template

GET
https://api.icafecloud.com
/api/v2/cafe/{cafeId}/members/action/exportTemplate
requires authentication

Headers

Authorization
Example:
Bearer {YOUR_AUTH_KEY}

URL Parameters

cafeId
integer
required

Cafe ID.

Example request:
curl --request GET \
    --get "https://api.icafecloud.com/api/v2/cafe//members/action/exportTemplate" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}"
Example response:
Headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
    "code": 404,
    "message": "Url not match"
}

Import member from csv

POST
https://api.icafecloud.com
/api/v2/cafe/{cafeId}/members/action/import
requires authentication

Headers

Authorization
Example:
Bearer {YOUR_AUTH_KEY}

URL Parameters

cafeId
integer
required

Cafe ID.

Example request:
curl --request POST \
    "https://api.icafecloud.com/api/v2/cafe//members/action/import" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}"
Example response:
Headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
    "code": 404,
    "message": "Url not match"
}

Import member by license name

POST
https://api.icafecloud.com
/api/v2/cafe/{cafeId}/members/action/importMembers
requires authentication

Headers

Authorization
Example:
Bearer {YOUR_AUTH_KEY}
Content-Type
Example:
application/json

URL Parameters

cafeId
integer
required

Cafe ID.

Body Parameters

Example request:
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\"
}"
Example response:
Headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
    "code": 404,
    "message": "Url not match"
}

Get member lists

GET
https://api.icafecloud.com
/api/v2/cafe/{cafeId}/members
requires authentication

Headers

Authorization
Example:
Bearer {YOUR_AUTH_KEY}

URL Parameters

cafeId
integer
required

Cafe ID.

Query Parameters

search_text
string

Search text.

search_field
string

Search field.

sort_name
string

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).

sort
string

Sort direction ('desc' or 'asc').

page
integer

Page number (1 - n).

guest
integer

Search guest or not (0, 1).

Example request:
curl --request GET \
    --get "https://api.icafecloud.com/api/v2/cafe//members" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}"
Example response:
{
    "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
    }
}

Get member init data

GET
https://api.icafecloud.com
/api/v2/cafe/{cafeId}/members/action/memberInitData
requires authentication

Headers

Authorization
Example:
Bearer {YOUR_AUTH_KEY}

URL Parameters

cafeId
integer
required

Cafe ID.

Example request:
curl --request GET \
    --get "https://api.icafecloud.com/api/v2/cafe//members/action/memberInitData" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}"
Example response:
Headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
    "code": 404,
    "message": "Url not match"
}

Init member referrla code

POST
https://api.icafecloud.com
/api/v2/cafe/{cafeId}/initReferCode
requires authentication

Headers

Authorization
Example:
Bearer {YOUR_AUTH_KEY}
Content-Type
Example:
application/json

URL Parameters

cafeId
integer
required

Cafe ID.

Body Parameters

Example request:
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
}"
Example response:
Headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
    "code": 404,
    "message": "Url not match"
}

Customer feedback

POST
https://api.icafecloud.com
/api/v2/cafe/{cafeId}/customerFeedback
requires authentication

Headers

Authorization
Example:
Bearer {YOUR_AUTH_KEY}
Content-Type
Example:
application/json

URL Parameters

cafeId
integer
required

Cafe ID.

Body Parameters

Example request:
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
}"
Example response:
{
    "code": 200,
    "message": "success",
    "data": {}
}

Member balance history

GET
https://api.icafecloud.com
/api/v2/cafe/{cafeId}/memberBalanceHistory
requires authentication

Headers

Authorization
Example:
Bearer {YOUR_AUTH_KEY}

URL Parameters

cafeId
integer
required

Cafe ID.

Example request:
curl --request GET \
    --get "https://api.icafecloud.com/api/v2/cafe//memberBalanceHistory" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}"
Example response:
{
    "code": 200,
    "message": "success",
    "data": []
}

Member checklist

GET
https://api.icafecloud.com
/api/v2/cafe/{cafeId}/memberChecklist
requires authentication

Headers

Authorization
Example:
Bearer {YOUR_AUTH_KEY}

URL Parameters

cafeId
integer
required

Cafe ID.

Example request:
curl --request GET \
    --get "https://api.icafecloud.com/api/v2/cafe//memberChecklist" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}"
Example response:
Headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
    "code": 404,
    "message": "Url not match"
}

Get real time balance

POST
https://api.icafecloud.com
/api/v2/cafe/{cafeId}/getRealTimeBalance
requires authentication

Headers

Authorization
Example:
Bearer {YOUR_AUTH_KEY}

URL Parameters

cafeId
string
required
Example:
culpa
Example request:
curl --request POST \
    "https://api.icafecloud.com/api/v2/cafe/culpa/getRealTimeBalance" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}"
Example response:
{
  "code": 200,
  "message": "success",
  "data": {
     "pc_cost": "1.00",
     "member_balance": "138.00",
     "member_balance_bonus": "94.00",
     "member_coin_balance": "-1.00",
  }
}

Get the member's available offers for a specific PC.

GET
https://api.icafecloud.com
/api/v2/cafe/{cafeId}/memberAvailableOffers
requires authentication

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.

Headers

Authorization
Example:
Bearer {YOUR_AUTH_KEY}

URL Parameters

cafeId
integer
required

The cafe ID.

Example:
12

Query Parameters

pc_name
string
required

The PC name, used to filter offers incompatible with the PC's group.

Example:
PC01
Example request:
curl --request GET \
    --get "https://api.icafecloud.com/api/v2/cafe/12/memberAvailableOffers?pc_name=PC01" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}"
Example response:
{
    "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
            }
        ]
    }
}

dengi pay result - https://sandbox.dengi.kg/qrpay/result-url

POST
https://api.icafecloud.com
/api/v2/cafe/{cafeId}/dengiResult
requires authentication

Headers

Authorization
Example:
Bearer {YOUR_AUTH_KEY}

URL Parameters

cafeId
string
required
Example:
culpa
Example request:
curl --request POST \
    "https://api.icafecloud.com/api/v2/cafe/culpa/dengiResult" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}"
Example response:
Headers
cache-control: no-cache, private
content-type: application/json
x-ratelimit-limit: 200
x-ratelimit-remaining: 195
x-ratelimit-reset: 1786359849
retry-after: 56
access-control-allow-origin: *
{
    "code": 0,
    "message": "Undefined array key \"trans_id\""
}

mercadoPago pay result

POST
https://api.icafecloud.com
/api/v2/cafe/{cafeId}/mercadopago/result
requires authentication

Headers

Authorization
Example:
Bearer {YOUR_AUTH_KEY}

URL Parameters

cafeId
string
required
Example:
culpa
Example request:
curl --request POST \
    "https://api.icafecloud.com/api/v2/cafe/culpa/mercadopago/result" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}"
Example response:
Headers
cache-control: no-cache, private
content-type: application/json
x-ratelimit-limit: 200
x-ratelimit-remaining: 194
x-ratelimit-reset: 1786359849
retry-after: 56
access-control-allow-origin: *
{
    "code": 200,
    "message": "success",
    "data": []
}

Manual pay confirm api

POST
https://api.icafecloud.com
/api/v2/cafe/{cafeId}/manual/pay
requires authentication

Headers

Authorization
Example:
Bearer {YOUR_AUTH_KEY}
Content-Type
Example:
application/json

URL Parameters

cafeId
string
required
Example:
culpa

Body Parameters

Example request:
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\"
}"
Example response:
Headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
    "code": 401,
    "message": "Unauthenticated."
}

Tinkoff payment notification callback ref https://www.tbank.ru/kassa/dev/payments/#tag/Uvedomleniya-ob-operaciyah/Po-elektronnoj-pochte ref https://www.tbank.ru/kassa/dev/payments/#tag/Standartnyj-platezh/operation/GetState

GET
POST
PUT
PATCH
DELETE
OPTIONS
https://api.icafecloud.com
/api/v2/cafe/{cafeId}/tinkoff/notification
requires authentication

Headers

Authorization
Example:
Bearer {YOUR_AUTH_KEY}

URL Parameters

cafeId
integer
required

Cafe ID.

Example request:
curl --request GET \
    --get "https://api.icafecloud.com/api/v2/cafe//tinkoff/notification" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}"
Example response:
Headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
    "code": 404,
    "message": "Url not match"
}

finik pay result - https://quip.com/dTaoApuzXEn1

GET
POST
PUT
PATCH
DELETE
OPTIONS
https://api.icafecloud.com
/api/v2/cafe/{cafeId}/finik/callback
requires authentication

Headers

Authorization
Example:
Bearer {YOUR_AUTH_KEY}

URL Parameters

cafeId
string
required
Example:
culpa
Example request:
curl --request GET \
    --get "https://api.icafecloud.com/api/v2/cafe/culpa/finik/callback" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}"
Example response:
Headers
cache-control: no-cache, private
content-type: application/json
x-ratelimit-limit: 200
x-ratelimit-remaining: 185
x-ratelimit-reset: 1786359849
retry-after: 55
access-control-allow-origin: *
{
    "code": 0,
    "message": "Undefined array key \"order_amount\""
}

Reports APIs

Report data

GET
https://api.icafecloud.com
/api/v2/cafe/{cafeId}/reports/reportData
requires authentication

Headers

Authorization
Example:
Bearer {YOUR_AUTH_KEY}

URL Parameters

cafeId
integer
required

Cafe ID.

Query Parameters

date_start
string
required

Start date.

date_end
string
required

End date.

time_start
string
required

Start time(00:00).

time_end
string
required

End time(00:00).

log_staff_name
string

Staff name.

member_group_id
integer

Member group ID.

pc_group_id
integer

PC group ID.

data_source
string

Data source(recent,history).

Example:
recent
Example request:
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}"
Example response:
Headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
    "code": 404,
    "message": "Url not match"
}

Report chart

GET
https://api.icafecloud.com
/api/v2/cafe/{cafeId}/reports/reportChart
requires authentication

Headers

Authorization
Example:
Bearer {YOUR_AUTH_KEY}

URL Parameters

cafeId
integer
required

Cafe ID.

Query Parameters

date_start
string
required

Start date.

date_end
string
required

End date.

time_start
string
required
Example:
culpa
time_end
string
required
Example:
culpa
log_staff_name
string

Staff name.

Example:
all
member_group_id
integer

Member group ID.

pc_group_id
integer

PC group ID.

chart_type
string

Chart type(income,totup,sale,product,offer,booking).

Example:
income
data_source
string

Data source(recent,history).

Example:
recent
Example request:
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}"
Example response:
{
    "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"
        }
    }
}

Shift list

GET
https://api.icafecloud.com
/api/v2/cafe/{cafeId}/reports/shiftList
requires authentication

Headers

Authorization
Example:
Bearer {YOUR_AUTH_KEY}

URL Parameters

cafeId
integer
required

Cafe ID.

Query Parameters

date_start
string
required

Start date.

date_end
string
required

End date.

time_start
string
required

Start time.

time_end
string
required

End time.

shift_staff_name
string
required

Staff name.

Example request:
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}"
Example response:
Headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
    "code": 404,
    "message": "Url not match"
}

Shift detail

GET
https://api.icafecloud.com
/api/v2/cafe/{cafeId}/reports/shiftDetail/{shiftId}
requires authentication

Headers

Authorization
Example:
Bearer {YOUR_AUTH_KEY}

URL Parameters

cafeId
integer
required

Cafe ID.

shiftId
string
required
Example:
culpa
Example request:
curl --request GET \
    --get "https://api.icafecloud.com/api/v2/cafe//reports/shiftDetail/culpa" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}"
Example response:
Headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
    "code": 404,
    "message": "Url not match"
}

Income comparison report

GET
https://api.icafecloud.com
/api/v2/cafe/{cafeId}/reports/reportComparison
requires authentication

收入报表"经营对比":在不改变既有财务口径的前提下,返回当前期 + 对比期 + 预计算差额/环比。 汇总口径的唯一来源仍是 reportData()——本方法内部对两个周期各调用一次 reportData(scope=summary), 只算 Total 卡片所需的 7 项汇总、跳过排行/明细/游戏/问卷等重负载(方案 §6.4),绝不复制财务公式。 对比期为历史数据,额外缓存 5 分钟,避免重复打远程归档库。

Headers

Authorization
Example:
Bearer {YOUR_AUTH_KEY}
Content-Type
Example:
application/json

URL Parameters

cafeId
integer
required

Cafe ID.

Query Parameters

comparison_mode
string

none|previous_period|previous_week|previous_month|custom.

Example:
previous_month

Body Parameters

Example request:
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\"
}"
Example response:
Headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
    "code": 404,
    "message": "Url not match"
}

Customer analysis

GET
https://api.icafecloud.com
/api/v2/cafe/{cafeId}/reports/customerAnalysis
requires authentication

Headers

Authorization
Example:
Bearer {YOUR_AUTH_KEY}

URL Parameters

cafeId
integer
required

Cafe ID.

Query Parameters

date_start
string
required
Example:
culpa
date_end
string
required
Example:
culpa
time_start
string
required
Example:
culpa
time_end
string
required
Example:
culpa
Example request:
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}"
Example response:
Headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
    "code": 404,
    "message": "Url not match"
}

Customer consumption export

GET
https://api.icafecloud.com
/api/v2/cafe/{cafeId}/reports/customerConsumptionExport
requires authentication

Headers

Authorization
Example:
Bearer {YOUR_AUTH_KEY}

URL Parameters

cafeId
integer
required

Cafe ID.

Query Parameters

date_start
string
required
Example:
culpa
date_end
string
required
Example:
culpa
time_start
string
required
Example:
culpa
time_end
string
required
Example:
culpa
Example request:
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}"
Example response:
Headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
    "code": 404,
    "message": "Url not match"
}

Staff shift report

GET
https://api.icafecloud.com
/api/v2/cafe/{cafeId}/reports/reportStaffShift
requires authentication

Headers

Authorization
Example:
Bearer {YOUR_AUTH_KEY}
Content-Type
Example:
application/json

URL Parameters

cafeId
integer
required

Cafe ID.

Query Parameters

date_start
string
required

Start date.

date_end
string
required

End date.

time_start
string
required

Start time.

time_end
string
required

End time.

Body Parameters

Example request:
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\"
}"
Example response:
Headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
    "code": 404,
    "message": "Url not match"
}

GET api/v2/cafe/{cafeId}/reports/reportTransactions

GET
https://api.icafecloud.com
/api/v2/cafe/{cafeId}/reports/reportTransactions
requires authentication

Headers

Authorization
Example:
Bearer {YOUR_AUTH_KEY}
Content-Type
Example:
application/json

URL Parameters

cafeId
integer
required

Cafe ID.

Query Parameters

date_start
string
required

Start date.

date_end
string
required

End date.

time_start
string
required

Start time.

time_end
string
required

End time.

icafe_id
integer

optional Center ID to export.

Example:
123
operation_type
string

optional Operation type(all,sales,refunds).

Example:
all
data_source
string

optional Data source(recent,history).

Example:
recent

Body Parameters

Example request:
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\"
}"
Example response:
Headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
    "code": 404,
    "message": "Url not match"
}

Offer usage report

GET
https://api.icafecloud.com
/api/v2/cafe/{cafeId}/reports/reportOfferUsage
requires authentication

Returns a list of offer purchase records within the specified date range.

Headers

Authorization
Example:
Bearer {YOUR_AUTH_KEY}

URL Parameters

cafeId
integer
required

Cafe ID.

Query Parameters

date_start
string
required

Start date.

date_end
string
required

End date.

time_start
string
required

Start time.

time_end
string
required

End time.

data_source
string

Data source (recent, history).

Example:
recent
Example request:
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}"
Example response:
{
    "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
        ]
    ]
}

Member attendance by day

GET
https://api.icafecloud.com
/api/v2/cafe/{cafeId}/reports/reportAttendanceByDay
requires authentication

Returns daily attendance statistics

Headers

Authorization
Example:
Bearer {YOUR_AUTH_KEY}

URL Parameters

cafeId
integer
required

Cafe ID.

Query Parameters

days
integer

Number of days to look back (default: 7).

Example:
7
Example request:
curl --request GET \
    --get "https://api.icafecloud.com/api/v2/cafe//reports/reportAttendanceByDay?days=7" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}"
Example response:
{
    "data": [
        {
            "log_date": "2024-01-07",
            "total_count": 52,
            "member_count": 42,
            "guest_count": 10,
            "new_member_count": 3
        }
    ]
}

Goods movement report export

GET
https://api.icafecloud.com
/api/v2/cafe/{cafeId}/reports/reportProductMovement
requires authentication

Headers

Authorization
Example:
Bearer {YOUR_AUTH_KEY}
Content-Type
Example:
application/json

URL Parameters

cafeId
integer
required

Cafe ID.

Query Parameters

date_start
string
required

Start date.

date_end
string
required

End date.

time_start
string
required

Start time.

time_end
string
required

End time.

product_group_id
string

Product group ID.

Example:
all
staff_login
string

staff.

Example:
all
data_source
string

Data source(recent,history).

Example:
recent

Body Parameters

Example request:
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\"
}"
Example response:
Headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
    "code": 404,
    "message": "Url not match"
}

Profit with royalty report

GET
https://api.icafecloud.com
/api/v2/cafe/{cafeId}/reports/reportProfitWithRoyalty
requires authentication

Headers

Authorization
Example:
Bearer {YOUR_AUTH_KEY}
Content-Type
Example:
application/json

URL Parameters

cafeId
integer
required

Cafe ID.

Body Parameters

Example request:
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\"
}"
Example response:
Headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
    "code": 404,
    "message": "Url not match"
}

Refunds report

GET
https://api.icafecloud.com
/api/v2/cafe/{cafeId}/reports/reportRefunds
requires authentication

Headers

Authorization
Example:
Bearer {YOUR_AUTH_KEY}

URL Parameters

cafeId
integer
required

Cafe ID.

Query Parameters

date_start
string
required

Start date.

date_end
string
required

End date.

time_start
string
required

Start time.

time_end
string
required

End time.

data_source
string

Data source: 'recent' (local DB) or 'history' (log server).

Example request:
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}"
Example response:
Headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
    "code": 404,
    "message": "Url not match"
}

Canceled Bookings Report Export

GET
https://api.icafecloud.com
/api/v2/cafe/{cafeId}/reports/reportCanceledBookings
requires authentication

Headers

Authorization
Example:
Bearer {YOUR_AUTH_KEY}

URL Parameters

cafeId
integer
required

Cafe ID.

Query Parameters

date_start
string
required

Start date (local).

date_end
string
required

End date (local).

data_source
string

Data source: recent or history.

Example request:
curl --request GET \
    --get "https://api.icafecloud.com/api/v2/cafe//reports/reportCanceledBookings?date_start=&date_end=" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}"
Example response:
Headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
    "code": 404,
    "message": "Url not match"
}

Created users report

GET
https://api.icafecloud.com
/api/v2/cafe/{cafeId}/reports/reportCreatedUsers
requires authentication

Headers

Authorization
Example:
Bearer {YOUR_AUTH_KEY}
Content-Type
Example:
application/json

URL Parameters

cafeId
integer
required

Cafe ID.

Body Parameters

Example request:
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\"
}"
Example response:
Headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
    "code": 404,
    "message": "Url not match"
}

Shop items stock report

GET
https://api.icafecloud.com
/api/v2/cafe/{cafeId}/reports/reportShopItemsStock
requires authentication

Headers

Authorization
Example:
Bearer {YOUR_AUTH_KEY}

URL Parameters

cafeId
integer
required

Cafe ID.

Example request:
curl --request GET \
    --get "https://api.icafecloud.com/api/v2/cafe//reports/reportShopItemsStock" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}"
Example response:
Headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
    "code": 404,
    "message": "Url not match"
}

Created bookings report

GET
https://api.icafecloud.com
/api/v2/cafe/{cafeId}/reports/reportCreatedBookings
requires authentication

Returns a list of bookings within the specified date range.

Headers

Authorization
Example:
Bearer {YOUR_AUTH_KEY}

URL Parameters

cafeId
integer
required

Cafe ID.

Query Parameters

date_start
string
required

Start date.

date_end
string
required

End date.

time_start
string
required

Start time.

time_end
string
required

End time.

Example request:
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}"
Example response:
{
  "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

Cash deposit/withdrawal report

GET
https://api.icafecloud.com
/api/v2/cafe/{cafeId}/reports/reportCashDepositWithdrawal
requires authentication

Groups records by shift periods from table_shift_history. Each period outputs one row: Deposit (positive ONEXPENSE log_money), Withdraw (negative ONEXPENSE log_money, kept as negative), Income (SUM of log_money for all non-ONEXPENSE events = 现金纯收入,含退款抵减).

Headers

Authorization
Example:
Bearer {YOUR_AUTH_KEY}

URL Parameters

cafeId
integer
required

Cafe ID.

Query Parameters

date_start
string
required

Start date (YYYY-MM-DD).

date_end
string
required

End date (YYYY-MM-DD).

time_start
string
required

Start time (HH:mm).

time_end
string
required

End time (HH:mm).

log_staff_name
string

optional Filter by staff name (applies to shifts and ONEXPENSE logs).

Example request:
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}"
Example response:
Headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
    "code": 404,
    "message": "Url not match"
}

Access code usage report

GET
https://api.icafecloud.com
/api/v2/cafe/{cafeId}/reports/reportAccessCodeUsage
requires authentication

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.

Headers

Authorization
Example:
Bearer {YOUR_AUTH_KEY}

URL Parameters

cafeId
integer
required

Cafe ID.

Query Parameters

date_start
string
required

Start date (YYYY-MM-DD).

date_end
string
required

End date (YYYY-MM-DD).

time_start
string
required

Start time (HH:mm).

time_end
string
required

End time (HH:mm).

Example request:
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}"
Example response:
{
    "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"
        ]
    ]
}
{
    "code": 400,
    "message": "Access code login is not enabled"
}

Used Bookings Report Export

GET
https://api.icafecloud.com
/api/v2/cafe/{cafeId}/reports/reportUsedBooking
requires authentication

Headers

Authorization
Example:
Bearer {YOUR_AUTH_KEY}

URL Parameters

cafeId
integer
required

Cafe ID.

Query Parameters

date_start
string
required

Start date (local).

date_end
string
required

End date (local).

time_start
string
required

Start time.

time_end
string
required

End time.

Example request:
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}"
Example response:
Headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
    "code": 404,
    "message": "Url not match"
}

Member attendance and occupancy

GET
https://api.icafecloud.com
/api/v2/cafe/{cafeId}/reports/reportAttendanceAndOccupancy
requires authentication

Returns attendance and occupancy statistics

Headers

Authorization
Example:
Bearer {YOUR_AUTH_KEY}

URL Parameters

cafeId
integer
required

Cafe ID.

Example request:
curl --request GET \
    --get "https://api.icafecloud.com/api/v2/cafe//reports/reportAttendanceAndOccupancy" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}"
Example response:
Headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
    "code": 404,
    "message": "Url not match"
}

Top up records by day

GET
https://api.icafecloud.com
/api/v2/cafe/{cafeId}/reports/reportTopupOperations
requires authentication

Returns top up statistics

Headers

Authorization
Example:
Bearer {YOUR_AUTH_KEY}

URL Parameters

cafeId
integer
required

Cafe ID.

Example request:
curl --request GET \
    --get "https://api.icafecloud.com/api/v2/cafe//reports/reportTopupOperations" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}"
Example response:
Headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
    "code": 404,
    "message": "Url not match"
}

General occupancy report

GET
https://api.icafecloud.com
/api/v2/cafe/{cafeId}/reports/reportGeneralOccupancy
requires authentication

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.

Headers

Authorization
Example:
Bearer {YOUR_AUTH_KEY}

URL Parameters

cafeId
integer
required

Cafe ID.

Query Parameters

date_start
string
required

Start date.

date_end
string
required

End date.

time_start
string
required

Start time.

time_end
string
required

End time.

log_staff_name
string

Filter by staff name. Leave empty or pass "all" to include all staff.

Example request:
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}"
Example response:
{
    "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",
            "",
            ""
        ]
    ]
}

Prepare before report

GET
https://api.icafecloud.com
/api/v2/cafe/{cafeId}/reports/prepareBeforeReport
requires authentication

Headers

Authorization
Example:
Bearer {YOUR_AUTH_KEY}
Content-Type
Example:
application/json

URL Parameters

cafeId
integer
required

Cafe ID.

Body Parameters

Example request:
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\"
}"
Example response:
Headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
    "code": 404,
    "message": "Url not match"
}

App dashboard realtime summary

GET
https://api.icafecloud.com
/api/v2/cafe/{cafeId}/reports/appDashboard
requires authentication

Headers

Authorization
Example:
Bearer {YOUR_AUTH_KEY}

URL Parameters

cafeId
integer
required

Cafe ID.

Example request:
curl --request GET \
    --get "https://api.icafecloud.com/api/v2/cafe//reports/appDashboard" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}"
Example response:
Headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
    "code": 404,
    "message": "Url not match"
}

Billiard APIs

Add/edit billiard table

POST
https://api.icafecloud.com
/api/v2/cafe/{cafeId}/pcs/action/saveAreaLayout
requires authentication

Headers

Authorization
Example:
Bearer {YOUR_AUTH_KEY}
Content-Type
Example:
application/json

URL Parameters

cafeId
integer
required

Cafe ID.

Body Parameters

Example request:
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
}"
Example response:
{
    "code": 200,
    "message": "success",
    "data": true
}

Delete billiard table

DELETE
https://api.icafecloud.com
/api/v2/cafe/{cafeId}/pcs/action/removeAreaLayout
requires authentication

Headers

Authorization
Example:
Bearer {YOUR_AUTH_KEY}
Content-Type
Example:
application/json

URL Parameters

cafeId
integer
required

Cafe ID.

Body Parameters

Example request:
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
}"
Example response:
{
    "code": 200,
    "message": "success",
    "data": true
}

Pool licenses APIs

Update pool license

PUT
https://api.icafecloud.com
/api/v2/cafe/{cafeId}/pools/{poolId}/licenses
requires authentication

Headers

Authorization
Example:
Bearer {YOUR_AUTH_KEY}
Content-Type
Example:
application/json

URL Parameters

cafeId
integer
required

Cafe ID.

poolId
integer
required

Pool ID.

Body Parameters

Example request:
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\"
}"
Example response:
Headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
    "code": 404,
    "message": "Url not match"
}

Delete pool license

DELETE
https://api.icafecloud.com
/api/v2/cafe/{cafeId}/pools/{poolId}/licenses
requires authentication

Headers

Authorization
Example:
Bearer {YOUR_AUTH_KEY}
Content-Type
Example:
application/json

URL Parameters

cafeId
integer
required

Cafe ID.

poolId
integer
required

Pool ID.

Body Parameters

Example request:
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
}"
Example response:
Headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
    "code": 404,
    "message": "Url not match"
}

Get pool license info

GET
https://api.icafecloud.com
/api/v2/cafe/{cafeId}/pools/{poolId}/licenses/action/licenseInfo
requires authentication

Headers

Authorization
Example:
Bearer {YOUR_AUTH_KEY}

URL Parameters

cafeId
integer
required

Cafe ID.

poolId
integer
required

Pool ID.

Query Parameters

account
string
required

Account.

Example request:
curl --request GET \
    --get "https://api.icafecloud.com/api/v2/cafe//pools//licenses/action/licenseInfo?account=" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}"
Example response:
Headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
    "code": 404,
    "message": "Url not match"
}

Unlock

GET
https://api.icafecloud.com
/api/v2/cafe/{cafeId}/pools/{poolId}/licenses/action/unlock
requires authentication

Headers

Authorization
Example:
Bearer {YOUR_AUTH_KEY}

URL Parameters

cafeId
integer
required

Cafe ID.

poolId
integer
required

Pool ID.

Query Parameters

license_account
string
required

Account.

Example request:
curl --request GET \
    --get "https://api.icafecloud.com/api/v2/cafe//pools//licenses/action/unlock?license_account=" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}"
Example response:
Headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
    "code": 404,
    "message": "Url not match"
}

Get pool license lists

GET
https://api.icafecloud.com
/api/v2/cafe/{cafeId}/poolLicenses
requires authentication

Headers

Authorization
Example:
Bearer {YOUR_AUTH_KEY}

URL Parameters

cafeId
integer
required

Cafe ID.

Example request:
curl --request GET \
    --get "https://api.icafecloud.com/api/v2/cafe//poolLicenses" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}"
Example response:
Headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
    "code": 404,
    "message": "Url not match"
}

Add pool license

POST
https://api.icafecloud.com
/api/v2/cafe/{cafeId}/poolLicenses
requires authentication

Headers

Authorization
Example:
Bearer {YOUR_AUTH_KEY}
Content-Type
Example:
application/json

URL Parameters

cafeId
integer
required

Cafe ID.

Body Parameters

Example request:
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\"
}"
Example response:
Headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
    "code": 404,
    "message": "Url not match"
}

license APIs

Get license info

GET
https://api.icafecloud.com
/api/v2/cafe/{cafeId}/license/info
requires authentication

Headers

Authorization
Example:
Bearer {YOUR_AUTH_KEY}

URL Parameters

cafeId
integer
required

Cafe ID.

Example request:
curl --request GET \
    --get "https://api.icafecloud.com/api/v2/cafe//license/info" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}"
Example response:
Headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
    "code": 404,
    "message": "Url not match"
}

Update license info

PUT
https://api.icafecloud.com
/api/v2/cafe/{cafeId}/license/info
requires authentication

Headers

Authorization
Example:
Bearer {YOUR_AUTH_KEY}
Content-Type
Example:
application/json

URL Parameters

cafeId
integer
required

Cafe ID.

Body Parameters

Example request:
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
}"
Example response:
Headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
    "code": 404,
    "message": "Url not match"
}

Activate serial number

GET
https://api.icafecloud.com
/api/v2/cafe/{cafeId}/license/active
requires authentication

Headers

Authorization
Example:
Bearer {YOUR_AUTH_KEY}

URL Parameters

cafeId
integer
required

Cafe ID.

Example request:
curl --request GET \
    --get "https://api.icafecloud.com/api/v2/cafe//license/active" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}"
Example response:
Headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
    "code": 404,
    "message": "Url not match"
}

Update license app profile info

PUT
https://api.icafecloud.com
/api/v2/cafe/{cafeId}/license/appInfo
requires authentication

Headers

Authorization
Example:
Bearer {YOUR_AUTH_KEY}
Content-Type
Example:
application/json

URL Parameters

cafeId
integer
required

Cafe ID.

Body Parameters

Example request:
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
}"
Example response:
Headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
    "code": 404,
    "message": "Url not match"
}

Staffs APIs

Get staff lists

GET
https://api.icafecloud.com
/api/v2/cafe/{cafeId}/staffs
requires authentication

Headers

Authorization
Example:
Bearer {YOUR_AUTH_KEY}

URL Parameters

cafeId
integer
required

Cafe ID.

Example request:
curl --request GET \
    --get "https://api.icafecloud.com/api/v2/cafe//staffs" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}"
Example response:
Headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
    "code": 404,
    "message": "Url not match"
}

Add staff

POST
https://api.icafecloud.com
/api/v2/cafe/{cafeId}/staffs
requires authentication

Headers

Authorization
Example:
Bearer {YOUR_AUTH_KEY}
Content-Type
Example:
application/json

URL Parameters

cafeId
integer
required

Cafe ID.

Body Parameters

Example request:
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
}"
Example response:
Headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
    "code": 404,
    "message": "Url not match"
}

Get staff details

GET
https://api.icafecloud.com
/api/v2/cafe/{cafeId}/staffs/{id}
requires authentication

Headers

Authorization
Example:
Bearer {YOUR_AUTH_KEY}

URL Parameters

cafeId
integer
required

Cafe ID.

id
integer
required

ID.

Example request:
curl --request GET \
    --get "https://api.icafecloud.com/api/v2/cafe//staffs/" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}"
Example response:
Headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
    "code": 404,
    "message": "Url not match"
}

Update staff

PUT
PATCH
https://api.icafecloud.com
/api/v2/cafe/{cafeId}/staffs/{id}
requires authentication

Headers

Authorization
Example:
Bearer {YOUR_AUTH_KEY}
Content-Type
Example:
application/json

URL Parameters

cafeId
integer
required

Cafe ID.

id
integer
required

ID.

Body Parameters

Example request:
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
}"
Example response:
Headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
    "code": 404,
    "message": "Url not match"
}

Delete staff

DELETE
https://api.icafecloud.com
/api/v2/cafe/{cafeId}/staffs/{id}
requires authentication

Headers

Authorization
Example:
Bearer {YOUR_AUTH_KEY}

URL Parameters

cafeId
integer
required

Cafe ID.

id
integer
required

ID.

Example request:
curl --request DELETE \
    "https://api.icafecloud.com/api/v2/cafe//staffs/" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}"
Example response:
Headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
    "code": 404,
    "message": "Url not match"
}

Start shift

POST
https://api.icafecloud.com
/api/v2/cafe/{cafeId}/staffs/action/startShift
requires authentication

Headers

Authorization
Example:
Bearer {YOUR_AUTH_KEY}
Content-Type
Example:
application/json

URL Parameters

cafeId
integer
required

Cafe ID.

Body Parameters

Example request:
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
}"
Example response:
Headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
    "code": 404,
    "message": "Url not match"
}

End shift

POST
https://api.icafecloud.com
/api/v2/cafe/{cafeId}/staffs/action/endShift
requires authentication

Headers

Authorization
Example:
Bearer {YOUR_AUTH_KEY}
Content-Type
Example:
application/json

URL Parameters

cafeId
integer
required

Cafe ID.

Body Parameters

Example request:
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
}"
Example response:
Headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
    "code": 404,
    "message": "Url not match"
}

Check shift

POST
https://api.icafecloud.com
/api/v2/cafe/{cafeId}/staffs/action/checkShift
requires authentication

Headers

Authorization
Example:
Bearer {YOUR_AUTH_KEY}

URL Parameters

cafeId
integer
required

Cafe ID.

Example request:
curl --request POST \
    "https://api.icafecloud.com/api/v2/cafe//staffs/action/checkShift" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}"
Example response:
Headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
    "code": 404,
    "message": "Url not match"
}

Get current staff's app account binding status

GET
https://api.icafecloud.com
/api/v2/cafe/{cafeId}/staffs/action/appBinding
requires authentication

Headers

Authorization
Example:
Bearer {YOUR_AUTH_KEY}

URL Parameters

cafeId
integer
required

Cafe ID.

Example request:
curl --request GET \
    --get "https://api.icafecloud.com/api/v2/cafe//staffs/action/appBinding" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}"
Example response:
Headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
    "code": 404,
    "message": "Url not match"
}

Unbind the current staff's app account

DELETE
https://api.icafecloud.com
/api/v2/cafe/{cafeId}/staffs/action/appBinding
requires authentication

Headers

Authorization
Example:
Bearer {YOUR_AUTH_KEY}

URL Parameters

cafeId
integer
required

Cafe ID.

Example request:
curl --request DELETE \
    "https://api.icafecloud.com/api/v2/cafe//staffs/action/appBinding" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}"
Example response:
Headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
    "code": 404,
    "message": "Url not match"
}

Get kitchen staff list(仅 id/staff_name,供商品编辑页分配 kitchen 打印路由用,无角色限制)

GET
https://api.icafecloud.com
/api/v2/cafe/{cafeId}/staffs/action/kitchenStaffList
requires authentication

Headers

Authorization
Example:
Bearer {YOUR_AUTH_KEY}

URL Parameters

cafeId
integer
required

Cafe ID.

Example request:
curl --request GET \
    --get "https://api.icafecloud.com/api/v2/cafe//staffs/action/kitchenStaffList" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}"
Example response:
Headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
    "code": 404,
    "message": "Url not match"
}

Shift X-report

GET
https://api.icafecloud.com
/api/v2/cafe/{cafeId}/staffs/action/shiftXReport
requires authentication

Headers

Authorization
Example:
Bearer {YOUR_AUTH_KEY}

URL Parameters

cafeId
integer
required

Cafe ID.

Example request:
curl --request GET \
    --get "https://api.icafecloud.com/api/v2/cafe//staffs/action/shiftXReport" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}"
Example response:
Headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
    "code": 404,
    "message": "Url not match"
}

Get current shift cash in hand (lightweight)

GET
https://api.icafecloud.com
/api/v2/cafe/{cafeId}/staffs/action/shiftCashInHand
requires authentication

Headers

Authorization
Example:
Bearer {YOUR_AUTH_KEY}

URL Parameters

cafeId
integer
required

Cafe ID.

Example request:
curl --request GET \
    --get "https://api.icafecloud.com/api/v2/cafe//staffs/action/shiftCashInHand" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}"
Example response:
Headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
    "code": 404,
    "message": "Url not match"
}

Last shift

GET
https://api.icafecloud.com
/api/v2/cafe/{cafeId}/staffs/action/lastShiftDetail
requires authentication

Headers

Authorization
Example:
Bearer {YOUR_AUTH_KEY}

URL Parameters

cafeId
integer
required

Cafe ID.

Example request:
curl --request GET \
    --get "https://api.icafecloud.com/api/v2/cafe//staffs/action/lastShiftDetail" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}"
Example response:
Headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
    "code": 404,
    "message": "Url not match"
}

Game logs APIs

Get game log lists

GET
https://api.icafecloud.com
/api/v2/cafe/{cafeId}/gameLogs
requires authentication

Headers

Authorization
Example:
Bearer {YOUR_AUTH_KEY}

URL Parameters

cafeId
integer
required

Cafe ID.

Query Parameters

page
integer

Page.

Example:
1
search
string

Keyword.

Example request:
curl --request GET \
    --get "https://api.icafecloud.com/api/v2/cafe//gameLogs?page=1" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}"
Example response:
Headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
    "code": 404,
    "message": "Url not match"
}

Export game log

GET
https://api.icafecloud.com
/api/v2/cafe/{cafeId}/gameLogs/action/export
requires authentication

Headers

Authorization
Example:
Bearer {YOUR_AUTH_KEY}

URL Parameters

cafeId
integer
required

Cafe ID.

Query Parameters

search
string

Keyword.

Example request:
curl --request GET \
    --get "https://api.icafecloud.com/api/v2/cafe//gameLogs/action/export" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}"
Example response:
Headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
    "code": 404,
    "message": "Url not match"
}

Booking APIs

Booking lists

GET
https://api.icafecloud.com
/api/v2/cafe/{cafeId}/bookings
requires authentication

Headers

Authorization
Example:
Bearer {YOUR_AUTH_KEY}

URL Parameters

cafeId
integer
required

Cafe ID.

Query Parameters

pc_name
string

PC name.

date
string

Must be a valid date.

Example:
2026-08-10T11:03:11
pending_queue_only
integer

Must be between 0 and 1.

Example:
1
Example request:
curl --request GET \
    --get "https://api.icafecloud.com/api/v2/cafe//bookings?date=2026-08-10T11%3A03%3A11&pending_queue_only=1" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}"
Example response:
Headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
    "code": 404,
    "message": "Url not match"
}

Add booking

POST
https://api.icafecloud.com
/api/v2/cafe/{cafeId}/bookings
requires authentication

Headers

Authorization
Example:
Bearer {YOUR_AUTH_KEY}
Content-Type
Example:
application/json

URL Parameters

cafeId
integer
required

Cafe ID.

Body Parameters

Example request:
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
}"
Example response:
Headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
    "code": 404,
    "message": "Url not match"
}

Delete booking

DELETE
https://api.icafecloud.com
/api/v2/cafe/{cafeId}/bookings
requires authentication

Headers

Authorization
Example:
Bearer {YOUR_AUTH_KEY}
Content-Type
Example:
application/json

URL Parameters

cafeId
integer
required

Cafe ID.

Body Parameters

Example request:
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
}"
Example response:
Headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
    "code": 404,
    "message": "Url not match"
}

Initial booking session

GET
https://api.icafecloud.com
/api/v2/cafe/{cafeId}/bookings/action/initBookingSession
requires authentication

Headers

Authorization
Example:
Bearer {YOUR_AUTH_KEY}

URL Parameters

cafeId
integer
required

Cafe ID.

Query Parameters

pc_name
string
required

PC name.

member_account
string
required

Member account.

start_date
string
required

Start date.

start_time
string
required

Start time.

mins
integer
required

Min.

Example:
0
comment
string

Min.

Example request:
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}"
Example response:
Headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
    "code": 404,
    "message": "Url not match"
}

Calculate amount

POST
https://api.icafecloud.com
/api/v2/cafe/{cafeId}/calculate/amount
requires authentication

Headers

Authorization
Example:
Bearer {YOUR_AUTH_KEY}

URL Parameters

cafeId
integer
required

Cafe ID.

Query Parameters

pc_name
string
required

PC name.

mins
integer

Mins.

member_account
string

Member account.

Example request:
curl --request POST \
    "https://api.icafecloud.com/api/v2/cafe//calculate/amount?pc_name=" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}"
Example response:
Headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
    "code": 404,
    "message": "Url not match"
}

Calculate time

POST
https://api.icafecloud.com
/api/v2/cafe/{cafeId}/calculate/time
requires authentication

Headers

Authorization
Example:
Bearer {YOUR_AUTH_KEY}

URL Parameters

cafeId
integer
required

Cafe ID.

Query Parameters

pc_name
string
required

PC name.

topup_amount
string
required
Example:
culpa
member_account
string

Member account.

mins
integer

Mins.

Example request:
curl --request POST \
    "https://api.icafecloud.com/api/v2/cafe//calculate/time?pc_name=&topup_amount=culpa" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}"
Example response:
Headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
    "code": 404,
    "message": "Url not match"
}

Add batch bookings

POST
https://api.icafecloud.com
/api/v2/cafe/{cafeId}/bookings/batch
requires authentication

Headers

Authorization
Example:
Bearer {YOUR_AUTH_KEY}
Content-Type
Example:
application/json

URL Parameters

cafeId
integer
required

Cafe ID.

Body Parameters

Example request:
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
}"
Example response:
Headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
    "code": 404,
    "message": "Url not match"
}

Update batch bookings - delete existing batch and create new bookings

PUT
https://api.icafecloud.com
/api/v2/cafe/{cafeId}/bookings/batch
requires authentication

Headers

Authorization
Example:
Bearer {YOUR_AUTH_KEY}
Content-Type
Example:
application/json

URL Parameters

cafeId
integer
required

Cafe ID.

Body Parameters

Example request:
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
}"
Example response:
Headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
    "code": 404,
    "message": "Url not match"
}

Batch delete bookings

DELETE
https://api.icafecloud.com
/api/v2/cafe/{cafeId}/bookings/batch
requires authentication

Headers

Authorization
Example:
Bearer {YOUR_AUTH_KEY}
Content-Type
Example:
application/json

URL Parameters

cafeId
integer
required

Cafe ID.

Body Parameters

Example request:
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
}"
Example response:
Headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
    "code": 404,
    "message": "Url not match"
}

Booking with offer for member api

POST
https://api.icafecloud.com
/api/v2/cafe/{cafeId}/bookings/action/bookingWithOffer
requires authentication

Headers

Authorization
Example:
Bearer {YOUR_AUTH_KEY}
Content-Type
Example:
application/json

URL Parameters

cafeId
integer
required

Cafe ID.

Body Parameters

Example request:
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
}"
Example response:
Headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
    "code": 404,
    "message": "Url not match"
}

Auth APIs

Reset system password last update time for admin 1. This API is only for admin user 2. This API only reset the system password last update time very 90 days

PUT
https://api.icafecloud.com
/api/v2/cafe/{cafeId}/resetPasswrodLastUpdateTime
requires authentication

Headers

Authorization
Example:
Bearer {YOUR_AUTH_KEY}

URL Parameters

cafeId
string
required
Example:
culpa

Query Parameters

type
string
Example:
culpa
Example request:
curl --request PUT \
    "https://api.icafecloud.com/api/v2/cafe/culpa/resetPasswrodLastUpdateTime?type=culpa" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}"
Example response:
Headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
    "code": 401,
    "message": "Unauthenticated."
}

Pause APIs

Add pause times

POST
https://api.icafecloud.com
/api/v2/cafe/{cafeId}/pauseTimes
requires authentication

Headers

Authorization
Example:
Bearer {YOUR_AUTH_KEY}

URL Parameters

cafeId
integer
required

Cafe ID.

Example request:
curl --request POST \
    "https://api.icafecloud.com/api/v2/cafe//pauseTimes" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}"
Example response:
Headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
    "code": 404,
    "message": "Url not match"
}

Delete pause times

DELETE
https://api.icafecloud.com
/api/v2/cafe/{cafeId}/pauseTimes
requires authentication

Headers

Authorization
Example:
Bearer {YOUR_AUTH_KEY}

URL Parameters

cafeId
integer
required

Cafe ID.

Example request:
curl --request DELETE \
    "https://api.icafecloud.com/api/v2/cafe//pauseTimes" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}"
Example response:
Headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
    "code": 404,
    "message": "Url not match"
}

Get pause times list

GET
https://api.icafecloud.com
/api/v2/cafe/{cafeId}/pauseTimes
requires authentication

Headers

Authorization
Example:
Bearer {YOUR_AUTH_KEY}

URL Parameters

cafeId
integer
required

Cafe ID.

Example request:
curl --request GET \
    --get "https://api.icafecloud.com/api/v2/cafe//pauseTimes" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}"
Example response:
Headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
    "code": 404,
    "message": "Url not match"
}

Orders APIs

Add order

POST
https://api.icafecloud.com
/api/v2/cafe/{cafeId}/orders
requires authentication

Headers

Authorization
Example:
Bearer {YOUR_AUTH_KEY}
Content-Type
Example:
application/json

URL Parameters

cafeId
string
required

Cafe ID.

Body Parameters

Response Fields

Example request:
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
}"
Example response:
{
  "code": 200,
  "message": "success",
  "data": {
    "order_no": 557,
    "member_id": 0,
    ]
  }
}

Get order detail

GET
https://api.icafecloud.com
/api/v2/cafe/{cafeId}/orders/{id}
requires authentication

Headers

Authorization
Example:
Bearer {YOUR_AUTH_KEY}

URL Parameters

cafeId
integer
required

Cafe ID.

id
integer
required

Order NO.

Query Parameters

data_source
string

Data source(options:recent,history).

Example:
recent

Response Fields

Example request:
curl --request GET \
    --get "https://api.icafecloud.com/api/v2/cafe//orders/?data_source=recent" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}"
Example response:
{
  "code": 200,
  "message": "success",
  "data": {
    "license_printer": "",
    "items": [
      {
        "order_icafe_id": 7777,
        "order_item_id": 80448449811,
        "order_item_qty": 1,
        "order_item_qty_balance": 85,
        "order_product_id": 571018237,
        "order_product_cost": "1.0000000000",
        "order_product_price": "5.2500000000",
        "order_discount_rate": 0,
        "order_tax": "0.2500000000",
        "order_money": 5.25,
        "order_pc": "",
        "order_status": 2,
        "order_create_time": "2025-03-16T13:36:25.000000Z",
        "order_no": 557,
        "order_payment_method": 0,
        "order_member_id": 0,
        "order_staff_id": 186604904,
        "order_print_times": 0,
        "order_product_code": "",
        "order_create_time_local": "2025-03-17 03:36:25",
        "staff_name": "admin",
        "product_icafe_id": 7777,
        "product_id": 571018237,
        "product_name": "Milk",
        "product_qty": 85,
        "product_cost": "1.0000000000",
        "product_price": "5.0000000000",
        "product_tax_id": 1,
        "product_coin_price": 0,
        "product_icon": null,
        "product_unlimited": 0,
        "product_enable_client": 1,
        "product_group_id": 97664229,
        "product_barcode": "132312",
        "product_enable_code": 0,
        "product_image": "",
        "product_update_time": "2025-03-16T13:36:25.000000Z",
        "product_is_promoted": 0,
        "product_enable_discount": 1,
        "product_combo": null,
        "product_show_weekday": "7|1|2|3|4|5|6",
        "product_show_time": "00:00-24:00"
      }
    ],
    "member": null,
    "cancel_enable": 1,
  }
}

Update order

PUT
PATCH
https://api.icafecloud.com
/api/v2/cafe/{cafeId}/orders/{id}
requires authentication

Headers

Authorization
Example:
Bearer {YOUR_AUTH_KEY}

URL Parameters

cafeId
string
required
Example:
culpa
id
string
required

The ID of the order.

Example:
culpa
Example request:
curl --request PUT \
    "https://api.icafecloud.com/api/v2/cafe/culpa/orders/culpa" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}"
Example response:
Headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
    "code": 401,
    "message": "Unauthenticated."
}

Cancel Order

DELETE
https://api.icafecloud.com
/api/v2/cafe/{cafeId}/orders/{id}
requires authentication

When the member uses the balance to place an order on the PC side

  1. If order have OFFER + product, balance immediately deducted, the OFFER takes effect immediately, but product inventory does not decrease. order status is PENDING.
  2. Employees if confirm this PENDING ORDER, reduce the stock, the status changes to DONE
  3. If the employee cancel this PENDING ORDER, the balance is returned, OFFER is deleted, the status is changed to CANCELLED

Headers

Authorization
Example:
Bearer {YOUR_AUTH_KEY}
Content-Type
Example:
application/json

URL Parameters

cafeId
integer
required

Cafe ID.

id
integer
required

Order ID.

Body Parameters

Example request:
curl --request DELETE \
    "https://api.icafecloud.com/api/v2/cafe//orders/" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --data "{
    \"order_item_ids\": \"1,2\"
}"
Example response:
{
    "code": 200,
    "message": "success",
    "data": {
        "qty_changed_products": [
            {
                "id": "p-571018237",
                "qty": 86
            }
        ],
        "shop_badge": 1
    }
}

Get order information by Member Offer ID

GET
https://api.icafecloud.com
/api/v2/cafe/{cafeId}/orders/action/orderInfoByMemberOfferId
requires authentication

Headers

Authorization
Example:
Bearer {YOUR_AUTH_KEY}

URL Parameters

cafeId
integer
required

Cafe ID.

Query Parameters

memberOfferId
integer
required

Member Offer ID.

Example request:
curl --request GET \
    --get "https://api.icafecloud.com/api/v2/cafe//orders/action/orderInfoByMemberOfferId?memberOfferId=" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}"
Example response:
{
    "code": 200,
    "message": "success",
    "data": {
        "order_no": 1,
        "member_id": 1
    }
}

check QRIS payment status by api

GET
https://api.icafecloud.com
/api/v2/cafe/{cafeId}/orders/action/checkQRISPayment
requires authentication

Headers

Authorization
Example:
Bearer {YOUR_AUTH_KEY}

URL Parameters

cafeId
integer
required

Cafe ID.

Example request:
curl --request GET \
    --get "https://api.icafecloud.com/api/v2/cafe//orders/action/checkQRISPayment" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}"
Example response:
{}

Export orders, Limite 10,000 rows.

GET
https://api.icafecloud.com
/api/v2/cafe/{cafeId}/orders/action/export
requires authentication

Headers

Authorization
Example:
Bearer {YOUR_AUTH_KEY}

URL Parameters

cafeId
integer
required

Cafe ID.

Query Parameters

search_text
string

Filter by order number, member account, PC name, or "guest" for guest orders.

Example request:
curl --request GET \
    --get "https://api.icafecloud.com/api/v2/cafe//orders/action/export" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}"
Example response:
file Download a CSV file with columns: ORDER_NO, ORDER_PC, ORDER_TIME, ORDER_DISCOUNT_RATE, ORDER_STAFF_NAME, ORDER_MONEY, ORDER_STATUS, MEMBER_ACCOUNT
{
    "code": 400,
    "message": "Too frequent"
}

Add print count

GET
https://api.icafecloud.com
/api/v2/cafe/{cafeId}/orders/{orderNo}/addOrderPrintTimes
requires authentication

Headers

Authorization
Example:
Bearer {YOUR_AUTH_KEY}

URL Parameters

cafeId
integer
required

Cafe ID.

orderNo
integer
required

Order No.

Example request:
curl --request GET \
    --get "https://api.icafecloud.com/api/v2/cafe//orders//addOrderPrintTimes" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}"
Example response:
{
    "code": 200,
    "message": "success"
}

Update kkm order

PUT
https://api.icafecloud.com
/api/v2/cafe/{cafeId}/orders/{orderNo}/updateKkmOrder
requires authentication

Headers

Authorization
Example:
Bearer {YOUR_AUTH_KEY}

URL Parameters

cafeId
integer
required

Cafe ID.

orderNo
integer
required

Order No.

Body Parameters

Example request:
curl --request PUT \
    "https://api.icafecloud.com/api/v2/cafe//orders//updateKkmOrder" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
Example response:
{
    "code": 200,
    "message": "success"
}

Offer used status

GET
https://api.icafecloud.com
/api/v2/cafe/{cafeId}/orders/{orderNo}/offerUsedStatus
requires authentication

Headers

Authorization
Example:
Bearer {YOUR_AUTH_KEY}

URL Parameters

cafeId
integer
required

Cafe ID.

orderNo
integer
required

Order No.

Query Parameters

order_item_ids
string

Order items IDs.

Example:
1,2

Response Fields

Example request:
curl --request GET \
    --get "https://api.icafecloud.com/api/v2/cafe//orders//offerUsedStatus?order_item_ids=1%2C2" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}"
Example response:
{
    "code": 200,
    "message": "success",
    "data": [
        {
            "member_offer_id": 2745295597,
            "member_offer_icafe_id": 7777,
            "member_offer_member_id": 57843940337,
            "member_offer_offer_id": 23641201,
            "member_offer_left_seconds": 600,
            "member_offer_create_time": "2025-03-13 03:20:36",
            "member_offer_first_used_time": null,
            "member_offer_order_item": 80448447730,
            "member_offer_money": "0.00",
            "member_offer_allow_refund": 1,
            "member_offer_is_used": 0
        }
    ]
}

Confirm order

POST
https://api.icafecloud.com
/api/v2/cafe/{cafeId}/orders/{orderNo}/confirm
requires authentication

Headers

Authorization
Example:
Bearer {YOUR_AUTH_KEY}
Content-Type
Example:
application/json

URL Parameters

cafeId
integer
required

Cafe ID.

orderNo
integer
required

Order No.

Body Parameters

Example request:
curl --request POST \
    "https://api.icafecloud.com/api/v2/cafe//orders//confirm" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --data "{
    \"order_product_code\": []
}"
Example response:
{
    "code": 200,
    "message": "success",
    "data": {
        "qty_changed_products": [
            {
                "id": "p-571018237",
                "qty": 86
            }
        ],
        "shop_badge": 1
    }
}

Search member

GET
https://api.icafecloud.com
/api/v2/cafe/{cafeId}/orders/action/shopMemberList
requires authentication

Headers

Authorization
Example:
Bearer {YOUR_AUTH_KEY}

URL Parameters

cafeId
integer
required

Cafe ID.

Query Parameters

search_text
integer

Search Text.

Example request:
curl --request GET \
    --get "https://api.icafecloud.com/api/v2/cafe//orders/action/shopMemberList" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}"
Example response:
{
    "code": 200,
    "message": "success",
    "data": [
        {
            "member_account": "test",
            "member_display": "test",
            "member_id": 57843938397,
            "member_icafe_id": 7777,
            "member_group_id": 143579,
            "member_group_discount_rate": 0,
            "member_group_discount_offer": 0,
            "member_group_discount_pc_time": 0
        }
    ]
}

Get member discount rate

GET
https://api.icafecloud.com
/api/v2/cafe/{cafeId}/orders/action/shopMemberGroupDiscountRate
requires authentication

Headers

Authorization
Example:
Bearer {YOUR_AUTH_KEY}

URL Parameters

cafeId
integer
required

Cafe ID.

Query Parameters

member_id
integer
required

Member ID.

Example request:
curl --request GET \
    --get "https://api.icafecloud.com/api/v2/cafe//orders/action/shopMemberGroupDiscountRate?member_id=" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}"
Example response:
{
    "code": 200,
    "message": "success",
    "data": {
        "member_group_discount_rate": 0,
        "member_group_discount_offer": 0,
        "member_group_discount_pc_time": 0
    }
}

Get order lists

GET
https://api.icafecloud.com
/api/v2/cafe/{cafeId}/orders
requires authentication

Headers

Authorization
Example:
Bearer {YOUR_AUTH_KEY}

URL Parameters

cafeId
integer
required

Cafe ID.

Query Parameters

status
string
search_text
string

Search keyword.

page
integer

Page number.

Example:
1
sort_name
string

Sort name.

Example:
order_no
sort
string

Sort(options:asc,desc).

Example:
desc
data_source
string

Data source(options:recent,history).

Example:
recent
query_source
string

Query source(options:end_shift).

Response Fields

Example request:
curl --request GET \
    --get "https://api.icafecloud.com/api/v2/cafe//orders?page=1&sort_name=order_no&sort=desc&data_source=recent" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}"
Example response:
{
    "code": 200,
    "message": "success",
    "data": {
        "items": [
            {
                "order_no": 1633,
                "order_create_time_local": "2025-03-16 23:32:23",
                "order_discount_rate": 0,
                "order_money": "26.25",
                "order_status": 2,
                "order_staff_id": 186605025,
                "order_member_id": 57843942663,
                "order_product_ids": "23641357,571018271,571018269,571018273",
                "staff_name": "",
                "member_account": ""
            }
        ],
        "paging_info": {
            "total_records": 370,
            "pages": 25,
            "page": "1",
            "page_prev": 1,
            "page_next": 2,
            "page_start": 1,
            "page_end": 6,
            "start_from": "0",
            "end_from": "15"
        }
    }
}

Shop initialization data

GET
https://api.icafecloud.com
/api/v2/cafe/{cafeId}/orders/action/shopInitData
requires authentication

Headers

Authorization
Example:
Bearer {YOUR_AUTH_KEY}

URL Parameters

cafeId
integer
required

Cafe ID.

Example request:
curl --request GET \
    --get "https://api.icafecloud.com/api/v2/cafe//orders/action/shopInitData" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}"
Example response:
{
    "code": 200,
    "message": "success",
    "data": {
        "product_group_list": [
            {
                "product_group_id": -1,
                "product_group_name": "Offers",
                "product_parent_group_id": 97664172
            }
        ],
        "product_list": [
            {
                "product_id": "p-571018193",
                "product_name": "BBBB",
                "product_qty": 0,
                "product_price": "100.0000000000",
                "product_tax_id": 3,
                "product_unlimited": 1,
                "sort_qty": 1,
                "product_group_id": 2828443,
                "product_barcode": "",
                "product_image": null,
                "product_pc_groups": "[\"0\"]",
                "product_member_groups": "[\"0\"]",
                "product_show_weekday": "",
                "product_show_time": "",
                "product_enable_code": 0,
                "product_enable_discount": 1,
                "product_is_offer": 0,
                "product_parent_group_id": 0,
                "product_group_name": "Default"
            }
        ],
        "currency": "$",
        "payment_method_cash": 1,
        "payment_method_credit_card": 1,
        "payment_method_balance": true,
        "cafe_name": "Youngzsoft Test Cafe",
        "license_printer": ""
    }
}

Product list

GET
https://api.icafecloud.com
/api/v2/cafe/{cafeId}/orders/action/productList
requires authentication

Headers

Authorization
Example:
Bearer {YOUR_AUTH_KEY}

URL Parameters

cafeId
integer
required

Cafe ID.

Example request:
curl --request GET \
    --get "https://api.icafecloud.com/api/v2/cafe//orders/action/productList" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}"
Example response:
{
    "code": 200,
    "message": "success",
    "data": {
        "product_group_list": [
            {
                "product_group_id": -1,
                "product_group_name": "Offers",
                "product_parent_group_id": 97664172
            }
        ],
        "product_list": [
            {
                "product_id": "p-571018193",
                "product_name": "BBBB",
                "product_qty": 0,
                "product_price": "100.0000000000",
                "product_tax_id": 3,
                "product_unlimited": 1,
                "sort_qty": 1,
                "product_group_id": 2828443,
                "product_barcode": "",
                "product_pc_groups": "[\"0\"]",
                "product_member_groups": "[\"0\"]",
                "product_show_weekday": "",
                "product_show_time": "",
                "product_enable_code": 0,
                "product_enable_discount": 1,
                "product_is_offer": 0,
                "product_parent_group_id": 0,
                "product_group_name": "Default"
            }
        ]
    }
}

Pay order

POST
https://api.icafecloud.com
/api/v2/cafe/{cafeId}/payOrder
requires authentication

Headers

Authorization
Example:
Bearer {YOUR_AUTH_KEY}
Content-Type
Example:
application/json

URL Parameters

cafeId
integer
required

Cafe ID.

Body Parameters

Example request:
curl --request POST \
    "https://api.icafecloud.com/api/v2/cafe//payOrder" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --data "{
    \"order_no\": \"culpa\"
}"
Example response:
Headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
    "code": 404,
    "message": "Url not match"
}

Submit order

POST
https://api.icafecloud.com
/api/v2/cafe/{cafeId}/cancelMemberOrder
requires authentication

Headers

Authorization
Example:
Bearer {YOUR_AUTH_KEY}

URL Parameters

cafeId
integer
required

Cafe ID.

Body Parameters

Example request:
curl --request POST \
    "https://api.icafecloud.com/api/v2/cafe//cancelMemberOrder" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
Example response:
{
    "code": 200,
    "message": "success",
    "data": {
        "pay_method": "3",
        "order_no": "1001"
    }
}

Prices APIs

Get price lists

GET
https://api.icafecloud.com
/api/v2/cafe/{cafeId}/prices
requires authentication

Headers

Authorization
Example:
Bearer {YOUR_AUTH_KEY}

URL Parameters

cafeId
integer
required

Cafe ID.

Example request:
curl --request GET \
    --get "https://api.icafecloud.com/api/v2/cafe//prices" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}"
Example response:
Headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
    "code": 404,
    "message": "Url not match"
}

Add price

POST
https://api.icafecloud.com
/api/v2/cafe/{cafeId}/prices
requires authentication

Headers

Authorization
Example:
Bearer {YOUR_AUTH_KEY}
Content-Type
Example:
application/json

URL Parameters

cafeId
integer
required

Cafe ID.

Body Parameters

Example request:
curl --request POST \
    "https://api.icafecloud.com/api/v2/cafe//prices" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --data "{
    \"price_name\": null,
    \"price_round\": null,
    \"price_type\": null
}"
Example response:
Headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
    "code": 404,
    "message": "Url not match"
}

Get price details

GET
https://api.icafecloud.com
/api/v2/cafe/{cafeId}/prices/{id}
requires authentication

Headers

Authorization
Example:
Bearer {YOUR_AUTH_KEY}

URL Parameters

cafeId
integer
required

Cafe ID.

id
integer
required

Price ID.

Example request:
curl --request GET \
    --get "https://api.icafecloud.com/api/v2/cafe//prices/" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}"
Example response:
Headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
    "code": 404,
    "message": "Url not match"
}

Update price

PUT
PATCH
https://api.icafecloud.com
/api/v2/cafe/{cafeId}/prices/{id}
requires authentication

Headers

Authorization
Example:
Bearer {YOUR_AUTH_KEY}
Content-Type
Example:
application/json

URL Parameters

cafeId
integer
required

Cafe ID.

id
string
required

The ID of the price.

Example:
culpa

Body Parameters

Example request:
curl --request PUT \
    "https://api.icafecloud.com/api/v2/cafe//prices/culpa" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --data "{
    \"price_name\": null,
    \"price_round\": null,
    \"price_type\": null
}"
Example response:
Headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
    "code": 404,
    "message": "Url not match"
}

Delete price

DELETE
https://api.icafecloud.com
/api/v2/cafe/{cafeId}/prices/{id}
requires authentication

Headers

Authorization
Example:
Bearer {YOUR_AUTH_KEY}

URL Parameters

cafeId
integer
required

Cafe ID.

id
integer
required

Price ID.

Example request:
curl --request DELETE \
    "https://api.icafecloud.com/api/v2/cafe//prices/" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}"
Example response:
Headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
    "code": 404,
    "message": "Url not match"
}

Get PC group lists

GET
https://api.icafecloud.com
/api/v2/cafe/{cafeId}/pricePcGroups
requires authentication

Headers

Authorization
Example:
Bearer {YOUR_AUTH_KEY}

URL Parameters

cafeId
integer
required

Cafe ID.

Example request:
curl --request GET \
    --get "https://api.icafecloud.com/api/v2/cafe//pricePcGroups" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}"
Example response:
Headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
    "code": 404,
    "message": "Url not match"
}

Get member group lists

GET
https://api.icafecloud.com
/api/v2/cafe/{cafeId}/priceMemberGroups
requires authentication

Headers

Authorization
Example:
Bearer {YOUR_AUTH_KEY}

URL Parameters

cafeId
integer
required

Cafe ID.

Example request:
curl --request GET \
    --get "https://api.icafecloud.com/api/v2/cafe//priceMemberGroups" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}"
Example response:
Headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
    "code": 404,
    "message": "Url not match"
}

Boot images APIs

Add boot image

POST
https://api.icafecloud.com
/api/v2/cafe/{cafeId}/bootImages
requires authentication

Headers

Authorization
Example:
Bearer {YOUR_AUTH_KEY}
Content-Type
Example:
application/json

URL Parameters

cafeId
integer
required

Cafe ID.

Body Parameters

Example request:
curl --request POST \
    "https://api.icafecloud.com/api/v2/cafe//bootImages" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --data "{
    \"image_name\": \"Windows 11\",
    \"image_path\": null
}"
Example response:
Headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
    "code": 404,
    "message": "Url not match"
}

Get boot image details

GET
https://api.icafecloud.com
/api/v2/cafe/{cafeId}/bootImages/{id}
requires authentication

Headers

Authorization
Example:
Bearer {YOUR_AUTH_KEY}

URL Parameters

cafeId
integer
required

Cafe ID.

id
string
required

The ID of the bootImage.

Example:
culpa
imageId
integer
required

Image ID.

Example request:
curl --request GET \
    --get "https://api.icafecloud.com/api/v2/cafe//bootImages/culpa" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}"
Example response:
{
    "code": 200,
    "message": "success",
    "data": {
        "info": {
            "image_id": 1101,
            "image_icafe_id": 7777,
            "image_name": "WIN7",
            "image_path": "U:\\VMs\\SIWIN7X64PRO\\SIWIN7X64PRO.VHD",
            "image_image_in_mount": 0,
            "image_image_mount_physicaldrive_number": "",
            "image_image_mount_letter": "",
            "image_size_g": "0.00",
            "image_pnp": null
        }
    }
}

Update boot image

PUT
PATCH
https://api.icafecloud.com
/api/v2/cafe/{cafeId}/bootImages/{id}
requires authentication

Headers

Authorization
Example:
Bearer {YOUR_AUTH_KEY}
Content-Type
Example:
application/json

URL Parameters

cafeId
integer
required

Cafe ID.

id
string
required

The ID of the bootImage.

Example:
culpa
imageId
integer
required

Image ID.

Body Parameters

Example request:
curl --request PUT \
    "https://api.icafecloud.com/api/v2/cafe//bootImages/culpa" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --data "{
    \"image_name\": \"Windows 11\",
    \"image_path\": null
}"
Example response:
Headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
    "code": 404,
    "message": "Url not match"
}

Delete boot image

DELETE
https://api.icafecloud.com
/api/v2/cafe/{cafeId}/bootImages/{id}
requires authentication

Headers

Authorization
Example:
Bearer {YOUR_AUTH_KEY}

URL Parameters

cafeId
integer
required

Cafe ID.

id
string
required

The ID of the bootImage.

Example:
culpa
imageId
integer
required

Image ID.

Example request:
curl --request DELETE \
    "https://api.icafecloud.com/api/v2/cafe//bootImages/culpa" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}"
Example response:
Headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
    "code": 404,
    "message": "Url not match"
}

Disk recovery init

GET
https://api.icafecloud.com
/api/v2/cafe/{cafeId}/bootImages/{imageId}/diskRecoveryInit
requires authentication

Headers

Authorization
Example:
Bearer {YOUR_AUTH_KEY}

URL Parameters

cafeId
integer
required

Cafe ID.

imageId
integer
required

Image ID.

Example request:
curl --request GET \
    --get "https://api.icafecloud.com/api/v2/cafe//bootImages//diskRecoveryInit" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}"
Example response:
Headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
    "code": 404,
    "message": "Url not match"
}

Get Boot image lists

GET
https://api.icafecloud.com
/api/v2/cafe/{cafeId}/bootImages
requires authentication

Headers

Authorization
Example:
Bearer {YOUR_AUTH_KEY}

URL Parameters

cafeId
integer
required

Cafe ID.

Example request:
curl --request GET \
    --get "https://api.icafecloud.com/api/v2/cafe//bootImages" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}"
Example response:
{
  "code": 200,
  "message": "success",
  "data": [
    {
      "image_id": 1103,
      "image_icafe_id": 7777,
      "image_name": "Win7",
      "image_path": "U:\\VMs\\SIWIN7X64PRO\\SIWIN7X64PRO.VHD",,
      "image_image_in_mount": 0,
      "image_image_mount_physicaldrive_number": "",
      "image_image_mount_letter": "",
      "image_size_g": "0.00",
      "image_pnp": null,
      "has_super": 0,
      "last_update_time": null
    }
  ]
}

Boot parameters APIs

Add boot parameter

POST
https://api.icafecloud.com
/api/v2/cafe/{cafeId}/bootParams
requires authentication

Headers

Authorization
Example:
Bearer {YOUR_AUTH_KEY}
Content-Type
Example:
application/json

URL Parameters

cafeId
integer
required

Cafe ID.

xml_file
string

file required XML file(max:2048).

ini_file
string

file required Ini file(max:2048).

Body Parameters

Example request:
curl --request POST \
    "https://api.icafecloud.com/api/v2/cafe//bootParams" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --data "{
    \"xml_file\": \"pasyzwszwtxpeqq\",
    \"ini_file\": \"ikymwkiinfowtzm\"
}"
Example response:
Headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
    "code": 404,
    "message": "Url not match"
}

Update boot parameter

PUT
https://api.icafecloud.com
/api/v2/cafe/{cafeId}/bootParams
requires authentication

Headers

Authorization
Example:
Bearer {YOUR_AUTH_KEY}
Content-Type
Example:
application/json

URL Parameters

cafeId
integer
required

Cafe ID.

Body Parameters

Example request:
curl --request PUT \
    "https://api.icafecloud.com/api/v2/cafe//bootParams" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --data "{
    \"startiscsi\": null,
    \"iscsiport\": null
}"
Example response:
Headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
    "code": 404,
    "message": "Url not match"
}

Update DHCP

PUT
https://api.icafecloud.com
/api/v2/cafe/{cafeId}/bootParams/action/updateDhcp
requires authentication

Headers

Authorization
Example:
Bearer {YOUR_AUTH_KEY}
Content-Type
Example:
application/json

URL Parameters

cafeId
integer
required

Cafe ID.

Body Parameters

Example request:
curl --request PUT \
    "https://api.icafecloud.com/api/v2/cafe//bootParams/action/updateDhcp" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --data "{
    \"starttftp\": null,
    \"startproxydhcp\": null,
    \"proxydhcpport\": null
}"
Example response:
Headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
    "code": 404,
    "message": "Url not match"
}

Get boot parameter list

GET
https://api.icafecloud.com
/api/v2/cafe/{cafeId}/bootParams
requires authentication

Headers

Authorization
Example:
Bearer {YOUR_AUTH_KEY}

URL Parameters

cafeId
integer
required

Cafe ID.

Example request:
curl --request GET \
    --get "https://api.icafecloud.com/api/v2/cafe//bootParams" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}"
Example response:
Headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
    "code": 404,
    "message": "Url not match"
}

Event APIs

Get event lists

GET
https://api.icafecloud.com
/api/v2/cafe/{cafeId}/events
requires authentication

Headers

Authorization
Example:
Bearer {YOUR_AUTH_KEY}

URL Parameters

cafeId
integer
required

Cafe ID.

Example request:
curl --request GET \
    --get "https://api.icafecloud.com/api/v2/cafe//events" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}"
Example response:
Headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
    "code": 404,
    "message": "Url not match"
}

Add event

POST
https://api.icafecloud.com
/api/v2/cafe/{cafeId}/events
requires authentication

Headers

Authorization
Example:
Bearer {YOUR_AUTH_KEY}
Content-Type
Example:
application/json

URL Parameters

cafeId
integer
required

Cafe ID.

Body Parameters

Example request:
curl --request POST \
    "https://api.icafecloud.com/api/v2/cafe//events" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --data "{
    \"event_name\": null,
    \"event_game_code\": null,
    \"event_start_date_utc\": null,
    \"event_start_time_utc\": null,
    \"event_end_date_utc\": null,
    \"event_end_time_utc\": null,
    \"event_top_winners\": null
}"
Example response:
Headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
    "code": 404,
    "message": "Url not match"
}

Get event details

GET
https://api.icafecloud.com
/api/v2/cafe/{cafeId}/events/{id}
requires authentication

Headers

Authorization
Example:
Bearer {YOUR_AUTH_KEY}

URL Parameters

cafeId
integer
required

Cafe ID.

id
string
required

Id.

Example request:
curl --request GET \
    --get "https://api.icafecloud.com/api/v2/cafe//events/" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}"
Example response:
Headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
    "code": 404,
    "message": "Url not match"
}

Updated event

PUT
PATCH
https://api.icafecloud.com
/api/v2/cafe/{cafeId}/events/{id}
requires authentication

Headers

Authorization
Example:
Bearer {YOUR_AUTH_KEY}
Content-Type
Example:
application/json

URL Parameters

cafeId
integer
required

Cafe ID.

id
string
required

Event ID.

Body Parameters

Example request:
curl --request PUT \
    "https://api.icafecloud.com/api/v2/cafe//events/" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --data "{
    \"event_name\": null,
    \"event_game_code\": null,
    \"event_start_date_utc\": null,
    \"event_start_time_utc\": null,
    \"event_end_date_utc\": null,
    \"event_end_time_utc\": null,
    \"event_top_winners\": null
}"
Example response:
Headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
    "code": 404,
    "message": "Url not match"
}

Delete event

DELETE
https://api.icafecloud.com
/api/v2/cafe/{cafeId}/events/{id}
requires authentication

Headers

Authorization
Example:
Bearer {YOUR_AUTH_KEY}

URL Parameters

cafeId
integer
required

Cafe ID.

id
string
required

Event ID.

Example request:
curl --request DELETE \
    "https://api.icafecloud.com/api/v2/cafe//events/" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}"
Example response:
Headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
    "code": 404,
    "message": "Url not match"
}

Event ranking details

GET
https://api.icafecloud.com
/api/v2/cafe/{cafeId}/events/{eventId}/detail
requires authentication

Headers

Authorization
Example:
Bearer {YOUR_AUTH_KEY}

URL Parameters

cafeId
integer
required

Cafe ID.

eventId
string
required

Event ID.

Example request:
curl --request GET \
    --get "https://api.icafecloud.com/api/v2/cafe//events//detail" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}"
Example response:
Headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
    "code": 404,
    "message": "Url not match"
}

Publish event

GET
https://api.icafecloud.com
/api/v2/cafe/{cafeId}/events/{eventId}/publish
requires authentication

Headers

Authorization
Example:
Bearer {YOUR_AUTH_KEY}

URL Parameters

cafeId
integer
required

Cafe ID.

eventId
string
required

Event ID.

Example request:
curl --request GET \
    --get "https://api.icafecloud.com/api/v2/cafe//events//publish" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}"
Example response:
Headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
    "code": 404,
    "message": "Url not match"
}

Allocate bonus

GET
https://api.icafecloud.com
/api/v2/cafe/{cafeId}/events/{eventId}/allocateBonus
requires authentication

Headers

Authorization
Example:
Bearer {YOUR_AUTH_KEY}

URL Parameters

cafeId
integer
required

Cafe ID.

eventId
string
required

Event ID.

Example request:
curl --request GET \
    --get "https://api.icafecloud.com/api/v2/cafe//events//allocateBonus" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}"
Example response:
Headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
    "code": 404,
    "message": "Url not match"
}

Join event

POST
https://api.icafecloud.com
/api/v2/cafe/{cafeId}/events/{eventId}/joinEvent
requires authentication

Headers

Authorization
Example:
Bearer {YOUR_AUTH_KEY}
Content-Type
Example:
application/json

URL Parameters

cafeId
integer
required

Cafe ID.

eventId
string
required

Event ID.

Body Parameters

Example request:
curl --request POST \
    "https://api.icafecloud.com/api/v2/cafe//events//joinEvent" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --data "{
    \"member_id\": null
}"
Example response:
Headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
    "code": 404,
    "message": "Url not match"
}

Event join

POST
https://api.icafecloud.com
/api/v2/cafe/{cafeId}/events/eventJoin
requires authentication

Headers

Authorization
Example:
Bearer {YOUR_AUTH_KEY}
Content-Type
Example:
application/json

URL Parameters

cafeId
integer
required

Cafe ID.

Body Parameters

Example request:
curl --request POST \
    "https://api.icafecloud.com/api/v2/cafe//events/eventJoin" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --data "{
    \"pc_name\": null,
    \"event_id\": null
}"
Example response:
Headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
    "code": 404,
    "message": "Url not match"
}

Event Detail

GET
https://api.icafecloud.com
/api/v2/cafe/{cafeId}/events/eventDetail
requires authentication

Headers

Authorization
Example:
Bearer {YOUR_AUTH_KEY}

URL Parameters

cafeId
integer
required

Cafe ID.

Query Parameters

event_id
string
required

Event ID.

pc_name
string
required

Pc Name.

Example request:
curl --request GET \
    --get "https://api.icafecloud.com/api/v2/cafe//events/eventDetail?event_id=&pc_name=" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}"
Example response:
Headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
    "code": 404,
    "message": "Url not match"
}

Event list

GET
https://api.icafecloud.com
/api/v2/cafe/{cafeId}/events/eventList
requires authentication

Headers

Authorization
Example:
Bearer {YOUR_AUTH_KEY}

URL Parameters

cafeId
integer
required

Cafe ID.

Query Parameters

pc_name
string
required

Pc Name.

Example request:
curl --request GET \
    --get "https://api.icafecloud.com/api/v2/cafe//events/eventList?pc_name=" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}"
Example response:
Headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
    "code": 404,
    "message": "Url not match"
}

Add Custom Event Record

POST
https://api.icafecloud.com
/api/v2/cafe/{cafeId}/events/{eventId}/addCustomRecord
requires authentication

Headers

Authorization
Example:
Bearer {YOUR_AUTH_KEY}
Content-Type
Example:
application/json

URL Parameters

cafeId
integer
required

Cafe ID.

eventId
string
required

Event ID.

Body Parameters

Example request:
curl --request POST \
    "https://api.icafecloud.com/api/v2/cafe//events//addCustomRecord" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --data "{
    \"custom_member_account\": null,
    \"custom_wins\": null,
    \"custom_kills\": null,
    \"custom_assists\": null,
    \"custom_deaths\": null
}"
Example response:
Headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
    "code": 404,
    "message": "Url not match"
}

Disable a member from earning game coins for a single event

POST
https://api.icafecloud.com
/api/v2/cafe/{cafeId}/events/{eventId}/disableMember
requires authentication

Headers

Authorization
Example:
Bearer {YOUR_AUTH_KEY}
Content-Type
Example:
application/json

URL Parameters

cafeId
integer
required

Cafe ID.

eventId
string
required

Event ID.

Body Parameters

Example request:
curl --request POST \
    "https://api.icafecloud.com/api/v2/cafe//events//disableMember" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --data "{
    \"member_account\": null
}"
Example response:
Headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
    "code": 404,
    "message": "Url not match"
}

Enable a member to earn game coins for a single event

POST
https://api.icafecloud.com
/api/v2/cafe/{cafeId}/events/{eventId}/enableMember
requires authentication

Headers

Authorization
Example:
Bearer {YOUR_AUTH_KEY}
Content-Type
Example:
application/json

URL Parameters

cafeId
integer
required

Cafe ID.

eventId
string
required

Event ID.

Body Parameters

Example request:
curl --request POST \
    "https://api.icafecloud.com/api/v2/cafe//events//enableMember" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --data "{
    \"member_account\": null
}"
Example response:
Headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
    "code": 404,
    "message": "Url not match"
}

PC groups APIs

Get PC group lists

GET
https://api.icafecloud.com
/api/v2/cafe/{cafeId}/pcGroups
requires authentication

Headers

Authorization
Example:
Bearer {YOUR_AUTH_KEY}

URL Parameters

cafeId
integer
required

Cafe ID.

contains_default
string

Contains default.

Example:
yes
filter_empty
string

group has PCs.

Example:
no
Example request:
curl --request GET \
    --get "https://api.icafecloud.com/api/v2/cafe//pcGroups" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}"
Example response:
Headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
    "code": 404,
    "message": "Url not match"
}

Add PC group

POST
https://api.icafecloud.com
/api/v2/cafe/{cafeId}/pcGroups
requires authentication

Headers

Authorization
Example:
Bearer {YOUR_AUTH_KEY}
Content-Type
Example:
application/json

URL Parameters

cafeId
integer
required

Cafe ID.

Body Parameters

Example request:
curl --request POST \
    "https://api.icafecloud.com/api/v2/cafe//pcGroups" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --data "{
    \"pc_group_name\": null
}"
Example response:
Headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
    "code": 404,
    "message": "Url not match"
}

Update PC group

PUT
https://api.icafecloud.com
/api/v2/cafe/{cafeId}/pcGroups/{pcGroupId}
requires authentication

Headers

Authorization
Example:
Bearer {YOUR_AUTH_KEY}
Content-Type
Example:
application/json

URL Parameters

cafeId
integer
required

Cafe ID.

pcGroupId
integer
required

ID.

Body Parameters

Example request:
curl --request PUT \
    "https://api.icafecloud.com/api/v2/cafe//pcGroups/" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --data "{
    \"pc_group_name\": null,
    \"pc_group_desc\": null
}"
Example response:
Headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
    "code": 404,
    "message": "Url not match"
}

Delete PC Group

DELETE
https://api.icafecloud.com
/api/v2/cafe/{cafeId}/pcGroups/{pcGroupId}
requires authentication

Headers

Authorization
Example:
Bearer {YOUR_AUTH_KEY}

URL Parameters

cafeId
integer
required

Cafe ID.

pcGroupId
integer
required

ID.

Example request:
curl --request DELETE \
    "https://api.icafecloud.com/api/v2/cafe//pcGroups/" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}"
Example response:
Headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
    "code": 404,
    "message": "Url not match"
}

Get task group lists

GET
https://api.icafecloud.com
/api/v2/cafe/{cafeId}/taskGroups
requires authentication

Headers

Authorization
Example:
Bearer {YOUR_AUTH_KEY}

URL Parameters

cafeId
integer
required

Cafe ID.

Example request:
curl --request GET \
    --get "https://api.icafecloud.com/api/v2/cafe//taskGroups" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}"
Example response:
Headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
    "code": 404,
    "message": "Url not match"
}

Add task group

POST
https://api.icafecloud.com
/api/v2/cafe/{cafeId}/taskGroups
requires authentication

Headers

Authorization
Example:
Bearer {YOUR_AUTH_KEY}
Content-Type
Example:
application/json

URL Parameters

cafeId
integer
required

Cafe ID.

Body Parameters

Example request:
curl --request POST \
    "https://api.icafecloud.com/api/v2/cafe//taskGroups" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --data "{
    \"task_group_name\": null
}"
Example response:
Headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
    "code": 404,
    "message": "Url not match"
}

Update task group

PUT
https://api.icafecloud.com
/api/v2/cafe/{cafeId}/taskGroups/{taskGroupId}
requires authentication

Headers

Authorization
Example:
Bearer {YOUR_AUTH_KEY}
Content-Type
Example:
application/json

URL Parameters

cafeId
integer
required

Cafe ID.

taskGroupId
string
required

ID.

Body Parameters

Example request:
curl --request PUT \
    "https://api.icafecloud.com/api/v2/cafe//taskGroups/" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --data "{
    \"task_group_name\": null
}"
Example response:
Headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
    "code": 404,
    "message": "Url not match"
}

Delete task Group

DELETE
https://api.icafecloud.com
/api/v2/cafe/{cafeId}/taskGroups/{taskGroupId}
requires authentication

Headers

Authorization
Example:
Bearer {YOUR_AUTH_KEY}

URL Parameters

cafeId
integer
required

Cafe ID.

taskGroupId
string
required

ID.

Example request:
curl --request DELETE \
    "https://api.icafecloud.com/api/v2/cafe//taskGroups/" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}"
Example response:
Headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
    "code": 404,
    "message": "Url not match"
}

Base data APIs

Query base data

GET
https://api.icafecloud.com
/api/v2/cafe/{cafeId}/base/query
requires authentication

Headers

Authorization
Example:
Bearer {YOUR_AUTH_KEY}

URL Parameters

cafeId
integer
required

Cafe ID.

Example request:
curl --request GET \
    --get "https://api.icafecloud.com/api/v2/cafe//base/query" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}"
Example response:
Headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
    "code": 404,
    "message": "Url not match"
}

Init game data

GET
https://api.icafecloud.com
/api/v2/cafe/{cafeId}/gameDataInit
requires authentication

Headers

Authorization
Example:
Bearer {YOUR_AUTH_KEY}

URL Parameters

cafeId
integer
required

Cafe ID.

Example request:
curl --request GET \
    --get "https://api.icafecloud.com/api/v2/cafe//gameDataInit" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}"
Example response:
Headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
    "code": 404,
    "message": "Url not match"
}

Init report data

GET
https://api.icafecloud.com
/api/v2/cafe/{cafeId}/reportDataInit
requires authentication

Headers

Authorization
Example:
Bearer {YOUR_AUTH_KEY}

URL Parameters

cafeId
integer
required

Cafe ID.

Example request:
curl --request GET \
    --get "https://api.icafecloud.com/api/v2/cafe//reportDataInit" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}"
Example response:
Headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
    "code": 404,
    "message": "Url not match"
}

Init IDC game data

GET
https://api.icafecloud.com
/api/v2/cafe/{cafeId}/gameInitData
requires authentication

Headers

Authorization
Example:
Bearer {YOUR_AUTH_KEY}

URL Parameters

cafeId
integer
required

Cafe ID.

Example request:
curl --request GET \
    --get "https://api.icafecloud.com/api/v2/cafe//gameInitData" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}"
Example response:
Headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
    "code": 404,
    "message": "Url not match"
}

Member groups APIs

Get member group lists

GET
https://api.icafecloud.com
/api/v2/cafe/{cafeId}/memberGroups
requires authentication

Headers

Authorization
Example:
Bearer {YOUR_AUTH_KEY}

URL Parameters

cafeId
integer
required

Cafe ID.

Query Parameters

contains_default
string

Contains default.

Example:
yes
filter_empty
string

group has members.

Example:
no
Example request:
curl --request GET \
    --get "https://api.icafecloud.com/api/v2/cafe//memberGroups?contains_default=yes&filter_empty=no" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}"
Example response:
Headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
    "code": 404,
    "message": "Url not match"
}

Add member group

POST
https://api.icafecloud.com
/api/v2/cafe/{cafeId}/memberGroups
requires authentication

Headers

Authorization
Example:
Bearer {YOUR_AUTH_KEY}
Content-Type
Example:
application/json

URL Parameters

cafeId
integer
required

Cafe ID.

Body Parameters

Example request:
curl --request POST \
    "https://api.icafecloud.com/api/v2/cafe//memberGroups" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --data "{
    \"member_group_name\": null
}"
Example response:
Headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
    "code": 404,
    "message": "Url not match"
}

Update member group

PUT
PATCH
https://api.icafecloud.com
/api/v2/cafe/{cafeId}/memberGroups/{id}
requires authentication

Headers

Authorization
Example:
Bearer {YOUR_AUTH_KEY}
Content-Type
Example:
application/json

URL Parameters

cafeId
integer
required

Cafe ID.

id
integer
required

ID.

Body Parameters

Example request:
curl --request PUT \
    "https://api.icafecloud.com/api/v2/cafe//memberGroups/" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --data "{
    \"member_group_name\": null
}"
Example response:
Headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
    "code": 404,
    "message": "Url not match"
}

Delete member group

DELETE
https://api.icafecloud.com
/api/v2/cafe/{cafeId}/memberGroups/{id}
requires authentication

Headers

Authorization
Example:
Bearer {YOUR_AUTH_KEY}

URL Parameters

cafeId
integer
required

Cafe ID.

id
integer
required

ID.

Example request:
curl --request DELETE \
    "https://api.icafecloud.com/api/v2/cafe//memberGroups/" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}"
Example response:
Headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
    "code": 404,
    "message": "Url not match"
}

Delete member group check

POST
https://api.icafecloud.com
/api/v2/cafe/{cafeId}/memberGroups/{id}/deleteCheck
requires authentication

Headers

Authorization
Example:
Bearer {YOUR_AUTH_KEY}

URL Parameters

cafeId
integer
required

Cafe ID.

id
integer
required

ID.

Example request:
curl --request POST \
    "https://api.icafecloud.com/api/v2/cafe//memberGroups//deleteCheck" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}"
Example response:
Headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
    "code": 404,
    "message": "Url not match"
}

Games APIs

Get game lists

GET
https://api.icafecloud.com
/api/v2/cafe/{cafeId}/games
requires authentication

Headers

Authorization
Example:
Bearer {YOUR_AUTH_KEY}

URL Parameters

cafeId
integer
required

Cafe ID.

Example request:
curl --request GET \
    --get "https://api.icafecloud.com/api/v2/cafe//games" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}"
Example response:
Headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
    "code": 404,
    "message": "Url not match"
}

Get game show

GET
https://api.icafecloud.com
/api/v2/cafe/{cafeId}/games/{id}
requires authentication

Headers

Authorization
Example:
Bearer {YOUR_AUTH_KEY}

URL Parameters

cafeId
integer
required

Cafe ID.

id
string
required

The ID of the game.

Example:
culpa
Example request:
curl --request GET \
    --get "https://api.icafecloud.com/api/v2/cafe//games/culpa" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}"
Example response:
Headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
    "code": 404,
    "message": "Url not match"
}

Add game

POST
https://api.icafecloud.com
/api/v2/cafe/{cafeId}/games
requires authentication

Headers

Authorization
Example:
Bearer {YOUR_AUTH_KEY}
Content-Type
Example:
application/json

URL Parameters

cafeId
integer
required

Cafe ID.

Body Parameters

Example request:
curl --request POST \
    "https://api.icafecloud.com/api/v2/cafe//games" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --data "{
    \"pkg_name\": null,
    \"pkg_idc_class\": null,
    \"pkg_local_path\": null
}"
Example response:
Headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
    "code": 404,
    "message": "Url not match"
}

Update game

PUT
https://api.icafecloud.com
/api/v2/cafe/{cafeId}/games/{gameId}
requires authentication

Headers

Authorization
Example:
Bearer {YOUR_AUTH_KEY}
Content-Type
Example:
application/json

URL Parameters

cafeId
integer
required

Cafe ID.

gameId
integer
required

ID.

Body Parameters

Example request:
curl --request PUT \
    "https://api.icafecloud.com/api/v2/cafe//games/" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --data "{
    \"pkg_name\": null,
    \"pkg_idc_class\": null,
    \"pkg_local_path\": null
}"
Example response:
Headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
    "code": 404,
    "message": "Url not match"
}

Delete game

DELETE
https://api.icafecloud.com
/api/v2/cafe/{cafeId}/games/{gameId}
requires authentication

Headers

Authorization
Example:
Bearer {YOUR_AUTH_KEY}
Content-Type
Example:
application/json

URL Parameters

cafeId
integer
required

Cafe ID.

gameId
integer
required

ID.

Body Parameters

Example request:
curl --request DELETE \
    "https://api.icafecloud.com/api/v2/cafe//games/" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --data "{
    \"del_files\": \"culpa\"
}"
Example response:
Headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
    "code": 404,
    "message": "Url not match"
}

Get IDC game info

GET
https://api.icafecloud.com
/api/v2/cafe/{cafeId}/games/{gameId}/idcGameInfo
requires authentication

Headers

Authorization
Example:
Bearer {YOUR_AUTH_KEY}

URL Parameters

cafeId
integer
required

Cafe ID.

gameId
integer
required

ID.

Example request:
curl --request GET \
    --get "https://api.icafecloud.com/api/v2/cafe//games//idcGameInfo" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}"
Example response:
Headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
    "code": 404,
    "message": "Url not match"
}

Delete IDC game

DELETE
https://api.icafecloud.com
/api/v2/cafe/{cafeId}/games/{gameId}/deleteIdc
requires authentication

Headers

Authorization
Example:
Bearer {YOUR_AUTH_KEY}
Content-Type
Example:
application/json

URL Parameters

cafeId
integer
required

Cafe ID.

gameId
integer
required

ID.

Body Parameters

Example request:
curl --request DELETE \
    "https://api.icafecloud.com/api/v2/cafe//games//deleteIdc" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --data "{
    \"del_files\": \"culpa\"
}"
Example response:
Headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
    "code": 404,
    "message": "Url not match"
}

Update remove

GET
https://api.icafecloud.com
/api/v2/cafe/{cafeId}/games/{gameId}/updateRemove
requires authentication

Headers

Authorization
Example:
Bearer {YOUR_AUTH_KEY}
Content-Type
Example:
application/json

URL Parameters

cafeId
integer
required

Cafe ID.

gameId
integer
required

ID.

Body Parameters

Example request:
curl --request GET \
    --get "https://api.icafecloud.com/api/v2/cafe//games//updateRemove" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --data "{
    \"del_files\": \"culpa\"
}"
Example response:
Headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
    "code": 404,
    "message": "Url not match"
}

Repair game

GET
https://api.icafecloud.com
/api/v2/cafe/{cafeId}/games/{gameId}/repair
requires authentication

Headers

Authorization
Example:
Bearer {YOUR_AUTH_KEY}

URL Parameters

cafeId
integer
required

Cafe ID.

gameId
integer
required

ID.

Example request:
curl --request GET \
    --get "https://api.icafecloud.com/api/v2/cafe//games//repair" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}"
Example response:
Headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
    "code": 404,
    "message": "Url not match"
}

Enable game

POST
https://api.icafecloud.com
/api/v2/cafe/{cafeId}/games/{gameId}/enable
requires authentication

Headers

Authorization
Example:
Bearer {YOUR_AUTH_KEY}
Content-Type
Example:
application/json

URL Parameters

cafeId
integer
required

Cafe ID.

gameId
integer
required

ID.

Body Parameters

Example request:
curl --request POST \
    "https://api.icafecloud.com/api/v2/cafe//games//enable" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --data "{
    \"pkg_name\": null,
    \"pkg_idc_class\": null,
    \"pkg_local_path\": null
}"
Example response:
Headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
    "code": 404,
    "message": "Url not match"
}

Copy game

GET
https://api.icafecloud.com
/api/v2/cafe/{cafeId}/games/{gameId}/copy
requires authentication

Headers

Authorization
Example:
Bearer {YOUR_AUTH_KEY}

URL Parameters

cafeId
integer
required

Cafe ID.

gameId
integer
required

ID.

Example request:
curl --request GET \
    --get "https://api.icafecloud.com/api/v2/cafe//games//copy" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}"
Example response:
Headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
    "code": 404,
    "message": "Url not match"
}

Update to IDC direct

GET
https://api.icafecloud.com
/api/v2/cafe/{cafeId}/games/{gameId}/updateToIdcDirect
requires authentication

Headers

Authorization
Example:
Bearer {YOUR_AUTH_KEY}

URL Parameters

cafeId
integer
required

Cafe ID.

gameId
integer
required

ID.

Example request:
curl --request GET \
    --get "https://api.icafecloud.com/api/v2/cafe//games//updateToIdcDirect" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}"
Example response:
Headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
    "code": 404,
    "message": "Url not match"
}

Poster

GET
https://api.icafecloud.com
/api/v2/cafe/{cafeId}/games/{gameId}/poster
requires authentication

Headers

Authorization
Example:
Bearer {YOUR_AUTH_KEY}

URL Parameters

cafeId
integer
required

Cafe ID.

gameId
integer
required

ID.

Example request:
curl --request GET \
    --get "https://api.icafecloud.com/api/v2/cafe//games//poster" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}"
Example response:
Headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
    "code": 404,
    "message": "Url not match"
}

Report update problem for idc games

GET
https://api.icafecloud.com
/api/v2/cafe/{cafeId}/games/{gameId}/makeReportUpdateProblemWssPackage
requires authentication

Headers

Authorization
Example:
Bearer {YOUR_AUTH_KEY}

URL Parameters

cafeId
integer
required

Cafe ID.

gameId
integer
required

Game ID.

Example request:
curl --request GET \
    --get "https://api.icafecloud.com/api/v2/cafe//games//makeReportUpdateProblemWssPackage" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}"
Example response:
Headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
    "code": 404,
    "message": "Url not match"
}

Clear hot

POST
https://api.icafecloud.com
/api/v2/cafe/{cafeId}/games/{gameId}/clearHot
requires authentication

Headers

Authorization
Example:
Bearer {YOUR_AUTH_KEY}

URL Parameters

cafeId
integer
required

Cafe ID.

gameId
integer
required

Game ID.

Example request:
curl --request POST \
    "https://api.icafecloud.com/api/v2/cafe//games//clearHot" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}"
Example response:
Headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
    "code": 404,
    "message": "Url not match"
}

Get game APPID list

GET
https://api.icafecloud.com
/api/v2/cafe/{cafeId}/games/action/appids
requires authentication

Headers

Authorization
Example:
Bearer {YOUR_AUTH_KEY}

URL Parameters

cafeId
integer
required

Cafe ID.

Query Parameters

game_type
integer
required

Game type.

search_text
string

Search text.

Example request:
curl --request GET \
    --get "https://api.icafecloud.com/api/v2/cafe//games/action/appids?game_type=" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}"
Example response:
Headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
    "code": 404,
    "message": "Url not match"
}

Import game

POST
https://api.icafecloud.com
/api/v2/cafe/{cafeId}/games/action/importGames
requires authentication

Headers

Authorization
Example:
Bearer {YOUR_AUTH_KEY}
Content-Type
Example:
application/json

URL Parameters

cafeId
integer
required

Cafe ID.

Body Parameters

Example request:
curl --request POST \
    "https://api.icafecloud.com/api/v2/cafe//games/action/importGames" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --data "{
    \"license_name\": null,
    \"license_password\": null
}"
Example response:
Headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
    "code": 404,
    "message": "Url not match"
}

Game licenses

POST
https://api.icafecloud.com
/api/v2/cafe/{cafeId}/gameLicenses
requires authentication

Headers

Authorization
Example:
Bearer {YOUR_AUTH_KEY}

URL Parameters

cafeId
integer
required

Cafe ID.

Query Parameters

pkg_id
string
required

Pkg ID.

pc_name
string
required

PC name.

Example request:
curl --request POST \
    "https://api.icafecloud.com/api/v2/cafe//gameLicenses?pkg_id=&pc_name=" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}"
Example response:
{
  "code": 200,
  "message": "success",
  "data": {
		"pkg_id": "123",
		"licenses": [
			"123",
			"456"
		],
  }
}

Account request

GET
https://api.icafecloud.com
/api/v2/cafe/{cafeId}/accountRequest
requires authentication

Headers

Authorization
Example:
Bearer {YOUR_AUTH_KEY}
Content-Type
Example:
application/json

URL Parameters

cafeId
integer
required

Cafe ID.

Query Parameters

pkg_id
string
required

Pkg ID.

pc_name
string
required

PC name.

license_account
string
required

License account.

Body Parameters

Example request:
curl --request GET \
    --get "https://api.icafecloud.com/api/v2/cafe//accountRequest?pkg_id=&pc_name=&license_account=" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --data "{
    \"license_account\": \"culpa\",
    \"pkg_id\": \"culpa\",
    \"pc_name\": \"culpa\"
}"
Example response:
Headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
    "code": 404,
    "message": "Url not match"
}

Game stats

POST
https://api.icafecloud.com
/api/v2/cafe/{cafeId}/gameStats
requires authentication

Headers

Authorization
Example:
Bearer {YOUR_AUTH_KEY}

URL Parameters

cafeId
integer
required

Cafe ID.

Query Parameters

type
string
required

match stats type.

pc_name
string
required

PC name.

Example request:
curl --request POST \
    "https://api.icafecloud.com/api/v2/cafe//gameStats?type=&pc_name=" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}"
Example response:
{
    "code": 200,
    "message": "success",
    "data": {
        "win_coins": 59
    }
}

Add default games

POST
https://api.icafecloud.com
/api/v2/cafe/{cafeId}/games/action/addDefaultGames
requires authentication

Headers

Authorization
Example:
Bearer {YOUR_AUTH_KEY}
Content-Type
Example:
application/json

URL Parameters

cafeId
integer
required

Cafe ID.

Body Parameters

Example request:
curl --request POST \
    "https://api.icafecloud.com/api/v2/cafe//games/action/addDefaultGames" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --data "{
    \"pkg_ids\": \"1,2,3\"
}"
Example response:
Headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
    "code": 404,
    "message": "Url not match"
}

Game rank data

GET
https://api.icafecloud.com
/api/v2/cafe/{cafeId}/games/action/gameRankData
requires authentication

Get game ranking data for supported games (fortnite, pubg, lol, valorant, dota2, csgo, apex).

Headers

Authorization
Example:
Bearer {YOUR_AUTH_KEY}

URL Parameters

cafeId
string
required
Example:
culpa

Query Parameters

game_code
string
required

Game code (fortnite, pubg, lol, valorant, dota2, csgo, apex).

Example:
fortnite
data_type
string

Data type (daily, weekly).

Example:
weekly
rank_region
string

Rank region (World, Europe, North America, South America, Asia, Africa, Middle East).

Example:
World
game_mode
string

Game mode, for fortnite/pubg only (DUO, SOLO, SQUAD).

Example:
SOLO
rank_day
string

Rank day for daily type (today, yesterday).

Example:
today
rank_week
string

Rank week for weekly type (this, last).

Example:
last
page
integer

Page number.

Example:
1
page_size
integer

Page size.

Example:
10
Example request:
curl --request GET \
    --get "https://api.icafecloud.com/api/v2/cafe/culpa/games/action/gameRankData?game_code=fortnite&data_type=weekly&rank_region=World&game_mode=SOLO&rank_day=today&rank_week=last&page=1&page_size=10" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}"
Example response:
{
    "code": 200,
    "message": "success",
    "data": {
        "items": [
            {
                "rank_icafe_id": 1,
                "rank_member_id": 100,
                "player_name": "PlayerOne",
                "wins": 10,
                "kills": 50,
                "points": 150,
                "icafe_country_letter": "us",
                "pos": 1
            }
        ]
    }
}

Billing log APIs

Billing log lists

GET
https://api.icafecloud.com
/api/v2/cafe/{cafeId}/billingLogs
requires authentication

Headers

Authorization
Example:
Bearer {YOUR_AUTH_KEY}

URL Parameters

cafeId
integer
required

Cafe ID.

Query Parameters

page
integer

Page.

Example:
1
staff
string

Staff name.

member
string

Member account.

event
string

Event.

pc
string

PC name.

date_start
string

Start date.

time_start
string

Start time.

date_end
string
time_end
string

End time.

member_or_guest
string

Member or guest (options: member, guest).

data_source
string

Data source(options:recent,history).

log_type
string

Log type(options:game_license).

bonus_only
string
operation
string
Must be one of:
  • topup
  • writeoff
Example:
topup
search
string
end_start
string

End date.

Example request:
curl --request GET \
    --get "https://api.icafecloud.com/api/v2/cafe//billingLogs?page=1&operation=topup" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}"
Example response:
Headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
    "code": 404,
    "message": "Url not match"
}

Date range

GET
https://api.icafecloud.com
/api/v2/cafe/{cafeId}/billingLogs/action/dateRange
requires authentication

Headers

Authorization
Example:
Bearer {YOUR_AUTH_KEY}

URL Parameters

cafeId
integer
required

Cafe ID.

Example request:
curl --request GET \
    --get "https://api.icafecloud.com/api/v2/cafe//billingLogs/action/dateRange" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}"
Example response:
Headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
    "code": 404,
    "message": "Url not match"
}

Feedback logs

GET
https://api.icafecloud.com
/api/v2/cafe/{cafeId}/billingLogs/action/feedbackLogs
requires authentication

Headers

Authorization
Example:
Bearer {YOUR_AUTH_KEY}

URL Parameters

cafeId
integer
required

Cafe ID.

Query Parameters

page
integer

Page number.

Example:
1
read
integer

Options (0 for unread messages, 1 for read messages, -1 for all messages).

Example:
1
Example request:
curl --request GET \
    --get "https://api.icafecloud.com/api/v2/cafe//billingLogs/action/feedbackLogs?page=1&read=1" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}"
Example response:
Headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
    "code": 404,
    "message": "Url not match"
}

Change log

GET
https://api.icafecloud.com
/api/v2/cafe/{cafeId}/billingLogs/action/changeLog
requires authentication

Headers

Authorization
Example:
Bearer {YOUR_AUTH_KEY}

URL Parameters

cafeId
integer
required

Cafe ID.

Example request:
curl --request GET \
    --get "https://api.icafecloud.com/api/v2/cafe//billingLogs/action/changeLog" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}"
Example response:
Headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
    "code": 404,
    "message": "Url not match"
}

Export billing logs

GET
https://api.icafecloud.com
/api/v2/cafe/{cafeId}/billingLogs/action/export
requires authentication

Headers

Authorization
Example:
Bearer {YOUR_AUTH_KEY}
Content-Type
Example:
application/json

URL Parameters

cafeId
integer
required

Cafe ID.

Query Parameters

staff
string

Staff name.

member
string

Member account.

event
string

Event.

pc
string

PC name.

date_start
string

Start date.

time_start
string

Start time.

end_start
string

End date.

time_end
string

End time.

member_or_guest
string

Member or guest (options: member, guest).

Body Parameters

Example request:
curl --request GET \
    --get "https://api.icafecloud.com/api/v2/cafe//billingLogs/action/export" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --data "{
    \"operation\": \"topup\"
}"
Example response:
{
    "code": 200,
    "message": "success",
    "data": {
        "filename": "xxx.csv",
        "csvContent": ""
    }
}

Assistant log

GET
https://api.icafecloud.com
/api/v2/cafe/{cafeId}/billingLogs/action/assistantLog
requires authentication

Headers

Authorization
Example:
Bearer {YOUR_AUTH_KEY}

URL Parameters

cafeId
integer
required

Cafe ID.

Query Parameters

page
integer

Page.

Example:
1
pageSize
integer

Page size.

Example:
15
assistant
string

Assistant.

Example:
15
member
string

Member account.

date_start
string

Start datetime(Y-m-d H:i:s).

date_end
string

End datetime(Y-m-d H:i:s).

Example request:
curl --request GET \
    --get "https://api.icafecloud.com/api/v2/cafe//billingLogs/action/assistantLog?page=1&pageSize=15&assistant=15" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}"
Example response:
Headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
    "code": 404,
    "message": "Url not match"
}

Assistant log export

GET
https://api.icafecloud.com
/api/v2/cafe/{cafeId}/billingLogs/action/assistantLogExport
requires authentication

Headers

Authorization
Example:
Bearer {YOUR_AUTH_KEY}

URL Parameters

cafeId
integer
required

Cafe ID.

Query Parameters

assistant
string

Assistant.

Example:
15
member
string

Member account.

date_start
string

Start datetime(Y-m-d H:i:s).

date_end
string

End datetime(Y-m-d H:i:s).

Example request:
curl --request GET \
    --get "https://api.icafecloud.com/api/v2/cafe//billingLogs/action/assistantLogExport?assistant=15" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}"
Example response:
{
    "code": 200,
    "message": "success",
    "data": {
        "filename": "xxx.csv",
        "csvContent": ""
    }
}

Assistant summary

GET
https://api.icafecloud.com
/api/v2/cafe/{cafeId}/billingLogs/action/assistantSummary
requires authentication

Headers

Authorization
Example:
Bearer {YOUR_AUTH_KEY}

URL Parameters

cafeId
integer
required

Cafe ID.

Query Parameters

page
integer

Page.

Example:
1
pageSize
integer

Page size.

Example:
15
assistant
string

Assistant.

Example:
15
member
string

Member account.

date_start
string

Start datetime(Y-m-d H:i:s).

date_end
string

End datetime(Y-m-d H:i:s).

Example request:
curl --request GET \
    --get "https://api.icafecloud.com/api/v2/cafe//billingLogs/action/assistantSummary?page=1&pageSize=15&assistant=15" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}"
Example response:
Headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
    "code": 404,
    "message": "Url not match"
}

Assistant summary export

GET
https://api.icafecloud.com
/api/v2/cafe/{cafeId}/billingLogs/action/assistantSummaryExport
requires authentication

Headers

Authorization
Example:
Bearer {YOUR_AUTH_KEY}

URL Parameters

cafeId
integer
required

Cafe ID.

Query Parameters

assistant
string

Assistant.

Example:
15
member
string

Member account.

date_start
string

Start datetime(Y-m-d H:i:s).

date_end
string

End datetime(Y-m-d H:i:s).

Example request:
curl --request GET \
    --get "https://api.icafecloud.com/api/v2/cafe//billingLogs/action/assistantSummaryExport?assistant=15" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}"
Example response:
{
    "code": 200,
    "message": "success",
    "data": {
        "filename": "xxx.csv",
        "csvContent": ""
    }
}

Assistant ranking

GET
https://api.icafecloud.com
/api/v2/cafe/{cafeId}/billingLogs/action/assistantRanking
requires authentication

Headers

Authorization
Example:
Bearer {YOUR_AUTH_KEY}

URL Parameters

cafeId
integer
required

Cafe ID.

Query Parameters

limit
integer

Limit.

Example:
20
ranking_type
string

Ranking type(options:amount,duration).

Example:
amount
date_start
string

Start datetime(Y-m-d H:i:s).

date_end
string

End datetime(Y-m-d H:i:s).

Example request:
curl --request GET \
    --get "https://api.icafecloud.com/api/v2/cafe//billingLogs/action/assistantRanking?limit=20&ranking_type=amount" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}"
Example response:
Headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
    "code": 404,
    "message": "Url not match"
}

Member ranking

GET
https://api.icafecloud.com
/api/v2/cafe/{cafeId}/billingLogs/action/memberRanking
requires authentication

Headers

Authorization
Example:
Bearer {YOUR_AUTH_KEY}

URL Parameters

cafeId
integer
required

Cafe ID.

Query Parameters

limit
integer

Limit.

Example:
20
ranking_type
string

Ranking type(options:amount,duration,number).

Example:
amount
date_start
string

Start datetime(Y-m-d H:i:s).

date_end
string

End datetime(Y-m-d H:i:s).

Example request:
curl --request GET \
    --get "https://api.icafecloud.com/api/v2/cafe//billingLogs/action/memberRanking?limit=20&ranking_type=amount" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}"
Example response:
Headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
    "code": 404,
    "message": "Url not match"
}

Notification list

GET
https://api.icafecloud.com
/api/v2/cafe/{cafeId}/billingLogs/action/importantNotifies
requires authentication

Headers

Authorization
Example:
Bearer {YOUR_AUTH_KEY}

URL Parameters

cafeId
integer
required

Cafe ID.

Example request:
curl --request GET \
    --get "https://api.icafecloud.com/api/v2/cafe//billingLogs/action/importantNotifies" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}"
Example response:
Headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
    "code": 404,
    "message": "Url not match"
}

Process notification

GET
https://api.icafecloud.com
/api/v2/cafe/{cafeId}/billingLogs/action/processImportantNotify
requires authentication

Headers

Authorization
Example:
Bearer {YOUR_AUTH_KEY}

URL Parameters

cafeId
integer
required

Cafe ID.

Query Parameters

billing_log_id
integer
required

Billing log ID.

Example request:
curl --request GET \
    --get "https://api.icafecloud.com/api/v2/cafe//billingLogs/action/processImportantNotify?billing_log_id=" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}"
Example response:
Headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
    "code": 404,
    "message": "Url not match"
}

Product stock logs

GET
https://api.icafecloud.com
/api/v2/cafe/{cafeId}/products/action/exportStock
requires authentication

Headers

Authorization
Example:
Bearer {YOUR_AUTH_KEY}

URL Parameters

cafeId
integer
required

Cafe ID.

Query Parameters

product_name
string

Product name.

date_start
string

Start date.

time_start
string

Start time.

date_end
string

End date.

time_end
string

End time.

data_source
string

recent or log (options: recent, log).

Example request:
curl --request GET \
    --get "https://api.icafecloud.com/api/v2/cafe//products/action/exportStock" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}"
Example response:
Headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
    "code": 404,
    "message": "Url not match"
}

Check whether there are new messages or not.

GET
https://api.icafecloud.com
/api/v2/cafe/{cafeId}/billingLogs/action/checkNewMessage
requires authentication

Headers

Authorization
Example:
Bearer {YOUR_AUTH_KEY}

URL Parameters

cafeId
integer
required

Cafe ID.

Example request:
curl --request GET \
    --get "https://api.icafecloud.com/api/v2/cafe//billingLogs/action/checkNewMessage" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}"
Example response:
Headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
    "code": 404,
    "message": "Url not match"
}

Staff mailbox message

GET
https://api.icafecloud.com
/api/v2/cafe/{cafeId}/billingLogs/action/staffMessage
requires authentication

Headers

Authorization
Example:
Bearer {YOUR_AUTH_KEY}
Content-Type
Example:
application/json

URL Parameters

cafeId
integer
required

Cafe ID.

Query Parameters

read
string

Options (inbox, outbox).

Example:
inbox
page
integer

Page number.

Example:
1

Body Parameters

Example request:
curl --request GET \
    --get "https://api.icafecloud.com/api/v2/cafe//billingLogs/action/staffMessage?read=inbox&page=1" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --data "{
    \"read\": \"inbox\"
}"
Example response:
Headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
    "code": 404,
    "message": "Url not match"
}

Send message

POST
https://api.icafecloud.com
/api/v2/cafe/{cafeId}/billingLogs/{logEvent}/sendMessage
requires authentication

Headers

Authorization
Example:
Bearer {YOUR_AUTH_KEY}
Content-Type
Example:
application/json

URL Parameters

cafeId
integer
required

Cafe ID.

logEvent
string
required

Message type.

Example:
'staffMsg','memberMsg'

Query Parameters

member_accounts
string[]

Receiver(staffs or members) names.

pc_name
string

Pc name.

used_secs
string

0-unread 1-read.

message
string

Message.

Example:
hello

Body Parameters

Example request:
curl --request POST \
    "https://api.icafecloud.com/api/v2/cafe//billingLogs/'staffMsg','memberMsg'/sendMessage?member_accounts=&message=hello" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --data "{
    \"member_accounts\": [],
    \"message\": \"culpa\"
}"
Example response:
Headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
    "code": 404,
    "message": "Url not match"
}

Delete billing log lists

DELETE
https://api.icafecloud.com
/api/v2/cafe/{cafeId}/billingLogs
requires authentication

Headers

Authorization
Example:
Bearer {YOUR_AUTH_KEY}
Content-Type
Example:
application/json

URL Parameters

cafeId
integer
required

Cafe ID.

Query Parameters

date_start
string

Start date.

time_start
string

Start time.

end_start
string

End date.

time_end
string

End time.

Body Parameters

Example request:
curl --request DELETE \
    "https://api.icafecloud.com/api/v2/cafe//billingLogs" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --data "{
    \"date_start\": \"culpa\",
    \"date_end\": \"culpa\"
}"
Example response:
Headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
    "code": 404,
    "message": "Url not match"
}

Session history

GET
https://api.icafecloud.com
/api/v2/cafe/{cafeId}/billingLogs/action/sessionHistory
requires authentication

会话历史:一行一次会话(CHECKOUT 事件),汇总 PC / 时长 / 充值 / 消费 / 折扣 / 会员当前余额, 供 Logs 页「Sessions」标签使用。对标 Senet 的会话历史,替代平铺的事件流水。 会话聚合口径复用 ReportsController::customerConsumptionExport:CHECKOUT 即一次会话, 开始时间 = log_date - log_used_secs,消费按会话时间窗 join 订单计算。 营收口径排除余额/硬币,与 hourlyTraffic 一致,避免与充值重复计算。

Headers

Authorization
Example:
Bearer {YOUR_AUTH_KEY}

URL Parameters

cafeId
integer
required

Cafe ID.

Body Parameters

Example request:
curl --request GET \
    --get "https://api.icafecloud.com/api/v2/cafe//billingLogs/action/sessionHistory" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
Example response:
Headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
    "code": 404,
    "message": "Url not match"
}

upload billing logs

GET
https://api.icafecloud.com
/api/v2/cafe/{cafeId}/billingLogs/action/upload
requires authentication

Headers

Authorization
Example:
Bearer {YOUR_AUTH_KEY}

URL Parameters

cafeId
integer
required

Cafe ID.

Example request:
curl --request GET \
    --get "https://api.icafecloud.com/api/v2/cafe//billingLogs/action/upload" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}"
Example response:
{
    "code": 200,
    "message": "success",
    "data": {}
}

User survey logs

GET
https://api.icafecloud.com
/api/v2/cafe/{cafeId}/billingLogs/action/userSurveyLogs
requires authentication

Headers

Authorization
Example:
Bearer {YOUR_AUTH_KEY}

URL Parameters

cafeId
integer
required

Cafe ID.

Query Parameters

page
integer

Page number.

Example:
1
member
string

Member account.

date_start
string

Start date.

time_start
string

Start time.

date_end
string

End date.

time_end
string

End time.

data_source
string

recent or log (options: recent, log).

Example request:
curl --request GET \
    --get "https://api.icafecloud.com/api/v2/cafe//billingLogs/action/userSurveyLogs?page=1" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}"
Example response:
Headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
    "code": 404,
    "message": "Url not match"
}

Product stock logs

GET
https://api.icafecloud.com
/api/v2/cafe/{cafeId}/billingLogs/action/stockLogs
requires authentication

Headers

Authorization
Example:
Bearer {YOUR_AUTH_KEY}

URL Parameters

cafeId
integer
required

Cafe ID.

Query Parameters

page
integer

Page number.

Example:
1
product_name
string
date_start
string

Start date.

time_start
string

Start time.

date_end
string

End date.

time_end
string

End time.

data_source
string

recent or log (options: recent, log).

member
string

Member account.

Example request:
curl --request GET \
    --get "https://api.icafecloud.com/api/v2/cafe//billingLogs/action/stockLogs?page=1" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}"
Example response:
Headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
    "code": 404,
    "message": "Url not match"
}

Syslog

POST
https://api.icafecloud.com
/api/v2/cafe/{cafeId}/syslog
requires authentication

Headers

Authorization
Example:
Bearer {YOUR_AUTH_KEY}
Content-Type
Example:
application/json

URL Parameters

cafeId
integer
required

Cafe ID.

Body Parameters

Example request:
curl --request POST \
    "https://api.icafecloud.com/api/v2/cafe//syslog" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --data "{
    \"pc_name\": null
}"
Example response:
{
    "code": 200,
    "message": "success",
    "data": {}
}

Member client message

GET
https://api.icafecloud.com
/api/v2/cafe/{cafeId}/memberMessage
requires authentication

Headers

Authorization
Example:
Bearer {YOUR_AUTH_KEY}
Content-Type
Example:
application/json

URL Parameters

cafeId
integer
required

Cafe ID.

Query Parameters

member_account
string

member account.

Body Parameters

Example request:
curl --request GET \
    --get "https://api.icafecloud.com/api/v2/cafe//memberMessage" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --data "{
    \"member_account\": \"culpa\"
}"
Example response:
Headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
    "code": 404,
    "message": "Url not match"
}

Chat APIs

聊天联系人列表(staff + member 合并)

GET
https://api.icafecloud.com
/api/v2/cafe/{cafeId}/chat/contacts
requires authentication

Headers

Authorization
Example:
Bearer {YOUR_AUTH_KEY}

URL Parameters

cafeId
integer
required

Cafe ID.

Example request:
curl --request GET \
    --get "https://api.icafecloud.com/api/v2/cafe//chat/contacts" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}"
Example response:
Headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
    "code": 404,
    "message": "Url not match"
}

单聊会话历史(双向合并),按时间正序;同时把未读消息标记为已读并推回执

GET
https://api.icafecloud.com
/api/v2/cafe/{cafeId}/chat/conversation
requires authentication

Headers

Authorization
Example:
Bearer {YOUR_AUTH_KEY}
Content-Type
Example:
application/json

URL Parameters

cafeId
integer
required

Cafe ID.

Query Parameters

peer
string
required

Peer prefixed account(staff-xxx 或 member-yyy).

Example:
staff-alice
page
integer

Page number.

Example:
1

Body Parameters

Example request:
curl --request GET \
    --get "https://api.icafecloud.com/api/v2/cafe//chat/conversation?peer=staff-alice&page=1" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --data "{
    \"peer\": \"culpa\"
}"
Example response:
Headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
    "code": 404,
    "message": "Url not match"
}

发送聊天消息(支持一条消息群发给多个 recipient)

POST
https://api.icafecloud.com
/api/v2/cafe/{cafeId}/chat/send
requires authentication

Headers

Authorization
Example:
Bearer {YOUR_AUTH_KEY}
Content-Type
Example:
application/json

URL Parameters

cafeId
integer
required

Cafe ID.

Body Parameters

Example request:
curl --request POST \
    "https://api.icafecloud.com/api/v2/cafe//chat/send" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --data "{
    \"recipients\": [
        \"staff-alice\",
        \"member-link\"
    ],
    \"message\": \"hello\"
}"
Example response:
Headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
    "code": 404,
    "message": "Url not match"
}

把指定 sender 发来的所有未读消息标记为已读

POST
https://api.icafecloud.com
/api/v2/cafe/{cafeId}/chat/markRead
requires authentication

Headers

Authorization
Example:
Bearer {YOUR_AUTH_KEY}
Content-Type
Example:
application/json

URL Parameters

cafeId
integer
required

Cafe ID.

Body Parameters

Example request:
curl --request POST \
    "https://api.icafecloud.com/api/v2/cafe//chat/markRead" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --data "{
    \"sender\": \"staff-alice\"
}"
Example response:
Headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
    "code": 404,
    "message": "Url not match"
}

Lucky Spin

Get Lucky Spin options

GET
https://api.icafecloud.com
/api/v2/cafe/{cafeId}/configs/action/spinWheelOptions
requires authentication

Returns available offers and custom member groups for the CP settings page. Special groups (Default / Guest / Prepaid / Postpaid) are appended by the frontend.

Headers

Authorization
Example:
Bearer {YOUR_AUTH_KEY}

URL Parameters

cafeId
integer
required

Cafe ID.

Response Fields

Example request:
curl --request GET \
    --get "https://api.icafecloud.com/api/v2/cafe//configs/action/spinWheelOptions" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}"
Example response:
{
    "code": 200,
    "message": "success",
    "data": {
        "offers": [
            {
                "id": 12,
                "name": "30min Play",
                "mins": 30
            }
        ],
        "groups": [
            {
                "id": 1,
                "name": "VIP"
            }
        ]
    }
}

Spin the wheel

POST
https://api.icafecloud.com
/api/v2/cafe/{cafeId}/spinWheel/spin
requires authentication

Perform one Lucky Spin for the authenticated member. Server picks a prize by weighted random, awards it (bonus credited / offer inserted), and returns the result synchronously.

Headers

Authorization
Example:
Bearer {YOUR_AUTH_KEY}

URL Parameters

cafeId
integer
required

Cafe ID.

Body Parameters

Response Fields

Example request:
curl --request POST \
    "https://api.icafecloud.com/api/v2/cafe//spinWheel/spin" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
Example response:
{
    "code": 200,
    "message": "success",
    "data": {
        "prize_index": 2,
        "prize": {
            "type": "bonus",
            "index": 2,
            "value": 5
        }
    }
}

Get spin records

GET
https://api.icafecloud.com
/api/v2/cafe/{cafeId}/spinWheel/records
requires authentication

Paginated Lucky Spin history for the authenticated member (10 per page).

Headers

Authorization
Example:
Bearer {YOUR_AUTH_KEY}

URL Parameters

cafeId
integer
required

Cafe ID.

Query Parameters

page
integer

Page number.

Example:
1

Response Fields

Example request:
curl --request GET \
    --get "https://api.icafecloud.com/api/v2/cafe//spinWheel/records?page=1" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}"
Example response:
{
    "code": 200,
    "message": "success",
    "data": {
        "items": [
            {
                "date": "2026-06-30 14:22:05",
                "detail": "Bonus +5"
            }
        ],
        "paging_info": {
            "total_records": 3,
            "pages": 1,
            "page": "1",
            "start_from": "0",
            "end_from": "10"
        }
    }
}

Get spin status

GET
https://api.icafecloud.com
/api/v2/cafe/{cafeId}/spinWheel/status
requires authentication

Returns today's Lucky Spin quota and remaining count for the authenticated member.

Headers

Authorization
Example:
Bearer {YOUR_AUTH_KEY}

URL Parameters

cafeId
integer
required

Cafe ID.

Response Fields

Example request:
curl --request GET \
    --get "https://api.icafecloud.com/api/v2/cafe//spinWheel/status" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}"
Example response:
{
    "code": 200,
    "message": "success",
    "data": {
        "enable": 1,
        "auto_pop": 1,
        "daily_times": 1,
        "remaining": 1,
        "can_spin": 1
    }
}

Member APIs

Disable a member from earning game coins globally

POST
https://api.icafecloud.com
/api/v2/cafe/{cafeId}/members/{memberId}/disableGameCoins
requires authentication

Headers

Authorization
Example:
Bearer {YOUR_AUTH_KEY}

URL Parameters

cafeId
integer
required

Cafe ID.

memberId
integer
required

Member ID.

Body Parameters

Example request:
curl --request POST \
    "https://api.icafecloud.com/api/v2/cafe//members//disableGameCoins" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
Example response:
Headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
    "code": 404,
    "message": "Url not match"
}

Enable a member to earn game coins again

POST
https://api.icafecloud.com
/api/v2/cafe/{cafeId}/members/{memberId}/enableGameCoins
requires authentication

Headers

Authorization
Example:
Bearer {YOUR_AUTH_KEY}

URL Parameters

cafeId
integer
required

Cafe ID.

memberId
integer
required

Member ID.

Body Parameters

Example request:
curl --request POST \
    "https://api.icafecloud.com/api/v2/cafe//members//enableGameCoins" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
Example response:
Headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
    "code": 404,
    "message": "Url not match"
}

Get a member's game coin earnings status (global only)

GET
https://api.icafecloud.com
/api/v2/cafe/{cafeId}/members/{memberId}/gameCoinsStatus
requires authentication

Headers

Authorization
Example:
Bearer {YOUR_AUTH_KEY}

URL Parameters

cafeId
integer
required

Cafe ID.

memberId
integer
required

Member ID.

[Claude] Implemented by Claude (Opus 4.7) on 2026-04-27

Example request:
curl --request GET \
    --get "https://api.icafecloud.com/api/v2/cafe//members//gameCoinsStatus" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}"
Example response:
Headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
    "code": 404,
    "message": "Url not match"
}

Member auth APIs

Get member details using account

GET
https://api.icafecloud.com
/api/v2/cafe/{cafeId}/members/action/memberInfoByAccount
requires authentication

Headers

Authorization
Example:
Bearer {YOUR_AUTH_KEY}
Content-Type
Example:
application/json

URL Parameters

cafeId
integer
required

Cafe ID.

member_account
string
required

Member account.

Body Parameters

Example request:
curl --request GET \
    --get "https://api.icafecloud.com/api/v2/cafe//members/action/memberInfoByAccount" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --data "{
    \"member_account\": \"culpa\"
}"
Example response:
{
    "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": "$"
    }
}

Member booking init with offer

GET
https://api.icafecloud.com
/api/v2/cafe/{cafeId}/bookings/action/initBookingSessionWithOffer
requires authentication

Headers

Authorization
Example:
Bearer {YOUR_AUTH_KEY}

URL Parameters

cafeId
integer
required

Cafe ID.

Query Parameters

pc_name
string
required
Example:
culpa
start_date
string
required
Example:
culpa
start_time
string
required
Example:
culpa
mins
string
required
Example:
culpa
comment
string
offer_id
string
required
Example:
culpa
Example request:
curl --request GET \
    --get "https://api.icafecloud.com/api/v2/cafe//bookings/action/initBookingSessionWithOffer?pc_name=culpa&start_date=culpa&start_time=culpa&mins=culpa&offer_id=culpa" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}"
Example response:
Headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
    "code": 404,
    "message": "Url not match"
}

Get member self info

GET
https://api.icafecloud.com
/api/v2/cafe/{cafeId}/memberSelf
requires authentication

Headers

Authorization
Example:
Bearer {YOUR_AUTH_KEY}

URL Parameters

cafeId
integer
required

Cafe ID.

Example request:
curl --request GET \
    --get "https://api.icafecloud.com/api/v2/cafe//memberSelf" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}"
Example response:
{
    "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": "$"
    }
}

Update member avatar

POST
https://api.icafecloud.com
/api/v2/cafe/{cafeId}/updateAvatar
requires authentication

Headers

Authorization
Example:
Bearer {YOUR_AUTH_KEY}
Content-Type
Example:
application/json

URL Parameters

cafeId
integer
required

Cafe ID.

Body Parameters

Example request:
curl --request POST \
    "https://api.icafecloud.com/api/v2/cafe//updateAvatar" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --data "{
    \"member_photo\": null
}"
Example response:
{
    "code": 200,
    "message": "success",
    "data": {
        "member_id": 57843940635,
        "member_photo": "#1.png"
    }
}

Toggle favorite game

POST
https://api.icafecloud.com
/api/v2/cafe/{cafeId}/toggleFavoriteGame
requires authentication

Headers

Authorization
Example:
Bearer {YOUR_AUTH_KEY}
Content-Type
Example:
application/json

URL Parameters

cafeId
integer
required

Cafe ID.

Body Parameters

Example request:
curl --request POST \
    "https://api.icafecloud.com/api/v2/cafe//toggleFavoriteGame" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --data "{
    \"pkg_id\": null
}"
Example response:
{
    "code": 200,
    "message": "success",
    "data": {
        "is_favorite": true,
        "favorite_games": [
            {
                "pkg_id": 123
            },
            {
                "pkg_id": 456
            }
        ]
    }
}

Member PC status

GET
https://api.icafecloud.com
/api/v2/cafe/{cafeId}/memberPcStatus
requires authentication

Headers

Authorization
Example:
Bearer {YOUR_AUTH_KEY}

URL Parameters

cafeId
integer
required

Cafe ID.

Example request:
curl --request GET \
    --get "https://api.icafecloud.com/api/v2/cafe//memberPcStatus" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}"
Example response:
Headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
    "code": 404,
    "message": "Url not match"
}

Member start self session

POST
https://api.icafecloud.com
/api/v2/cafe/{cafeId}/memberStartSession
requires authentication

Headers

Authorization
Example:
Bearer {YOUR_AUTH_KEY}
Content-Type
Example:
application/json

URL Parameters

cafeId
integer
required

Cafe ID.

Body Parameters

Example request:
curl --request POST \
    "https://api.icafecloud.com/api/v2/cafe//memberStartSession" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --data "{
    \"pc_name\": null
}"
Example response:
Headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
    "code": 404,
    "message": "Url not match"
}

Member get self payment info

POST
https://api.icafecloud.com
/api/v2/cafe/{cafeId}/memberPaymentInfo
requires authentication

Headers

Authorization
Example:
Bearer {YOUR_AUTH_KEY}
Content-Type
Example:
application/json

URL Parameters

cafeId
integer
required

Cafe ID.

Body Parameters

Example request:
curl --request POST \
    "https://api.icafecloud.com/api/v2/cafe//memberPaymentInfo" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --data "{
    \"pcs\": null
}"
Example response:
Headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
    "code": 404,
    "message": "Url not match"
}

Member self checkout

POST
https://api.icafecloud.com
/api/v2/cafe/{cafeId}/memberCheckout
requires authentication

Headers

Authorization
Example:
Bearer {YOUR_AUTH_KEY}
Content-Type
Example:
application/json

URL Parameters

cafeId
integer
required

Cafe ID.

Body Parameters

Example request:
curl --request POST \
    "https://api.icafecloud.com/api/v2/cafe//memberCheckout" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --data "{
    \"pc_name\": null,
    \"pc_group_id\": null,
    \"pc_cost\": null,
    \"pc_data_time\": null,
    \"pc_data_sign\": null
}"
Example response:
Headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
    "code": 404,
    "message": "Url not match"
}

Get member orders

GET
https://api.icafecloud.com
/api/v2/cafe/{cafeId}/memberOrders
requires authentication

Headers

Authorization
Example:
Bearer {YOUR_AUTH_KEY}

URL Parameters

cafeId
integer
required

Cafe ID.

Query Parameters

search_text
string

Search Text.

page
integer

Page number.

sort_name
string

Sort field.

Example:
order_create_time
sort
string

Sort order, supports desc, asc.

Example:
desc
Example request:
curl --request GET \
    --get "https://api.icafecloud.com/api/v2/cafe//memberOrders?sort_name=order_create_time&sort=desc" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}"
Example response:
{
    "code": 200,
    "message": "success",
    "data": {
        "orders": [
            {
                "order_no": 550,
                "order_pc": "",
                "order_create_time": "2025-03-13 01:27:21",
                "order_money": "110.00",
                "order_status": 3,
                "order_payment_method": 20,
                "order_product_id": 0,
                "product_name": "Unknown"
            }
        ],
        "paging_info": {
            "total_records": 28,
            "pages": 3,
            "page": 1,
            "page_prev": 1,
            "page_next": 2,
            "page_start": 1,
            "page_end": 3,
            "start_from": 0,
            "end_from": 10
        }
    }
}

Get topup url

POST
https://api.icafecloud.com
/api/v2/cafe/{cafeId}/memberChangePassword
requires authentication

Headers

Authorization
Example:
Bearer {YOUR_AUTH_KEY}
Content-Type
Example:
application/json

URL Parameters

cafeId
integer
required

Cafe ID.

Body Parameters

Example request:
curl --request POST \
    "https://api.icafecloud.com/api/v2/cafe//memberChangePassword" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --data "{
    \"old_password\": null,
    \"new_password\": null
}"
Example response:
{
    "code": 200,
    "message": "success",
    "data": {}
}

Covert to member

POST
https://api.icafecloud.com
/api/v2/cafe/{cafeId}/convertToMember
requires authentication

Headers

Authorization
Example:
Bearer {YOUR_AUTH_KEY}

URL Parameters

cafeId
integer
required

Cafe ID.

Body Parameters

Example request:
curl --request POST \
    "https://api.icafecloud.com/api/v2/cafe//convertToMember" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
Example response:
{
    "code": 200,
    "message": "success",
    "data": {}
}

Get available offers list for member booking

GET
https://api.icafecloud.com
/api/v2/cafe/{cafeId}/memberBookingOffers
requires authentication

Headers

Authorization
Example:
Bearer {YOUR_AUTH_KEY}
Content-Type
Example:
application/json

URL Parameters

cafeId
integer
required

Cafe ID.

Query Parameters

pc_name
string
required

PC name for filtering offers by PC group.

booking_time
string

Booking time (Y-m-d H:i:s format).

Body Parameters

Example request:
curl --request GET \
    --get "https://api.icafecloud.com/api/v2/cafe//memberBookingOffers?pc_name=" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --data "{
    \"pc_name\": \"culpa\",
    \"booking_time\": \"culpa\",
    \"member_account\": \"culpa\"
}"
Example response:
Headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
    "code": 404,
    "message": "Url not match"
}

Get available offers list for member booking

GET
https://api.icafecloud.com
/api/v2/cafe/{cafeId}/availableOffers
requires authentication

Headers

Authorization
Example:
Bearer {YOUR_AUTH_KEY}
Content-Type
Example:
application/json

URL Parameters

cafeId
integer
required

Cafe ID.

Query Parameters

pc_name
string
required

PC name for filtering offers by PC group.

booking_time
string

Booking time (Y-m-d H:i:s format).

Body Parameters

Example request:
curl --request GET \
    --get "https://api.icafecloud.com/api/v2/cafe//availableOffers?pc_name=" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --data "{
    \"pc_name\": \"culpa\",
    \"booking_time\": \"culpa\",
    \"member_account\": \"culpa\"
}"
Example response:
Headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
    "code": 404,
    "message": "Url not match"
}

Add guest account

POST
https://api.icafecloud.com
/api/v2/cafe/{cafeId}/memberAddGuest
requires authentication

Headers

Authorization
Example:
Bearer {YOUR_AUTH_KEY}
Content-Type
Example:
application/json

URL Parameters

cafeId
integer
required

Cafe ID.

Body Parameters

Example request:
curl --request POST \
    "https://api.icafecloud.com/api/v2/cafe//memberAddGuest" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --data "{
    \"topup_amount\": 1,
    \"member_email\": null,
    \"pc_name\": null
}"
Example response:
Headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
    "code": 404,
    "message": "Url not match"
}

Request checkout

POST
https://api.icafecloud.com
/api/v2/cafe/{cafeId}/requestCheckout
requires authentication

Headers

Authorization
Example:
Bearer {YOUR_AUTH_KEY}
Content-Type
Example:
application/json

URL Parameters

cafeId
integer
required

Cafe ID.

Body Parameters

Example request:
curl --request POST \
    "https://api.icafecloud.com/api/v2/cafe//requestCheckout" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --data "{
    \"pc_name\": null
}"
Example response:
{
    "code": 200,
    "message": "success",
    "data": {}
}

Client member login

POST
https://api.icafecloud.com
/api/v2/cafe/{cafeId}/clientStartSession
requires authentication

Headers

Authorization
Example:
Bearer {YOUR_AUTH_KEY}
Content-Type
Example:
application/json

URL Parameters

cafeId
integer
required

Cafe ID.

Body Parameters

Example request:
curl --request POST \
    "https://api.icafecloud.com/api/v2/cafe//clientStartSession" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --data "{
    \"pc_name\": null,
    \"member_account\": null,
    \"status_pc_token\": null
}"
Example response:
{
    "code": 200,
    "message": "success",
    "data": {}
}

Scan start session: log the authenticated member into the PC that shows the QR

POST
https://api.icafecloud.com
/api/v2/cafe/{cafeId}/scanStartSession
requires authentication

Headers

Authorization
Example:
Bearer {YOUR_AUTH_KEY}
Content-Type
Example:
application/json

URL Parameters

cafeId
integer
required

Cafe ID.

Body Parameters

Example request:
curl --request POST \
    "https://api.icafecloud.com/api/v2/cafe//scanStartSession" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --data "{
    \"code\": null
}"
Example response:
{
    "code": 200,
    "message": "success",
    "data": {
        "pc_name": "PC01",
        "member_account": "john"
    }
}

Scan to power on a PC (wake only, no session)

POST
https://api.icafecloud.com
/api/v2/cafe/{cafeId}/scanPowerOn
requires authentication

Headers

Authorization
Example:
Bearer {YOUR_AUTH_KEY}
Content-Type
Example:
application/json

URL Parameters

cafeId
integer
required

Cafe ID.

Body Parameters

Example request:
curl --request POST \
    "https://api.icafecloud.com/api/v2/cafe//scanPowerOn" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --data "{
    \"pc_name\": null,
    \"sign\": null
}"
Example response:
{
    "code": 200,
    "message": "success",
    "data": {
        "pc_name": "PC01"
    }
}

Scan to power on a PC and log the member in

POST
https://api.icafecloud.com
/api/v2/cafe/{cafeId}/scanPowerOnLogin
requires authentication

Headers

Authorization
Example:
Bearer {YOUR_AUTH_KEY}
Content-Type
Example:
application/json

URL Parameters

cafeId
integer
required

Cafe ID.

Body Parameters

Example request:
curl --request POST \
    "https://api.icafecloud.com/api/v2/cafe//scanPowerOnLogin" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --data "{
    \"pc_name\": null,
    \"sign\": null
}"
Example response:
{
    "code": 200,
    "message": "success",
    "data": {
        "pc_name": "PC01",
        "member_account": "john"
    }
}

Check client member login

POST
https://api.icafecloud.com
/api/v2/cafe/{cafeId}/autoCheckout
requires authentication

Headers

Authorization
Example:
Bearer {YOUR_AUTH_KEY}
Content-Type
Example:
application/json

URL Parameters

cafeId
integer
required

Cafe ID.

Body Parameters

Example request:
curl --request POST \
    "https://api.icafecloud.com/api/v2/cafe//autoCheckout" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --data "{
    \"pc_name\": null
}"
Example response:
{
    "code": 200,
    "message": "success",
    "data": {}
}

Client member register

POST
https://api.icafecloud.com
/api/v2/cafe/{cafeId}/clientMemberRegister
requires authentication

Headers

Authorization
Example:
Bearer {YOUR_AUTH_KEY}
Content-Type
Example:
application/json

URL Parameters

cafeId
integer
required

Cafe ID.

Body Parameters

Example request:
curl --request POST \
    "https://api.icafecloud.com/api/v2/cafe//clientMemberRegister" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --data "{
    \"pc_name\": null
}"
Example response:
{
    "code": 200,
    "message": "success",
    "data": {}
}

Members

Get all members order list

GET
https://api.icafecloud.com
/api/v2/cafe/{cafeId}/members/action/allOrders
requires authentication

Returns paginated order history across all members for the past 40 days. Supports filtering by member account or order number. Supports sub-cafe access via accessLicenseIds.

Headers

Authorization
Example:
Bearer {YOUR_AUTH_KEY}

URL Parameters

cafeId
integer
required

Cafe ID.

Query Parameters

member_account
string

Filter by member account.

order_no
string

Filter by exact order number.

page
integer

Page number (20 records per page).

Example:
1

Response Fields

Example request:
curl --request GET \
    --get "https://api.icafecloud.com/api/v2/cafe//members/action/allOrders?page=1" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}"
Example response:
{
    "code": 200,
    "message": "success",
    "data": {
        "orders": [
            {
                "order_no": 1633,
                "order_member_id": 57843942663,
                "order_pc": "PC01",
                "order_create_time_local": "2026-06-30 14:00:00",
                "order_money": "10.00",
                "order_status": 1,
                "order_payment_method": 1,
                "order_product_ids": "123,456",
                "member_account": "john",
                "product_names": "30min Play, Cola"
            }
        ],
        "paging_info": {
            "total_records": 200,
            "pages": 10,
            "page": "1",
            "start_from": "0",
            "end_from": "20"
        }
    }
}

Get all members balance history

GET
https://api.icafecloud.com
/api/v2/cafe/{cafeId}/members/action/allBalanceHistory
requires authentication

Returns paginated balance transaction history across all members (or filtered by one member account). Covers the past 40 days. Supports sub-cafe access via accessLicenseIds.

Headers

Authorization
Example:
Bearer {YOUR_AUTH_KEY}

URL Parameters

cafeId
integer
required

Cafe ID.

Query Parameters

member_account
string

Filter by member account. Leave empty to return all members.

page
integer

Page number (20 records per page).

Example:
1

Response Fields

Example request:
curl --request GET \
    --get "https://api.icafecloud.com/api/v2/cafe//members/action/allBalanceHistory?page=1" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}"
Example response:
{
    "code": 200,
    "message": "success",
    "data": {
        "items": [
            {
                "log_id": 12345,
                "log_icafe_id": 1,
                "log_date": "2026-06-30 06:00:00",
                "log_date_local": "2026-06-30 14:00:00",
                "log_member_account": "john",
                "log_event": "TOPUP",
                "log_money": "10.00",
                "log_spend": "0.00",
                "log_card": "0.00",
                "log_bonus": "0.00",
                "log_coin": "0.00",
                "log_details": "",
                "log_staff_name": "admin"
            }
        ],
        "paging_info": {
            "total_records": 100,
            "pages": 5,
            "page": "1",
            "start_from": "0",
            "end_from": "20"
        },
        "summary": {
            "topup": "500.00",
            "spend": "300.00"
        }
    }
}

Payment gateway

Get topup url

POST
https://api.icafecloud.com
/api/v2/cafe/{cafeId}/getTopupUrl
requires authentication

Headers

Authorization
Example:
Bearer {YOUR_AUTH_KEY}
Content-Type
Example:
application/json

URL Parameters

cafeId
integer
required

Cafe ID.

Body Parameters

Example request:
curl --request POST \
    "https://api.icafecloud.com/api/v2/cafe//getTopupUrl" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --data "{
    \"member_account\": null,
    \"topup_amount\": null
}"
Example response:
Headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
    "code": 404,
    "message": "Url not match"
}

Get topup status

GET
https://api.icafecloud.com
/api/v2/cafe/{cafeId}/getTopupStatus
requires authentication

Headers

Authorization
Example:
Bearer {YOUR_AUTH_KEY}
Content-Type
Example:
application/json

URL Parameters

cafeId
string
required
Example:
culpa

Body Parameters

Example request:
curl --request GET \
    --get "https://api.icafecloud.com/api/v2/cafe/culpa/getTopupStatus" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --data "{
    \"order_no\": \"culpa\",
    \"t\": \"culpa\",
    \"sid\": \"culpa\"
}"
Example response:
Headers
cache-control: no-cache, private
content-type: application/json
x-ratelimit-limit: 200
x-ratelimit-remaining: 197
x-ratelimit-reset: 1786359849
retry-after: 56
access-control-allow-origin: *
{
    "code": 0,
    "message": "Unsupported operand types: string - int"
}

PcSessions APIs

Switch the active billing method during a session.

POST
https://api.icafecloud.com
/api/v2/cafe/{cafeId}/switchOffer
requires authentication

Settles the current session segment and restarts with the new billing source. Called by the member sidebar switch button.

Headers

Authorization
Example:
Bearer {YOUR_AUTH_KEY}
Content-Type
Example:
application/json

URL Parameters

cafeId
integer
required

The cafe ID.

Example:
12

Body Parameters

Example request:
curl --request POST \
    "https://api.icafecloud.com/api/v2/cafe/12/switchOffer" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --data "{
    \"pc_name\": \"PC01\",
    \"billing_source\": \"offer\",
    \"member_offer_id\": 42
}"
Example response:
{
    "code": 200,
    "message": "success"
}
{
    "code": 400,
    "message": "Selected offer is not available for this PC"
}
{
    "code": 400,
    "message": "No active session on this PC for current member"
}

Sub-cafes APIs

Get sub-cafes lists

GET
https://api.icafecloud.com
/api/v2/cafe/{cafeId}/subcafes
requires authentication

Headers

Authorization
Example:
Bearer {YOUR_AUTH_KEY}

URL Parameters

cafeId
integer
required

Cafe ID.

Example request:
curl --request GET \
    --get "https://api.icafecloud.com/api/v2/cafe//subcafes" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}"
Example response:
Headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
    "code": 404,
    "message": "Url not match"
}

Add sub-cafes

POST
https://api.icafecloud.com
/api/v2/cafe/{cafeId}/subcafes
requires authentication

Headers

Authorization
Example:
Bearer {YOUR_AUTH_KEY}
Content-Type
Example:
application/json

URL Parameters

cafeId
integer
required

Cafe ID.

Body Parameters

Example request:
curl --request POST \
    "https://api.icafecloud.com/api/v2/cafe//subcafes" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --data "{
    \"license_name\": null,
    \"license_password\": null
}"
Example response:
Headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
    "code": 404,
    "message": "Url not match"
}

Delete sub-cafes

DELETE
https://api.icafecloud.com
/api/v2/cafe/{cafeId}/subcafes/{id}
requires authentication

Headers

Authorization
Example:
Bearer {YOUR_AUTH_KEY}
Content-Type
Example:
application/json

URL Parameters

cafeId
integer
required

Cafe ID.

id
string
required

The ID of the subcafe.

Example:
culpa
licenseName
string
required

License name.

Body Parameters

Example request:
curl --request DELETE \
    "https://api.icafecloud.com/api/v2/cafe//subcafes/culpa" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --data "{
    \"license_password\": null
}"
Example response:
Headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
    "code": 404,
    "message": "Url not match"
}

Undefined Group

GET api/v2/cafe/{cafeId}/kitchen/config

GET
https://api.icafecloud.com
/api/v2/cafe/{cafeId}/kitchen/config
requires authentication

Headers

Authorization
Example:
Bearer {YOUR_AUTH_KEY}

URL Parameters

cafeId
string
required
Example:
culpa
Example request:
curl --request GET \
    --get "https://api.icafecloud.com/api/v2/cafe/culpa/kitchen/config" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}"
Example response:
Headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
    "code": 401,
    "message": "Unauthenticated."
}

GET api/v2/cafe/{cafeId}/kitchen/orders

GET
https://api.icafecloud.com
/api/v2/cafe/{cafeId}/kitchen/orders
requires authentication

Headers

Authorization
Example:
Bearer {YOUR_AUTH_KEY}

URL Parameters

cafeId
string
required
Example:
culpa
Example request:
curl --request GET \
    --get "https://api.icafecloud.com/api/v2/cafe/culpa/kitchen/orders" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}"
Example response:
Headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
    "code": 401,
    "message": "Unauthenticated."
}

POST api/v2/cafe/{cafeId}/kitchen/orders/{orderNo}/confirm

POST
https://api.icafecloud.com
/api/v2/cafe/{cafeId}/kitchen/orders/{orderNo}/confirm
requires authentication

Headers

Authorization
Example:
Bearer {YOUR_AUTH_KEY}

URL Parameters

cafeId
string
required
Example:
culpa
orderNo
string
required
Example:
culpa
Example request:
curl --request POST \
    "https://api.icafecloud.com/api/v2/cafe/culpa/kitchen/orders/culpa/confirm" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}"
Example response:
Headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
    "code": 401,
    "message": "Unauthenticated."
}

POST api/v2/cafe/{cafeId}/members

POST
https://api.icafecloud.com
/api/v2/cafe/{cafeId}/members
requires authentication

Headers

Authorization
Example:
Bearer {YOUR_AUTH_KEY}
Content-Type
Example:
application/json

URL Parameters

cafeId
string
required
Example:
culpa

Body Parameters

Example request:
curl --request POST \
    "https://api.icafecloud.com/api/v2/cafe/culpa/members" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --data "{
    \"member_account\": \"pasyzwszwtxpeqqikymwkiinfowtzmixkolowyuffszfrcsnwwxvx\",
    \"member_password\": \"ezhebdrxkpiypmuihrdifekzagqzitsslufxboncxhcsddnacixfx\",
    \"member_oauth_platform\": \"culpa\"
}"
Example response:
Headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
    "code": 401,
    "message": "Unauthenticated."
}

GET api/v2/cafe/{cafeId}/members/action/todayBirthdays

GET
https://api.icafecloud.com
/api/v2/cafe/{cafeId}/members/action/todayBirthdays
requires authentication

Headers

Authorization
Example:
Bearer {YOUR_AUTH_KEY}

URL Parameters

cafeId
string
required
Example:
culpa
Example request:
curl --request GET \
    --get "https://api.icafecloud.com/api/v2/cafe/culpa/members/action/todayBirthdays" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}"
Example response:
Headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
    "code": 401,
    "message": "Unauthenticated."
}

PUT api/v2/cafe/{cafeId}/orders/{orderNo}/cardTerminalPaymentRef

PUT
https://api.icafecloud.com
/api/v2/cafe/{cafeId}/orders/{orderNo}/cardTerminalPaymentRef
requires authentication

Headers

Authorization
Example:
Bearer {YOUR_AUTH_KEY}

URL Parameters

cafeId
string
required
Example:
culpa
orderNo
string
required
Example:
culpa
Example request:
curl --request PUT \
    "https://api.icafecloud.com/api/v2/cafe/culpa/orders/culpa/cardTerminalPaymentRef" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}"
Example response:
Headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
    "code": 401,
    "message": "Unauthenticated."
}

POST api/v2/cafe/{cafeId}/orders/action/kkmPreviewTasks

POST
https://api.icafecloud.com
/api/v2/cafe/{cafeId}/orders/action/kkmPreviewTasks
requires authentication

Headers

Authorization
Example:
Bearer {YOUR_AUTH_KEY}

URL Parameters

cafeId
string
required
Example:
culpa
Example request:
curl --request POST \
    "https://api.icafecloud.com/api/v2/cafe/culpa/orders/action/kkmPreviewTasks" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}"
Example response:
Headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
    "code": 401,
    "message": "Unauthenticated."
}

POST api/v2/cafe/{cafeId}/orders/action/kkmPreviewTopupTasks

POST
https://api.icafecloud.com
/api/v2/cafe/{cafeId}/orders/action/kkmPreviewTopupTasks
requires authentication

Headers

Authorization
Example:
Bearer {YOUR_AUTH_KEY}

URL Parameters

cafeId
string
required
Example:
culpa
Example request:
curl --request POST \
    "https://api.icafecloud.com/api/v2/cafe/culpa/orders/action/kkmPreviewTopupTasks" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}"
Example response:
Headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
    "code": 401,
    "message": "Unauthenticated."
}

POST api/v2/cafe/{cafeId}/orders/action/kkmPreviewRefundTasks

POST
https://api.icafecloud.com
/api/v2/cafe/{cafeId}/orders/action/kkmPreviewRefundTasks
requires authentication

Headers

Authorization
Example:
Bearer {YOUR_AUTH_KEY}

URL Parameters

cafeId
string
required
Example:
culpa
Example request:
curl --request POST \
    "https://api.icafecloud.com/api/v2/cafe/culpa/orders/action/kkmPreviewRefundTasks" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}"
Example response:
Headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
    "code": 401,
    "message": "Unauthenticated."
}

get goodoo tax info image

GET
https://api.icafecloud.com
/api/v2/cafe/{cafeId}/orders/{orderNo}/goodooTax
requires authentication

Headers

Authorization
Example:
Bearer {YOUR_AUTH_KEY}

URL Parameters

cafeId
string
required
Example:
culpa
orderNo
string
required
Example:
culpa
Example request:
curl --request GET \
    --get "https://api.icafecloud.com/api/v2/cafe/culpa/orders/culpa/goodooTax" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}"
Example response:
Headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
    "code": 401,
    "message": "Unauthenticated."
}

GET api/v2/cafe/{cafeId}/configs/action/downloadIcafeMenuClientToken

GET
https://api.icafecloud.com
/api/v2/cafe/{cafeId}/configs/action/downloadIcafeMenuClientToken
requires authentication

Headers

Authorization
Example:
Bearer {YOUR_AUTH_KEY}

URL Parameters

cafeId
string
required
Example:
culpa
Example request:
curl --request GET \
    --get "https://api.icafecloud.com/api/v2/cafe/culpa/configs/action/downloadIcafeMenuClientToken" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}"
Example response:
Headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
    "code": 401,
    "message": "Unauthenticated."
}

PUT api/v2/cafe/{cafeId}/configs/policySettings

PUT
https://api.icafecloud.com
/api/v2/cafe/{cafeId}/configs/policySettings
requires authentication

Headers

Authorization
Example:
Bearer {YOUR_AUTH_KEY}
Content-Type
Example:
application/json

URL Parameters

cafeId
string
required
Example:
culpa

Body Parameters

Example request:
curl --request PUT \
    "https://api.icafecloud.com/api/v2/cafe/culpa/configs/policySettings" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --data "{
    \"booking_agreement\": \"culpa\",
    \"notify_booking_advance_hours\": 12,
    \"notify_booking_soon_mins\": 12
}"
Example response:
Headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
    "code": 401,
    "message": "Unauthenticated."
}

调用 Kaspi 集成商 bindPartner 接口自动绑定合作伙伴 BIN 只负责校验 + 调 Kaspi API,不持久化(持久化由 smsProviderSettings 保存时完成) # POST /api/v2/cafe/{cafeId}/configs/action/kaspiBindPartner

POST
https://api.icafecloud.com
/api/v2/cafe/{cafeId}/configs/action/kaspiBindPartner
requires authentication

Headers

Authorization
Example:
Bearer {YOUR_AUTH_KEY}
Content-Type
Example:
application/json

URL Parameters

cafeId
string
required
Example:
culpa

Body Parameters

Example request:
curl --request POST \
    "https://api.icafecloud.com/api/v2/cafe/culpa/configs/action/kaspiBindPartner" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --data "{
    \"bin\": \"999999999999\",
    \"business_area\": \"游戏机\"
}"
Example response:
Headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
    "code": 401,
    "message": "Unauthenticated."
}

GET api/v2/cafe/{cafeId}/configs/action/downloadIcafeMenuClient

GET
https://api.icafecloud.com
/api/v2/cafe/{cafeId}/configs/action/downloadIcafeMenuClient
requires authentication

Headers

Authorization
Example:
Bearer {YOUR_AUTH_KEY}

URL Parameters

cafeId
string
required
Example:
culpa
Example request:
curl --request GET \
    --get "https://api.icafecloud.com/api/v2/cafe/culpa/configs/action/downloadIcafeMenuClient" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}"
Example response:
Headers
cache-control: no-cache, private
content-type: application/json
x-ratelimit-limit: 200
x-ratelimit-remaining: 199
x-ratelimit-reset: 1786359849
retry-after: 60
access-control-allow-origin: *
{
    "code": 401,
    "message": "Invalid or expired download link, please try again",
    "info": ""
}

保存 layout 网格时间显示偏好(CP 主页 / TV 大屏分开存) 任意登录员工可改(不限 admin),属于视图偏好而非业务配置

POST
https://api.icafecloud.com
/api/v2/cafe/{cafeId}/configs/layoutSettings
requires authentication

Headers

Authorization
Example:
Bearer {YOUR_AUTH_KEY}

URL Parameters

cafeId
string
required
Example:
culpa
Example request:
curl --request POST \
    "https://api.icafecloud.com/api/v2/cafe/culpa/configs/layoutSettings" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}"
Example response:
Headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
    "code": 401,
    "message": "Unauthenticated."
}

获取 Square QR Gateway 的 locations 列表供前端下拉选择

GET
https://api.icafecloud.com
/api/v2/cafe/{cafeId}/configs/action/getSquareQrLocations
requires authentication

Headers

Authorization
Example:
Bearer {YOUR_AUTH_KEY}

URL Parameters

cafeId
string
required
Example:
culpa
Example request:
curl --request GET \
    --get "https://api.icafecloud.com/api/v2/cafe/culpa/configs/action/getSquareQrLocations" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}"
Example response:
Headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
    "code": 401,
    "message": "Unauthenticated."
}

get product image

GET
https://api.icafecloud.com
/api/v2/cafe/{cafeId}/products/{productId}/image
requires authentication

Headers

Authorization
Example:
Bearer {YOUR_AUTH_KEY}

URL Parameters

cafeId
string
required
Example:
culpa
productId
integer
required
Example:
12
Example request:
curl --request GET \
    --get "https://api.icafecloud.com/api/v2/cafe/culpa/products/12/image" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}"
Example response:
Headers
cache-control: no-cache, private
content-type: application/json
x-ratelimit-limit: 2000
x-ratelimit-remaining: 1999
x-ratelimit-reset: 1786359850
retry-after: 60
access-control-allow-origin: *
{
    "code": 0,
    "message": "Undefined array key \"t\""
}

Used promo codes report

GET
https://api.icafecloud.com
/api/v2/cafe/{cafeId}/reports/reportUsedPromoCode
requires authentication

Headers

Authorization
Example:
Bearer {YOUR_AUTH_KEY}

URL Parameters

cafeId
string
required
Example:
culpa

Query Parameters

date_start
string
required

Start date.

date_end
string
required

End date.

time_start
string
required

Start time(00:00).

time_end
string
required

End time(00:00).

data_source
string

Data source (recent, history).

Example:
recent
Example request:
curl --request GET \
    --get "https://api.icafecloud.com/api/v2/cafe/culpa/reports/reportUsedPromoCode?date_start=&date_end=&time_start=&time_end=&data_source=recent" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}"
Example response:
{
    "code": 200,
    "message": "success",
    "data": {
        "filename": "Used promo codes-2026-04-11 10_00_00 GMT+08:00.xlsx",
        "header": [
            "Redeemed count",
            "Remaining qty",
            "Member account",
            "Promo name",
            "Promo code",
            "Promo type",
            "Use date",
            "To date",
            "Bonus amount"
        ],
        "rows": [
            [
                8,
                100,
                "alice",
                "Summer20",
                "SUMMER20",
                "Topup",
                "2026-04-01 10:00:00",
                "2026-12-31",
                20
            ]
        ]
    }
}

GET api/v2/cafe/{cafeId}/reports/reportSoldReceiptsDetailed

GET
https://api.icafecloud.com
/api/v2/cafe/{cafeId}/reports/reportSoldReceiptsDetailed
requires authentication

Headers

Authorization
Example:
Bearer {YOUR_AUTH_KEY}

URL Parameters

cafeId
string
required
Example:
culpa
Example request:
curl --request GET \
    --get "https://api.icafecloud.com/api/v2/cafe/culpa/reports/reportSoldReceiptsDetailed" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}"
Example response:
Headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
    "code": 401,
    "message": "Unauthenticated."
}

Shop Quantity Report Export

GET
https://api.icafecloud.com
/api/v2/cafe/{cafeId}/reports/reportShopQuantity
requires authentication

Returns product stock movement statistics (sold / restocked / written off quantities and prices) within the specified date range.

Headers

Authorization
Example:
Bearer {YOUR_AUTH_KEY}

URL Parameters

cafeId
string
required
Example:
culpa

Query Parameters

time_start
string
required

Start time (local).

time_end
string
required

End time (local).

product_type
string

Product type filter: all, combo, good.

Example:
all
product_group_id
string

Product group ID, or 'all'.

Example:
all
Example request:
curl --request GET \
    --get "https://api.icafecloud.com/api/v2/cafe/culpa/reports/reportShopQuantity?time_start=&time_end=&product_type=all&product_group_id=all" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}"
Example response:
{
    "filename": "Shop quantity report-2024-04-11 GMT+08:00.xlsx",
    "header": [
        "Product name",
        "Sold quantity",
        "Restock quantity",
        "Write off quantity",
        "Restock price",
        "Restock price sum",
        "Selling price",
        "Sold price sum",
        "Actual quantity"
    ],
    "rows": [
        [
            "Cola",
            10,
            50,
            2,
            1.2,
            60,
            2.5,
            25,
            38
        ]
    ]
}

获取指定网吧的 PC 排队列表 若传入 pc_name,只返回该台 PC 的排队;否则返回所有 PC 的排队

GET
https://api.icafecloud.com
/api/v2/cafe/{cafeId}/bookingQueue
requires authentication

Headers

Authorization
Example:
Bearer {YOUR_AUTH_KEY}

URL Parameters

cafeId
string
required
Example:
culpa
Example request:
curl --request GET \
    --get "https://api.icafecloud.com/api/v2/cafe/culpa/bookingQueue" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}"
Example response:
Headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
    "code": 401,
    "message": "Unauthenticated."
}

Staff 将会员加入某台 PC 的排队

POST
https://api.icafecloud.com
/api/v2/cafe/{cafeId}/bookingQueue
requires authentication

Headers

Authorization
Example:
Bearer {YOUR_AUTH_KEY}
Content-Type
Example:
application/json

URL Parameters

cafeId
string
required
Example:
culpa

Body Parameters

Example request:
curl --request POST \
    "https://api.icafecloud.com/api/v2/cafe/culpa/bookingQueue" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --data "{
    \"pc_name\": \"culpa\",
    \"member_account\": \"culpa\",
    \"comment\": \"culpa\"
}"
Example response:
Headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
    "code": 401,
    "message": "Unauthenticated."
}

Staff 将会员移出排队

DELETE
https://api.icafecloud.com
/api/v2/cafe/{cafeId}/bookingQueue
requires authentication

Headers

Authorization
Example:
Bearer {YOUR_AUTH_KEY}
Content-Type
Example:
application/json

URL Parameters

cafeId
string
required
Example:
culpa

Body Parameters

Example request:
curl --request DELETE \
    "https://api.icafecloud.com/api/v2/cafe/culpa/bookingQueue" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --data "{
    \"member_offer_id\": 12
}"
Example response:
Headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
    "code": 401,
    "message": "Unauthenticated."
}

POST api/v2/cafe/{cafeId}/submitOrder

POST
https://api.icafecloud.com
/api/v2/cafe/{cafeId}/submitOrder
requires authentication

Headers

Authorization
Example:
Bearer {YOUR_AUTH_KEY}

URL Parameters

cafeId
string
required
Example:
culpa
Example request:
curl --request POST \
    "https://api.icafecloud.com/api/v2/cafe/culpa/submitOrder" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}"
Example response:
Headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
    "code": 401,
    "message": "Unauthenticated."
}

Check QRIS payment status 以member为单位 查询条件 1. order_product_code 前缀为'qris-' 2. order_status = 'in_process' 3. order_create_time 为48小时内

GET
https://api.icafecloud.com
/api/v2/cafe/{cafeId}/checkMemberQRISPayment
requires authentication

Headers

Authorization
Example:
Bearer {YOUR_AUTH_KEY}

URL Parameters

cafeId
string
required
Example:
culpa
Example request:
curl --request GET \
    --get "https://api.icafecloud.com/api/v2/cafe/culpa/checkMemberQRISPayment" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}"
Example response:
Headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
    "code": 401,
    "message": "Unauthenticated."
}

POST api/v2/cafe/{cafeId}/pcs/action/renameAreaLayout

POST
https://api.icafecloud.com
/api/v2/cafe/{cafeId}/pcs/action/renameAreaLayout
requires authentication

Headers

Authorization
Example:
Bearer {YOUR_AUTH_KEY}
Content-Type
Example:
application/json

URL Parameters

cafeId
string
required
Example:
culpa

Body Parameters

Example request:
curl --request POST \
    "https://api.icafecloud.com/api/v2/cafe/culpa/pcs/action/renameAreaLayout" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --data "{
    \"area_name_old\": \"culpa\",
    \"area_name_new\": \"culpa\"
}"
Example response:
Headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
    "code": 401,
    "message": "Unauthenticated."
}

Game rank data

GET
https://api.icafecloud.com
/api/v2/cafe/{cafeId}/gameRankData
requires authentication

Headers

Authorization
Example:
Bearer {YOUR_AUTH_KEY}

URL Parameters

cafeId
string
required
Example:
culpa

Query Parameters

pc_name
string
required

PC name.

Example request:
curl --request GET \
    --get "https://api.icafecloud.com/api/v2/cafe/culpa/gameRankData?pc_name=" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}"
Example response:
Headers
cache-control: no-cache, private
content-type: application/json
x-ratelimit-limit: 200
x-ratelimit-remaining: 198
x-ratelimit-reset: 1786359849
retry-after: 56
access-control-allow-origin: *
{
    "code": 400,
    "message": "Invalid parameter",
    "info": ""
}

midtrans payment notify

POST
https://api.icafecloud.com
/api/v2/cafe/{cafeId}/midtrans/notifications
requires authentication

Headers

Authorization
Example:
Bearer {YOUR_AUTH_KEY}

URL Parameters

cafeId
string
required
Example:
culpa
Example request:
curl --request POST \
    "https://api.icafecloud.com/api/v2/cafe/culpa/midtrans/notifications" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}"
Example response:
Headers
cache-control: no-cache, private
content-type: application/json
x-ratelimit-limit: 200
x-ratelimit-remaining: 196
x-ratelimit-reset: 1786359849
retry-after: 56
access-control-allow-origin: *
{
    "code": 0,
    "message": "Undefined array key \"transaction_status\""
}

获取evotor stores数据

GET
https://api.icafecloud.com
/api/v2/cafe/{cafeId}/evotor/stores
requires authentication

Headers

Authorization
Example:
Bearer {YOUR_AUTH_KEY}

URL Parameters

cafeId
string
required
Example:
culpa
Example request:
curl --request GET \
    --get "https://api.icafecloud.com/api/v2/cafe/culpa/evotor/stores" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}"
Example response:
Headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
    "code": 401,
    "message": "Unauthenticated."
}

获取evotor staffs数据

GET
https://api.icafecloud.com
/api/v2/cafe/{cafeId}/evotor/staffs
requires authentication

Headers

Authorization
Example:
Bearer {YOUR_AUTH_KEY}

URL Parameters

cafeId
string
required
Example:
culpa
Example request:
curl --request GET \
    --get "https://api.icafecloud.com/api/v2/cafe/culpa/evotor/staffs" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}"
Example response:
Headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
    "code": 401,
    "message": "Unauthenticated."
}

发起 Evotor 终端收款(credit_card_collect 流程) 调用 V3 ASC API 创建收款请求,Evotor 终端显示收款界面, 支付完成后 Evotor 回调 notifyEvotor,由其推 WSS card_terminal_payment 通知前端。

POST
https://api.icafecloud.com
/api/v2/cafe/{cafeId}/evotor/terminal/processPayment
requires authentication

Headers

Authorization
Example:
Bearer {YOUR_AUTH_KEY}

URL Parameters

cafeId
string
required
Example:
culpa
Example request:
curl --request POST \
    "https://api.icafecloud.com/api/v2/cafe/culpa/evotor/terminal/processPayment" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}"
Example response:
Headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
    "code": 401,
    "message": "Unauthenticated."
}

POST api/v2/cafe/{cafeId}/evotor/terminal/processCashPayment

POST
https://api.icafecloud.com
/api/v2/cafe/{cafeId}/evotor/terminal/processCashPayment
requires authentication

Headers

Authorization
Example:
Bearer {YOUR_AUTH_KEY}

URL Parameters

cafeId
string
required
Example:
culpa
Example request:
curl --request POST \
    "https://api.icafecloud.com/api/v2/cafe/culpa/evotor/terminal/processCashPayment" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}"
Example response:
Headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
    "code": 401,
    "message": "Unauthenticated."
}

POST api/v2/cafe/{cafeId}/evotor/terminal/processMixedPayment

POST
https://api.icafecloud.com
/api/v2/cafe/{cafeId}/evotor/terminal/processMixedPayment
requires authentication

Headers

Authorization
Example:
Bearer {YOUR_AUTH_KEY}

URL Parameters

cafeId
string
required
Example:
culpa
Example request:
curl --request POST \
    "https://api.icafecloud.com/api/v2/cafe/culpa/evotor/terminal/processMixedPayment" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}"
Example response:
Headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
    "code": 401,
    "message": "Unauthenticated."
}

支付事件本地处理(分服务器,无需 auth 中间件) POST /api/v2/cafe/{cafeId}/stripe/terminal/paymentNotify

POST
https://api.icafecloud.com
/api/v2/cafe/{cafeId}/stripe/terminal/paymentNotify
requires authentication

由 CP webhook 转发调用,负责验证签名、WSS 通知、签名收集。 Stripe 签名算法不含 URL,本地可用原始 payload 直接重新验证。

Headers

Authorization
Example:
Bearer {YOUR_AUTH_KEY}

URL Parameters

cafeId
string
required
Example:
culpa
Example request:
curl --request POST \
    "https://api.icafecloud.com/api/v2/cafe/culpa/stripe/terminal/paymentNotify" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}"
Example response:
Headers
cache-control: no-cache, private
content-type: application/json
x-ratelimit-limit: 200
x-ratelimit-remaining: 193
x-ratelimit-reset: 1786359849
retry-after: 55
access-control-allow-origin: *
{
    "code": 400,
    "message": "invalid reference",
    "info": ""
}

创建 PaymentIntent 并激活 S700 读卡机 POST /api/v2/cafe/{cafeId}/stripe/terminal/processPayment

POST
https://api.icafecloud.com
/api/v2/cafe/{cafeId}/stripe/terminal/processPayment
requires authentication

credit_card_collect() 在建单前调用此接口,S700 屏幕随即显示支付界面。 成功后由前端通过 PUT orders/{orderNo}/cardTerminalPaymentRef 将 payment_ref 写入订单。

Headers

Authorization
Example:
Bearer {YOUR_AUTH_KEY}
Content-Type
Example:
application/json

URL Parameters

cafeId
string
required
Example:
culpa

Body Parameters

Example request:
curl --request POST \
    "https://api.icafecloud.com/api/v2/cafe/culpa/stripe/terminal/processPayment" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --data "{
    \"amount\": 52,
    \"currency\": \"asy\",
    \"description\": \"Consequatur quisquam recusandae asperiores accusamus nihil repellat.\"
}"
Example response:
Headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
    "code": 401,
    "message": "Unauthenticated."
}

取消 S700 当前读卡操作(收银员主动取消时调用) POST /api/v2/cafe/{cafeId}/stripe/terminal/cancelPayment

POST
https://api.icafecloud.com
/api/v2/cafe/{cafeId}/stripe/terminal/cancelPayment
requires authentication

只负责通知 S700 停止读卡,不处理订单状态。 credit_card_collect() Promise 会通过 _card_collect_resolve(false) 通知前端取消。

Headers

Authorization
Example:
Bearer {YOUR_AUTH_KEY}

URL Parameters

cafeId
string
required
Example:
culpa
Example request:
curl --request POST \
    "https://api.icafecloud.com/api/v2/cafe/culpa/stripe/terminal/cancelPayment" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}"
Example response:
Headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
    "code": 401,
    "message": "Unauthenticated."
}

退款(从 iCafe CP 发起,无需 S700 设备在线) POST /api/v2/cafe/{cafeId}/stripe/terminal/refund

POST
https://api.icafecloud.com
/api/v2/cafe/{cafeId}/stripe/terminal/refund
requires authentication

从 order_product_code 读取 payment_intent_id(processPayment 时写入), 调用 Stripe Refund API 进行全额退款。 此接口只负责 Stripe 退款,不处理库存或订单状态。 调用方(order_cancel_post)在此接口成功后,再调用 DELETE orders/{orderNo}, 由 destroy() 完成库存恢复、billing log 写入、订单状态改为 CANCEL。

Headers

Authorization
Example:
Bearer {YOUR_AUTH_KEY}
Content-Type
Example:
application/json

URL Parameters

cafeId
string
required
Example:
culpa

Body Parameters

Example request:
curl --request POST \
    "https://api.icafecloud.com/api/v2/cafe/culpa/stripe/terminal/refund" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --data "{
    \"order_no\": \"culpa\",
    \"amount\": 0
}"
Example response:
Headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
    "code": 401,
    "message": "Unauthenticated."
}

支付事件本地处理(分服务器,无需 auth 中间件) POST /api/v2/cafe/{cafeId}/square/terminal/paymentNotify

POST
https://api.icafecloud.com
/api/v2/cafe/{cafeId}/square/terminal/paymentNotify
requires authentication

由 CP webhook 转发调用,负责验证 Square 签名、WSS 通知前端。 签名验证使用 X-Original-Url 头(CP webhook 的固定 URL)+ 原始 payload。

Headers

Authorization
Example:
Bearer {YOUR_AUTH_KEY}

URL Parameters

cafeId
string
required
Example:
culpa
Example request:
curl --request POST \
    "https://api.icafecloud.com/api/v2/cafe/culpa/square/terminal/paymentNotify" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}"
Example response:
Headers
cache-control: no-cache, private
content-type: application/json
x-ratelimit-limit: 200
x-ratelimit-remaining: 192
x-ratelimit-reset: 1786359849
retry-after: 55
access-control-allow-origin: *
{
    "code": 200,
    "message": "success"
}

QR 支付本地处理(分服务器,POST /api/v2/cafe/{cafeId}/square/qr/paymentNotify,无需 auth)

POST
https://api.icafecloud.com
/api/v2/cafe/{cafeId}/square/qr/paymentNotify
requires authentication

由 CP qrWebhook 转发调用,负责验签 + 调 topupNotifyBase。 不做 X-Internal-Ref 内部验证,只做 Square webhook 签名验证。

Headers

Authorization
Example:
Bearer {YOUR_AUTH_KEY}

URL Parameters

cafeId
string
required
Example:
culpa
Example request:
curl --request POST \
    "https://api.icafecloud.com/api/v2/cafe/culpa/square/qr/paymentNotify" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}"
Example response:
Headers
cache-control: no-cache, private
content-type: application/json
x-ratelimit-limit: 200
x-ratelimit-remaining: 191
x-ratelimit-reset: 1786359849
retry-after: 55
access-control-allow-origin: *
{
    "code": 200,
    "message": "success"
}

激活 Square Terminal 设备,让客户刷卡 POST /api/v2/cafe/{cafeId}/square/terminal/processPayment

POST
https://api.icafecloud.com
/api/v2/cafe/{cafeId}/square/terminal/processPayment
requires authentication

credit_card_collect() 在建单前调用此接口,设备屏幕随即显示支付界面。 checkout_id 通过 API 响应返回前端(_card_terminal_checkout_id),供取消时回传。 成功后由前端通过 PUT orders/{orderNo}/cardTerminalPaymentRef 将 payment_ref 写入订单。

Headers

Authorization
Example:
Bearer {YOUR_AUTH_KEY}
Content-Type
Example:
application/json

URL Parameters

cafeId
string
required
Example:
culpa

Body Parameters

Example request:
curl --request POST \
    "https://api.icafecloud.com/api/v2/cafe/culpa/square/terminal/processPayment" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --data "{
    \"amount\": 52,
    \"currency\": \"asy\",
    \"description\": \"Consequatur quisquam recusandae asperiores accusamus nihil repellat.\"
}"
Example response:
Headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
    "code": 401,
    "message": "Unauthenticated."
}

取消当前 Square Terminal 刷卡操作(收银员主动取消) POST /api/v2/cafe/{cafeId}/square/terminal/cancelPayment

POST
https://api.icafecloud.com
/api/v2/cafe/{cafeId}/square/terminal/cancelPayment
requires authentication

只负责通知 Square Terminal 停止读卡,不处理订单状态。 credit_card_collect() Promise 会通过 _card_collect_resolve(false) 通知前端取消。

Headers

Authorization
Example:
Bearer {YOUR_AUTH_KEY}

URL Parameters

cafeId
string
required
Example:
culpa
Example request:
curl --request POST \
    "https://api.icafecloud.com/api/v2/cafe/culpa/square/terminal/cancelPayment" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}"
Example response:
Headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
    "code": 401,
    "message": "Unauthenticated."
}

退款(从 iCafe CP 发起,无需 Square Terminal 设备在线) POST /api/v2/cafe/{cafeId}/square/terminal/refund

POST
https://api.icafecloud.com
/api/v2/cafe/{cafeId}/square/terminal/refund
requires authentication

从 order_product_code 读取 payment_id({"sq":"PAY_xxx"}),调用 Square Refunds API。 此接口只负责 Square 退款,不处理库存或订单状态。 调用方在此接口成功后再调 DELETE orders/{orderNo},由 destroy() 完成库存恢复和 billing log。

Headers

Authorization
Example:
Bearer {YOUR_AUTH_KEY}
Content-Type
Example:
application/json

URL Parameters

cafeId
string
required
Example:
culpa

Body Parameters

Example request:
curl --request POST \
    "https://api.icafecloud.com/api/v2/cafe/culpa/square/terminal/refund" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --data "{
    \"order_no\": \"culpa\",
    \"amount\": 0
}"
Example response:
Headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
    "code": 401,
    "message": "Unauthenticated."
}

GET api/v2/cafe/{cafeId}/whish

GET
https://api.icafecloud.com
/api/v2/cafe/{cafeId}/whish
requires authentication

Headers

Authorization
Example:
Bearer {YOUR_AUTH_KEY}

URL Parameters

cafeId
string
required
Example:
culpa
Example request:
curl --request GET \
    --get "https://api.icafecloud.com/api/v2/cafe/culpa/whish" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}"
Example response:
Headers
cache-control: no-cache, private
content-type: application/json
x-ratelimit-limit: 200
x-ratelimit-remaining: 190
x-ratelimit-reset: 1786359849
retry-after: 55
access-control-allow-origin: *
[
    "whish payment gateway"
]

whish callback 1. Validate hash 2. 根据 metadata 中的icafe_id, order_no, sha来验证订单 3. 更新订单状态/会员余额

GET
https://api.icafecloud.com
/api/v2/cafe/{cafeId}/whish/successCallback
requires authentication

Headers

Authorization
Example:
Bearer {YOUR_AUTH_KEY}

URL Parameters

cafeId
string
required
Example:
culpa
Example request:
curl --request GET \
    --get "https://api.icafecloud.com/api/v2/cafe/culpa/whish/successCallback" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}"
Example response:
Headers
cache-control: no-cache, private
content-type: application/json
x-ratelimit-limit: 200
x-ratelimit-remaining: 189
x-ratelimit-reset: 1786359849
retry-after: 55
access-control-allow-origin: *
{
    "code": 0,
    "message": "Undefined array key \"amount\""
}

qpay callback 1. Validate hash 2. 根据 metadata 中的icafe_id, order_no, sha来验证订单 3. 更新订单状态/会员余额

GET
https://api.icafecloud.com
/api/v2/cafe/{cafeId}/qpay/callback
requires authentication

Headers

Authorization
Example:
Bearer {YOUR_AUTH_KEY}

URL Parameters

cafeId
string
required
Example:
culpa
Example request:
curl --request GET \
    --get "https://api.icafecloud.com/api/v2/cafe/culpa/qpay/callback" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}"
Example response:
Headers
cache-control: no-cache, private
content-type: application/json
x-ratelimit-limit: 200
x-ratelimit-remaining: 188
x-ratelimit-reset: 1786359849
retry-after: 55
access-control-allow-origin: *
{
    "code": 0,
    "message": "Undefined array key \"amount\""
}

https://developer.help.paycom.uz/metody-merchant-api/ 1.PerformTransaction,CancelTransaction 都可以重复调,期望返回的结果是相同的 2. 调完CheckTransaction后,要标记成paying状态,不能再CreateTransaction了 3. order_product_code字段存储 paycom transaction_id|perform_time|promo_code, 而且支付完成后不能清空,后续的接口调用需要用到 3.1 其中 transaction_id 有值,表示已经CreateTransaction成功 3.2 其中 perform_time 可能是 "CHECKED"(表示CheckTransaction成功),也可能是时间戳(表示PerformTransaction成功 或 CancelTransaction成功, 根据order_status来定) paycom merchant api

GET
POST
PUT
PATCH
DELETE
OPTIONS
https://api.icafecloud.com
/api/v2/cafe/{cafeId}/paycom/merchant
requires authentication

Headers

Authorization
Example:
Bearer {YOUR_AUTH_KEY}

URL Parameters

cafeId
string
required
Example:
culpa
Example request:
curl --request GET \
    --get "https://api.icafecloud.com/api/v2/cafe/culpa/paycom/merchant" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}"
Example response:
Headers
cache-control: no-cache, private
content-type: application/json
x-ratelimit-limit: 200
x-ratelimit-remaining: 187
x-ratelimit-reset: 1786359849
retry-after: 55
access-control-allow-origin: *
{
    "id": null,
    "error": {
        "code": -32504,
        "message": "Unauthorized"
    }
}

paycom callback 1. Validate hash 2. 根据 query参数中的icafe_id, order_no, sha来验证订单 3. 更新订单状态/会员余额

GET
https://api.icafecloud.com
/api/v2/cafe/{cafeId}/paycom/callback
requires authentication

Headers

Authorization
Example:
Bearer {YOUR_AUTH_KEY}

URL Parameters

cafeId
string
required
Example:
culpa
Example request:
curl --request GET \
    --get "https://api.icafecloud.com/api/v2/cafe/culpa/paycom/callback" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}"
Example response:
Headers
cache-control: no-cache, private
content-type: application/json
x-ratelimit-limit: 200
x-ratelimit-remaining: 186
x-ratelimit-reset: 1786359849
retry-after: 55
access-control-allow-origin: *
{
    "code": 0,
    "message": "Undefined array key \"amount\""
}

GET api/v2/cafe/{cafeId}/finik/success

GET
POST
PUT
PATCH
DELETE
OPTIONS
https://api.icafecloud.com
/api/v2/cafe/{cafeId}/finik/success
requires authentication

Headers

Authorization
Example:
Bearer {YOUR_AUTH_KEY}

URL Parameters

cafeId
string
required
Example:
culpa
Example request:
curl --request GET \
    --get "https://api.icafecloud.com/api/v2/cafe/culpa/finik/success" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}"
Example response:
Headers
content-type: text/html; charset=utf-8
cache-control: no-cache, private
x-ratelimit-limit: 200
x-ratelimit-remaining: 184
x-ratelimit-reset: 1786359849
retry-after: 55
access-control-allow-origin: *
Finik payment success

paymongo webhook 1. Validate Webhooks 2. 只处理 payment.paid 事件 https://developers.paymongo.com/docs/qr-ph-api 3. 根据 metadata 中的icafe_id, order_no, sha来验证订单 4. 更新订单状态/会员余额

GET
POST
PUT
PATCH
DELETE
OPTIONS
https://api.icafecloud.com
/api/v2/cafe/{cafeId}/paymongo/webhook
requires authentication

Headers

Authorization
Example:
Bearer {YOUR_AUTH_KEY}

URL Parameters

cafeId
string
required
Example:
culpa
Example request:
curl --request GET \
    --get "https://api.icafecloud.com/api/v2/cafe/culpa/paymongo/webhook" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}"
Example response:
Headers
cache-control: no-cache, private
content-type: application/json
x-ratelimit-limit: 200
x-ratelimit-remaining: 183
x-ratelimit-reset: 1786359849
retry-after: 55
access-control-allow-origin: *
{
    "code": 400,
    "message": "paymongo webhook empty body",
    "info": ""
}

zarinpal payment callback

GET
POST
PUT
PATCH
DELETE
OPTIONS
https://api.icafecloud.com
/api/v2/cafe/{cafeId}/zarinpal/callback
requires authentication

Headers

Authorization
Example:
Bearer {YOUR_AUTH_KEY}

URL Parameters

cafeId
string
required
Example:
culpa
Example request:
curl --request GET \
    --get "https://api.icafecloud.com/api/v2/cafe/culpa/zarinpal/callback" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}"
Example response:
Headers
cache-control: no-cache, private
location: http://api.icafecloud.com/api/v2/cafe/culpa/zarinpal/completed?message=Payment%20failed%20or%20canceled%20by%20user
content-type: text/html; charset=utf-8
x-ratelimit-limit: 200
x-ratelimit-remaining: 182
x-ratelimit-reset: 1786359849
retry-after: 55
access-control-allow-origin: *
<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8" />
        <meta http-equiv="refresh" content="0;url='http://api.icafecloud.com/api/v2/cafe/culpa/zarinpal/completed?message=Payment%20failed%20or%20canceled%20by%20user'" />

        <title>Redirecting to http://api.icafecloud.com/api/v2/cafe/culpa/zarinpal/completed?message=Payment%20failed%20or%20canceled%20by%20user</title>
    </head>
    <body>
        Redirecting to <a href="http://api.icafecloud.com/api/v2/cafe/culpa/zarinpal/completed?message=Payment%20failed%20or%20canceled%20by%20user">http://api.icafecloud.com/api/v2/cafe/culpa/zarinpal/completed?message=Payment%20failed%20or%20canceled%20by%20user</a>.
    </body>
</html>

GET api/v2/cafe/{cafeId}/zarinpal/completed

GET
POST
PUT
PATCH
DELETE
OPTIONS
https://api.icafecloud.com
/api/v2/cafe/{cafeId}/zarinpal/completed
requires authentication

Headers

Authorization
Example:
Bearer {YOUR_AUTH_KEY}

URL Parameters

cafeId
string
required
Example:
culpa
Example request:
curl --request GET \
    --get "https://api.icafecloud.com/api/v2/cafe/culpa/zarinpal/completed" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}"
Example response:
Headers
content-type: text/html; charset=utf-8
cache-control: no-cache, private
x-ratelimit-limit: 200
x-ratelimit-remaining: 181
x-ratelimit-reset: 1786359849
retry-after: 55
access-control-allow-origin: *
Zarinpal payment completed, please close this page

google pay payment callback

GET
POST
PUT
PATCH
DELETE
OPTIONS
https://api.icafecloud.com
/api/v2/cafe/{cafeId}/googlepay/token
requires authentication

Headers

Authorization
Example:
Bearer {YOUR_AUTH_KEY}

URL Parameters

cafeId
string
required
Example:
culpa
Example request:
curl --request GET \
    --get "https://api.icafecloud.com/api/v2/cafe/culpa/googlepay/token" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}"
Example response:
Headers
cache-control: no-cache, private
content-type: application/json
x-ratelimit-limit: 200
x-ratelimit-remaining: 180
x-ratelimit-reset: 1786359849
retry-after: 55
access-control-allow-origin: *
{
    "code": 400,
    "message": "Payment token decrypt failed",
    "info": ""
}

Razorpay webhook 1. Validate Webhooks 2. 只处理 payment.captured 事件 https://razorpay.com/docs/webhooks/payloads/payments/#payment-captured 3. 根据notes中的icafe_id, order_no, sha来验证订单 4. 更新订单状态/会员余额

GET
POST
PUT
PATCH
DELETE
OPTIONS
https://api.icafecloud.com
/api/v2/cafe/{cafeId}/razorpay/webhook
requires authentication

Headers

Authorization
Example:
Bearer {YOUR_AUTH_KEY}

URL Parameters

cafeId
string
required
Example:
culpa
Example request:
curl --request GET \
    --get "https://api.icafecloud.com/api/v2/cafe/culpa/razorpay/webhook" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}"
Example response:
Headers
cache-control: no-cache, private
content-type: application/json
x-ratelimit-limit: 200
x-ratelimit-remaining: 179
x-ratelimit-reset: 1786359849
retry-after: 55
access-control-allow-origin: *
{
    "status": "not a payment.captured event"
}

config APIs

Google drive Bind

GET
https://api.icafecloud.com
/api/v2/cafe/{cafeId}/googleDriveBind
requires authentication

Headers

Authorization
Example:
Bearer {YOUR_AUTH_KEY}
Content-Type
Example:
application/json

URL Parameters

cafeId
integer
required

Cafe ID.

Query Parameters

action
string

action (bind, unbind).

Example:
bind

Body Parameters

Example request:
curl --request GET \
    --get "https://api.icafecloud.com/api/v2/cafe//googleDriveBind?action=bind" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --data "{
    \"action\": \"culpa\"
}"
Example response:
Headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
    "code": 404,
    "message": "Url not match"
}