入门

#介绍

The 索西亚商城 API is organized around REST. Our API has predictable resource-oriented URLs, accepts form-encoded request bodies, returns JSON-encoded responses, and uses standard HTTP response codes, authentication, and verbs

API 协议

我们的 API 遵循 REST 的基本原则

  1. 1. 我们使用标准的 GET, POST 请求进行通信,并使用 HTTP 响应代码来显示状态和错误。
  2. 2. 你可以预期所有响应都会以 JSON 格式返回。
  3. 3. API 请求应包含 Content-Type: application/json。
  4. 4. 所有接口都需要使用你的 API Keys 进行身份验证。

#身份验证

获取你的 API Keys

你的 API Keys 对于成功向我们的服务器发起请求至关重要。要获取密钥,请按照以下说明进行操作。

  1. 1. Log into your 索西亚商城 dashboard.
  2. 2. 从侧边栏点击「Api Key」。
  3. 3. 在「Api Key」菜单中选择对应的 API Keys 查看并复制你的密钥。

API 调用授权

All API calls on 索西亚商城 are authenticated. API requests made without authorization will fail with the status : failed.

要从你的服务器授权 API 调用,需要在请求头中传递 YOUR_PUBLIC_KEYYOUR_SECRET_KEY。也就是说,你需要添加一个 Authorization 头,其值为 PublicKey: YOUR_PUBLIC_KEY 和 SecretKey: YOUR_SECRET_KEY

生成的 Bearer Token

#获取令牌

要生成 bearer token,请参照示例代码操作,并注意参数细节。

基础 URLhttps://www.xoccia.com/api/

HTTP 方法: POST

API URL: https://www.xoccia.com/api/generate/authorization-token

API 密钥: 从账户页面获取 YOUR_PUBLIC_KEY YOUR_SECRET_KEY API Key

响应格式: JSON


请求头参数

PublicKey* string

Find the PublicKey from user dashboard

SecretKey* string

Find the SecretKey from user dashboard

                                                                
var request = require('request');
var options = {
  'method': 'POST',
  'url': 'BASE_URL/generate/authorization-token',
  'headers': {
    'PublicKey': 'YOUR_PUBLIC_KEY',
    'SecretKey': 'YOUR_SECRET_KEY'
  }
};
request(options, function (error, response) {
  if (error) throw new Error(error);
  console.log(response.body);
});





                                                                
123456789101112131415 16 17181920212223242526

import requests

url = "BASE_URL/generate/authorization-token"

payload={}
headers = {
  'PublicKey': 'YOUR_PUBLIC_KEY',
  'SecretKey': 'YOUR_SECRET_KEY'
}

response = requests.request("POST", url, headers=headers, data=payload)

print(response.text)


123456789101112131415 1617181920212223242526

?php

$client = new Client();
$headers = [
  'PublicKey' => 'YOUR_PUBLIC_KEY',
  'SecretKey' => 'YOUR_SECRET_KEY'
];
$request = new Request('POST', 'BASE_URL/generate/authorization-token', $headers);
$res = $client->sendAsync($request)->wait();
echo $res->getBody();


                                                                
123456789101112131415 1617181920212223242526

curl --location --request POST 'BASE_URL/generate/authorization-token' \
--header 'PublicKey: YOUR_PUBLIC_KEY' \
--header 'SecretKey: YOUR_SECRET_KEY'
123456789101112131415 1617181920212223242526

require "uri"
require "net/http"

url = URI("BASE_URL/generate/authorization-token")

http = Net::HTTP.new(url.host, url.port);
request = Net::HTTP::Post.new(url)
request["PublicKey"] = "YOUR_PUBLIC_KEY"
request["SecretKey"] = "YOUR_SECRET_KEY"

response = http.request(request)
puts response.read_body

123456789101112131415 1617181920212223242526

{
    "status": "success",
    "message": "Token generated successfully",
    "bearer_token": "2|pz4WUIZZ9ugWvI1xiu6V7cs05mTrtD2ErRzLs8fFfc4d55c8"
}
                                                        
123456789101112131415 1617181920212223242526
                                                                
{
    "status": "failed",
    "errors": "Something went wrong"
}
                                                            
                                                            
1234567891011121314

分类

#Get Category

To get all the category list follow the example code and be careful with the parameters.

基础 URLhttps://www.xoccia.com/api/

HTTP 方法: GET

API URL: https://www.xoccia.com/api/get-category

API 密钥: 将您的 bearer token 传递到授权头中 GET Bearer

响应格式: JSON


响应体

id: category id

名称: category name

icon: category icon

type: which type of category, 2 type available top_up,card

active_children: how many active product in category

                                                                
var request = http.Request('GET', Uri.parse('BASE_URL/get-category'));


http.StreamedResponse response = await request.send();

if (response.statusCode == 200) {
  print(await response.stream.bytesToString());
}
else {
  print(response.reasonPhrase);
}





                                                                
123456789101112131415 16 17181920212223242526

curl --location -g --request GET 'BASE_URL/get-category'


123456789101112131415 1617181920212223242526

?php

$client = new Client();
$headers = [
  'Authorization' => 'YOUR_BEARER_TOKEN'
];
$request = new Request('GET', 'BASE_URL/get-category', $headers);
$res = $client->sendAsync($request)->wait();
echo $res->getBody();


                                                                
123456789101112131415 1617181920212223242526

curl --location --request GET 'BASE_URL/get-category' \
--header 'PublicKey: YOUR_PUBLIC_KEY' \
--header 'SecretKey: YOUR_SECRET_KEY'
123456789101112131415 1617181920212223242526

require "uri"
require "net/http"

url = URI("BASE_URL/get-category")

http = Net::HTTP.new(url.host, url.port);
request = Net::HTTP::Get.new(url)
request["Authorization"] = "YOUR_BEARER_TOKEN"

response = http.request(request)
puts response.read_body


123456789101112131415 1617181920212223242526

{
    "status": "success",
    "message": {
        "categories": [
            {
                "id": 1,
                "name": "Mobile Game Cards",
                "icon": "fa-light fa-game-console-handheld",
                "type": "card",
                "active_children": 2
            },
            {
                "id": 2,
                "name": "Game Cards",
                "icon": "fa-light fa-diamond",
                "type": "card",
                "active_children": 2
            }
            .....
        ]
    }
}
                                                        
123456789101112131415 1617181920212223242526
                                                                
{
    "status": "failed",
    "errors": "Something went wrong"
}
                                                            
                                                            
1234567891011121314

Top Up

#Get Top Ups

To get all the Top Up list follow the example code and be careful with the parameters.

Base Urlhttps://www.xoccia.com/api/

HTTP 方法: GET

API URL: https://www.xoccia.com/api/top-up/list

API 密钥: 将您的 bearer token 传递到授权头中 GET Bearer

响应格式: JSON


响应体

id: Top up id

类别 ID: Top up Category id

名称: Top up Name

别名: Top up Slug

region: Top up Region

note: Top up note

instant_delivery: Top Up instant delivery Status. It Should be 1 For All Active instant delivery Top Up

order_information: Top Up orders information

description: Top Up description

guide: Top Up guide

total_review: Top Up total review

avg_rating: Top Up average rating

sort_by: Top Up sorting, 1 for sort by date, 2 for sort by price etc.

状态: Top Up Status. It Should be 1 For All Active Top Up

image: The Top Up Image Url Path

预览图片: The Top Up Preview Image Url Path

services: The TopUp services

created_at: The TopUp created date

updated_at: The TopUp updated date

                                                                
var request = require('request');
var options = {
  'method': 'GET',
  'url': 'BASE_URL/top-up/list',
  'headers': {
    'Authorization': 'YOUR_BEARER_TOKEN'
  }
};
request(options, function (error, response) {
  if (error) throw new Error(error);
  console.log(response.body);
});






                                                                
123456789101112131415 16 17181920212223242526

import requests

url = "BASE_URL/top-up/list"

payload = {}
headers = {
  'Authorization': 'YOUR_BEARER_TOKEN'
}

response = requests.request("GET", url, headers=headers, data=payload)

print(response.text)




123456789101112131415 1617181920212223242526

?php

$client = new Client();
$headers = [
  'Authorization' => 'YOUR_BEARER_TOKEN'
];
$request = new Request('GET', 'BASE_URL/top-up/list', $headers);
$res = $client->sendAsync($request)->wait();
echo $res->getBody();


                                                                
123456789101112131415 1617181920212223242526

curl --location 'BASE_URL/top-up/list' \
--header 'Authorization: YOUR_BEARER_TOKEN'
                                                                
123456789101112131415 1617181920212223242526

require "uri"
require "net/http"

url = URI("BASE_URL/top-up/list")

http = Net::HTTP.new(url.host, url.port);
request = Net::HTTP::Get.new(url)
request["Authorization"] = "YOUR_BEARER_TOKEN"

response = http.request(request)
puts response.read_body



123456789101112131415 1617181920212223242526

{
    "status": "success",
    "message": {
        "current_page": 1,
        "items": [
            {
                "id": 2,
                "category_id": 8,
                "name": "MICO Live Coins",
                "slug": "mico-live-coins",
                "region": "Global",
                "note": null,
                "status": 1,
                "instant_delivery": 1,
                "image": {
                    "image": "top-up/gYwgPOr73OKgqyRoWiLH3zwQ8oXK55.webp",
                    "image_driver": "local",
                    "preview": "top-up/VPJS0Mr6yqkPR2YRzGZKAqunbuTf0D.webp",
                    "preview_driver": "local"
                },
                "order_information": {
                    "1": {
                        "field_value": "Name",
                        "field_name": "Name",
                        "field_placeholder": "Name",
                        "field_note": "Take is seriously",
                        "field_type": "text"
                    }
                },
                "description": "About MICO Live\r\n

MICO Live is one of the most popular worldwide social networking apps for live.

", "guide": "How to top-up MICO Live Coins?\r\n

Refer the simple steps below:

\r\n
    \r\n
  1. Enter your Mico Live ID and select the top up amount.
  2. \r\n
", "total_review": 0, "avg_rating": 0, "sort_by": 1, "deleted_at": null, "created_at": "2025-03-04T09:54:06.000000Z", "updated_at": "2025-03-04T09:54:06.000000Z", "preview_image": "http://192.168.0.123/gamers-arena/project/assets/upload/top-up/VPJS0Mr6yqkPR2YRzGZKAqunbuTf0D.webp", "top_up_detail_route": "http://192.168.0.123/gamers-arena/project/direct-topup/details/mico-live-coins", "services": [ { "id": 1, "top_up_id": 2, "name": "MICO Live 88 Coins", "image": "top-up-service/EOPdhKAMgfaPhI1VxN30StKN3xytZI.webp", "image_driver": "local", "price": 2.8, "discount": 5, "discount_type": "percentage", "status": 1, "is_offered": 0, "offered_sell": 0, "max_sell": 0, "sort_by": 1, "old_data": null, "campaign_data": null, "created_at": "2025-03-04T09:57:49.000000Z", "updated_at": "2025-03-04T09:57:49.000000Z", "image_path": "http://192.168.0.123/gamers-arena/project/assets/upload/top-up-service/EOPdhKAMgfaPhI1VxN30StKN3xytZI.webp" } ...... ] }, ..... ], "first_page_url": "BASE_URL/top-up/list?page=1", "from": 1, "last_page": 1, "last_page_url": "BASE_URL/top-up/list?page=1", "links": [ { "url": null, "label": "« Previous", "active": false }, { "url": "BASE_URL/top-up/list?page=1", "label": "1", "active": true }, { "url": null, "label": "Next »", "active": false } ], "next_page_url": null, "path": "BASE_URL/top-up/list", "per_page": 10, "prev_page_url": null, "to": 10, "total": 10 } }
123456789101112131415 1617181920212223242526
                                                                
{
    "status": "failed",
    "errors": "Something went wrong"
}
                                                            
                                                            
1234567891011121314

#Get Top Up By Category

To get all the Top Up list by category id follow the example code and be careful with the parameters.

Base Urlhttps://www.xoccia.com/api/

HTTP 方法: GET

API URL: https://www.xoccia.com/api/top-up/list?category_id={category_id}

API 密钥: 将您的 bearer token 传递到授权头中 GET Bearer

响应格式: JSON


响应体

id: Top up id

类别 ID: Top up Category id

名称: Top up Name

别名: Top up Slug

region: Top up Region

note: Top up note

instant_delivery: Top Up instant delivery Status. It Should be 1 For All Active instant delivery Top Up

order_information: Top Up orders information

description: Top Up description

guide: Top Up guide

total_review: Top Up total review

avg_rating: Top Up average rating

sort_by: Top Up sorting, 1 for sort by date, 2 for sort by price etc.

状态: Top Up Status. It Should be 1 For All Active Top Up

image: The Top Up Image Url Path

预览图片: The Top Up Preview Image Url Path

services: The TopUp services

created_at: The TopUp created date

updated_at: The TopUp updated date

                                                                
var request = require('request');
var options = {
  'method': 'GET',
  'url': 'BASE_URL/top-up/list?category_id={category_id}',
  'headers': {
    'Authorization': 'YOUR_BEARER_TOKEN',
    'Cookie': '....'
  }
};
request(options, function (error, response) {
  if (error) throw new Error(error);
  console.log(response.body);
});





                                                                
123456789101112131415 16 17181920212223242526

import requests

url = "BASE_URL/top-up/list?category_id={category_id}"

payload = {}
headers = {
  'Authorization': 'YOUR_BEARER_TOKEN',
  'Cookie': '....'
}

response = requests.request("GET", url, headers=headers, data=payload)

print(response.text)



123456789101112131415 1617181920212223242526

?php

$client = new Client();
$headers = [
  'Authorization' => 'YOUR_BEARER_TOKEN',
  'Cookie' => '...'
];
$request = new Request('GET', 'BASE_URL/top-up/list?category_id={category_id}', $headers);
$res = $client->sendAsync($request)->wait();
echo $res->getBody();


                                                                
123456789101112131415 1617181920212223242526

curl --location 'BASE_URL/top-up/list?category_id=8' \
--header 'YOUR_BEARER_TOKEN' \
--header '....'
                                                                
123456789101112131415 1617181920212223242526

require "uri"
require "net/http"

url = URI("BASE_URL/top-up/list?category_id={category_id}")

http = Net::HTTP.new(url.host, url.port);
request = Net::HTTP::Get.new(url)
request["Authorization"] = "YOUR_BEARER_TOKEN"
request["Cookie"] = "..."

response = http.request(request)
puts response.read_body


123456789101112131415 1617181920212223242526

{
    "status": "success",
    "message": {
        "current_page": 1,
        "items": [
            {
                "id": 2,
                "category_id": 8,
                "name": "MICO Live Coins",
                "slug": "mico-live-coins",
                "region": "Global",
                "note": null,
                "status": 1,
                "instant_delivery": 1,
                "image": {
                    "image": "top-up/gYwgPOr73OKgqyRoWiLH3zwQ8oXK55.webp",
                    "image_driver": "local",
                    "preview": "top-up/VPJS0Mr6yqkPR2YRzGZKAqunbuTf0D.webp",
                    "preview_driver": "local"
                },
                "order_information": {
                    "1": {
                        "field_value": "Name",
                        "field_name": "Name",
                        "field_placeholder": "Name",
                        "field_note": "Take is seriously",
                        "field_type": "text"
                    }
                },
                "description": "About MICO Live\r\n

MICO Live is one of the most popular worldwide social networking apps for live streaming.

", "guide": "How to top-up MICO Live Coins?\r\n

Refer the simple steps below:

\r\n
    \r\n
  1. Enter your Mico Live ID and select the top up amount.
  2. \r\n
  3. Check out and select your payment method.
  4. \r\n
  5. Once payment made, Mico Live coins will top up automatically into your Mico Live account.
  6. \r\n
", "total_review": 0, "avg_rating": 0, "sort_by": 4, "deleted_at": null, "created_at": "2025-03-04T09:54:06.000000Z", "updated_at": "2025-03-05T11:43:51.000000Z", "preview_image": "http://192.168.0.123/gamers-arena/gamers/assets/upload/top-up/VPJS0Mr6yqkPR2YRzGZKAqunbuTf0D.webp", "top_up_detail_route": "http://192.168.0.123/gamers-arena/gamers/direct-topup/details/mico-live-coins", "services": [ { "id": 1, "top_up_id": 2, "name": "MICO Live 88 Coins", "image": "top-up-service/EOPdhKAMgfaPhI1VxN30StKN3xytZI.webp", "image_driver": "local", "price": 2.8, "discount": 5, "discount_type": "percentage", "status": 1, "is_offered": 1, "offered_sell": 0, "max_sell": 0, "sort_by": 1, "old_data": null, "campaign_data": { "price": "2.8", "discount": "8", "discount_type": "percentage", "max_sell": "1000" }, "created_at": "2025-03-04T09:57:49.000000Z", "updated_at": "2025-03-06T04:58:15.000000Z", "image_path": "http://192.168.0.123/gamers-arena/gamers/assets/upload/top-up-service/EOPdhKAMgfaPhI1VxN30StKN3xytZI.webp" }, ..... ] } .... ], "first_page_url": "http://192.168.0.123/gamers-arena/gamers/api/top-up/list?page=1", "from": 1, "last_page": 1, "last_page_url": "http://192.168.0.123/gamers-arena/gamers/api/top-up/list?page=1", "links": [ { "url": null, "label": "« Previous", "active": false }, { "url": "http://192.168.0.123/gamers-arena/gamers/api/top-up/list?page=1", "label": "1", "active": true }, { "url": null, "label": "Next »", "active": false } ], "next_page_url": null, "path": "http://192.168.0.123/gamers-arena/gamers/api/top-up/list", "per_page": 10, "prev_page_url": null, "to": 4, "total": 4 } }
123456789101112131415 1617181920212223242526
                                                                
{
    "status": "failed",
    "errors": "Something went wrong"
}
                                                            
                                                            
1234567891011121314

#Top Up Details

To get Top Up all information follow the example code and be careful with the parameters.

Base Urlhttps://www.xoccia.com/api/

HTTP 方法: GET

API URL: https://www.xoccia.com/api/top-up/details?slug={slug}

API 密钥: 将您的 bearer token 传递到授权头中 GET Bearer

响应格式: JSON


响应体

id: Top up id

类别 ID: Top up Category id

名称: Top up Name

别名: Top up Slug

region: Top up Region

note: Top up note

instant_delivery: Top Up instant delivery Status. It Should be 1 For All Active instant delivery Top Up

order_information: Top Up orders information

description: Top Up description

guide: Top Up guide

total_review: Top Up total review

avg_rating: Top Up average rating

sort_by: Top Up sorting, 1 for sort by date, 2 for sort by price etc.

状态: Top Up Status. It Should be 1 For All Active Top Up

image: The Top Up Image Url Path

预览图片: The Top Up Preview Image Url Path

active_services: The TopUp active services

created_at: The TopUp created date

updated_at: The TopUp updated date

top_up_detail_route: The TopUp detail route

reviewStatic: The TopUp review and reviewable or not

gateways: The active gateways for payment

                                                                
var request = require('request');
var options = {
  'method': 'GET',
  'url': 'BASE_URL/top-up/details?slug={slug}',
  'headers': {
    'Authorization': 'YOUR_BEARER_TOKEN',
    'Cookie': '....'
  }
};
request(options, function (error, response) {
  if (error) throw new Error(error);
  console.log(response.body);
});





                                                                
123456789101112131415 16 17181920212223242526

import requests

url = "BASE_URL/top-up/details?slug={slug}"

payload = {}
headers = {
  'Authorization': 'YOUR_BEARER_TOKEN',
  'Cookie': '...'
}

response = requests.request("GET", url, headers=headers, data=payload)

print(response.text)



123456789101112131415 1617181920212223242526

?php

$client = new Client();
$headers = [
  'Authorization' => 'YOUR_BEARER_TOKEN',
  'Cookie' => '...'
];
$request = new Request('GET', 'BASE_URL/top-up/details?slug={slug}', $headers);
$res = $client->sendAsync($request)->wait();
echo $res->getBody();


                                                                
123456789101112131415 1617181920212223242526

curl --location 'BASE_URL/top-up/details?slug={slug}' \
--header 'Authorization: Bearer 3|zBS0kDnLrDVeejvPo3bICvNtnokQEzeao25NuphN438c7144' \
--header '...'
                                                                
123456789101112131415 1617181920212223242526

require "uri"
require "net/http"

url = URI("BASE_URL/top-up/details?slug={slug}")

http = Net::HTTP.new(url.host, url.port);
request = Net::HTTP::Get.new(url)
request["Authorization"] = "YOUR_BEARER_TOKEN"
request["Cookie"] = "..."

response = http.request(request)
puts response.read_body


123456789101112131415 1617181920212223242526

{
    "status": "success",
    "message": {
        "topUp": {
            "id": 10,
            "category_id": 12,
            "name": "PUBG Mobile UC (Global)",
            "slug": "pubg-mobile-uc-global",
            "region": "Global",
            "note": "Important Note: Not for Japanese / Korean / Taiwan / Vietnam servers.",
            "status": 1,
            "instant_delivery": 1,
            "image": {
                "image": "top-up/EyIRfPvWAhJ8T1uxY6Ykmh4USLVHr2.webp",
                "image_driver": "local",
                "preview": "top-up/d5aGlVfRWsen1EHYcwhrV4IojFBEMP.webp",
                "preview_driver": "local"
            },
            "order_information": [
                {
                    "field_value": "User ID",
                    "field_name": "User_Id",
                    "field_placeholder": "User ID",
                    "field_note": "Check your user id from setting",
                    "field_type": "text"
                },
                {
                    "field_value": "Server",
                    "field_name": "Server",
                    "field_placeholder": "Server",
                    "field_note": "Check your server from setting",
                    "field_type": "select",
                    "option": {
                        "Asia": "Asia",
                        "Europe": "Europe",
                        "America": "America"
                    }
                }
            ],
            "description": "About PUBG Mobile UC\r\nPlayerUnknown Battleground Mobile or PUBG Mobile is an original battle royale.",
            "guide": "How to top-up PUBG Mobile UC?\r\n\r\nSelect the Unknown Cash UC denomination.\r\nEnter your PUBG Mobile Player ID.",
            "total_review": 1,
            "avg_rating": 5,
            "sort_by": 1,
            "deleted_at": null,
            "created_at": "2025-03-04T10:18:40.000000Z",
            "updated_at": "2025-03-05T11:43:51.000000Z",
            "preview_image": "http://192.168.0.123/gamers-arena/gamers/assets/upload/top-up/d5aGlVfRWsen1EHYcwhrV4IojFBEMP.webp",
            "top_up_detail_route": "http://192.168.0.123/gamers-arena/gamers/direct-topup/details/pubg-mobile-uc-global",
            "active_services": [
                {
                    "id": 29,
                    "top_up_id": 10,
                    "name": "60 UC",
                    "image": "top-up-service/GDemkOKkh1hxhICw3jXl7A9Q10eIrI.webp",
                    "image_driver": "local",
                    "price": 10,
                    "discount": 2,
                    "discount_type": "percentage",
                    "status": 1,
                    "is_offered": 0,
                    "offered_sell": 0,
                    "max_sell": 0,
                    "sort_by": 1,
                    "old_data": null,
                    "campaign_data": null,
                    "created_at": "2025-03-04T10:21:36.000000Z",
                    "updated_at": "2025-03-06T04:58:14.000000Z",
                    "currency": "USD",
                    "currency_symbol": "$",
                    "discountedAmount": 0.2,
                    "discountedPriceWithoutDiscount": 9.8,
                    "image_path": "http://192.168.0.123/gamers-arena/gamers/assets/upload/top-up-service/GDemkOKkh1hxhICw3jXl7A9Q10eIrI.webp"
                },
                ...
            ]
        },
        "reviewStatic": {
            "reviews": [
                {
                    "id": 21,
                    "reviewable_type": "App\\Models\\TopUp",
                    "reviewable_id": 10,
                    "user_id": 24,
                    "rating": 5,
                    "comment": "Absolutely fantastic experience! The service was seamless, and everything worked perfectly. Highly recommended!",
                    "status": 1,
                    "created_at": "2025-03-06T05:10:17.000000Z",
                    "updated_at": "2025-03-06T05:10:17.000000Z",
                    "user": {
                        "id": 24,
                        "firstname": "Tony",
                        "lastname": "Grady",
                        "email": "[email protected]",
                        "image_driver": null,
                        "image": null,
                        "LastSeenActivity": false,
                        "imgPath": "http://192.168.0.123/gamers-arena/gamers/assets/admin/img/default.png",
                        "fullname": "Tony Grady"
                    }
                },
                ...
            ],
            "hasAlreadyOrdered": true
        },
        "gateways": [
            {
                "id": 2,
                "code": "stripe",
                "name": "Stripe",
                "sort_by": 1,
                "image": "http://192.168.0.123/gamers-arena/gamers/assets/upload/gateway/fkcARCIw6q6Fb3DY1AIS3FvxCc0khe.webp",
                "driver": "local",
                "status": 1,
                "parameters": {
                    "secret_key": "sk_test_aat3tzBCCXXBkS4sxY3M8A1B",
                    "publishable_key": "pk_test_AU3G7doZ1sbdpJLj0NaozPBu"
                },
                "currencies": {
                    "0": {
                        "USD": "USD",
                        "AUD": "AUD",
                        "BRL": "BRL",
                        "CAD": "CAD",
                        "CHF": "CHF",
                        "DKK": "DKK",
                        "EUR": "EUR",
                        "GBP": "GBP",
                        "HKD": "HKD",
                        "INR": "INR",
                        "JPY": "JPY",
                        "MXN": "MXN",
                        "MYR": "MYR",
                        "NOK": "NOK",
                        "NZD": "NZD",
                        "PLN": "PLN",
                        "SEK": "SEK",
                        "SGD": "SGD"
                    }
                },
                "extra_parameters": null,
                "supported_currency": [
                    "USD",
                    "EUR",
                    "GBP"
                ],
                "receivable_currencies": [
                    {
                        "name": "USD",
                        "currency_symbol": "USD",
                        "conversion_rate": "1",
                        "min_limit": "0.1",
                        "max_limit": "100000",
                        "percentage_charge": "1",
                        "fixed_charge": "0"
                    },
                    ...
                ],
                "description": "Send form your payment gateway. your bank may charge you a cash advance fee.",
                "currency_type": 1,
                "is_sandbox": 1,
                "environment": "test",
                "is_manual": null,
                "note": null,
                "created_at": "2020-09-10T09:05:02.000000Z",
                "updated_at": "2025-03-05T06:31:09.000000Z"
            },
            ....
        ]
    }
}
                                                        
123456789101112131415 1617181920212223242526
                                                                
{
    "status": "failed",
    "errors": "Something went wrong"
}
                                                            
                                                            
1234567891011121314

#Get Top Up Services

To get all the Top Up Services list follow the example code and be careful with the parameters.

Base Urlhttps://www.xoccia.com/api/

HTTP 方法: GET

API URL: https://www.xoccia.com/api/topup/services

API 密钥: 将您的 bearer token 传递到授权头中 GET Bearer

响应格式: JSON


响应体

id: Service id

top_up_id: Top up id

name: Service Name

price: The price of service

discount: The discount amount of service

discount_type: The discount amount type. 1.percentage 2.flat

is_offered: The service is in campaign or not. 1=> yes, 0=> not

offered_sell: The campaign sell of the service

max_sell: The campaign max sell limit of the service

old_data: The actual data before campaign

campaign_data: The campaign data of the service

image_path: Service image path

sort_by: Top Up sorting, 1 for sort by date, 2 for sort by price etc.

created_at: The TopUp created date

updated_at: The TopUp updated date

                                                                
var request = require('request');
var options = {
  'method': 'GET',
  'url': 'BASE_URL/topup/services',
  'headers': {
    'Authorization': 'YOUR_BEARER_TOKEN',
    'Cookie': '...'
  }
};
request(options, function (error, response) {
  if (error) throw new Error(error);
  console.log(response.body);
});





                                                                
123456789101112131415 16 17181920212223242526

import requests

url = "BASE_URL/topup/services"

payload = {}
headers = {
  'Authorization': 'YOUR_BEARER_TOKEN',
  'Cookie': '...'
}

response = requests.request("GET", url, headers=headers, data=payload)

print(response.text)



123456789101112131415 1617181920212223242526

?php

$client = new Client();
$headers = [
  'Authorization' => 'YOUR_BEARER_TOKEN',
  'Cookie' => '...'
];
$request = new Request('GET', 'BASE_URL/topup/services', $headers);
$res = $client->sendAsync($request)->wait();
echo $res->getBody();


                                                                
123456789101112131415 1617181920212223242526

curl --location 'BASE_URL/topup/services' \
--header 'YOUR_BEARER_TOKEN' \
--header '...'
                                                                
123456789101112131415 1617181920212223242526

require "uri"
require "net/http"

url = URI("BASE_URL/api/topup/services")

http = Net::HTTP.new(url.host, url.port);
request = Net::HTTP::Get.new(url)
request["Authorization"] = "YOUR_BEARER_TOKEN"
request["Cookie"] = "...."

response = http.request(request)
puts response.read_body


123456789101112131415 1617181920212223242526

{
    "status": "success",
    "message": {
        "services": [
            {
                "id": 1,
                "top_up_id": 2,
                "name": "MICO Live 88 Coins",
                "price": 2.8,
                "discount": 5,
                "discount_type": "percentage",
                "status": 1,
                "is_offered": 1,
                "offered_sell": 0,
                "max_sell": 0,
                "sort_by": 1,
                "old_data": null,
                "campaign_data": {
                    "price": "2.8",
                    "discount": "8",
                    "discount_type": "percentage",
                    "max_sell": "1000"
                },
                "created_at": "2025-03-04T09:57:49.000000Z",
                "updated_at": "2025-03-06T04:58:15.000000Z",
                "image_path": "http://192.168.0.123/gamers-arena/gamers/assets/upload/top-up-service/EOPdhKAMgfaPhI1VxN30StKN3xytZI.webp"
            },
            .....
        ]
    }
}
                                                        
123456789101112131415 1617181920212223242526
                                                                
{
    "status": "failed",
    "errors": "Something went wrong"
}
                                                            
                                                            
1234567891011121314

#Get Services By Top Up

To get Services of the Top Up list follow the example code and be careful with the parameters.

Base Urlhttps://www.xoccia.com/api/

HTTP 方法: GET

API URL: https://www.xoccia.com/api/topup/services?top_up_id={top_up_id}

API 密钥: 将您的 bearer token 传递到授权头中 GET Bearer

响应格式: JSON


响应体

id: Service id

top_up_id: Top up id

name: Service Name

price: The price of service

discount: The discount amount of service

discount_type: The discount amount type. 1.percentage 2.flat

is_offered: The service is in campaign or not. 1=> yes, 0=> not

offered_sell: The campaign sell of the service

max_sell: The campaign max sell limit of the service

old_data: The actual data before campaign

campaign_data: The campaign data of the service

image_path: Service image path

sort_by: Top Up sorting, 1 for sort by date, 2 for sort by price etc.

created_at: The TopUp created date

updated_at: The TopUp updated date

                                                                
var request = require('request');
var options = {
  'method': 'GET',
  'url': 'BASE_URL/topup/services?top_up_id={top_up_id}',
  'headers': {
    'Authorization': 'YOUR_BEARER_TOKEN',
    'Cookie': '...'
  }
};
request(options, function (error, response) {
  if (error) throw new Error(error);
  console.log(response.body);
});





                                                                
123456789101112131415 16 17181920212223242526

import requests

url = "BASE_URL/topup/services?top_up_id=2"

payload = {}
headers = {
  'Authorization': 'YOUR_BEARER_TOKEN',
  'Cookie': '...'
}

response = requests.request("GET", url, headers=headers, data=payload)

print(response.text)



123456789101112131415 1617181920212223242526

?php

$client = new Client();
$headers = [
  'Authorization' => 'YOUR_BEARER_TOKEN',
  'Cookie' => '...'
];
$request = new Request('GET', 'BASE_URL/topup/services?top_up_id={top_up_id}', $headers);
$res = $client->sendAsync($request)->wait();
echo $res->getBody();


                                                                
123456789101112131415 1617181920212223242526

curl --location 'BASE_URL/topup/services?top_up_id={top_up_id}' \
--header 'YOUR_BEARER_TOKEN' \
--header '...'
                                                                
123456789101112131415 1617181920212223242526

require "uri"
require "net/http"

url = URI("BASE_URL/topup/services?top_up_id={top_up_id}")

http = Net::HTTP.new(url.host, url.port);
request = Net::HTTP::Get.new(url)
request["Authorization"] = "YOUR_BEARER_TOKEN"
request["Cookie"] = "..."

response = http.request(request)
puts response.read_body


123456789101112131415 1617181920212223242526

{
    "status": "success",
    "message": {
        "services": [
            {
                "id": 1,
                "top_up_id": 2,
                "name": "MICO Live 88 Coins",
                "price": 2.8,
                "discount": 5,
                "discount_type": "percentage",
                "status": 1,
                "is_offered": 1,
                "offered_sell": 0,
                "max_sell": 0,
                "sort_by": 1,
                "old_data": null,
                "campaign_data": {
                    "price": "2.8",
                    "discount": "8",
                    "discount_type": "percentage",
                    "max_sell": "1000"
                },
                "created_at": "2025-03-04T09:57:49.000000Z",
                "updated_at": "2025-03-06T04:58:15.000000Z",
                "image_path": "http://192.168.0.123/gamers-arena/gamers/assets/upload/top-up-service/EOPdhKAMgfaPhI1VxN30StKN3xytZI.webp"
            },
            {
                "id": 2,
                "top_up_id": 2,
                "name": "MICO Live 100 Coins",
                "price": 3.8,
                "discount": 3,
                "discount_type": "percentage",
                "status": 1,
                "is_offered": 0,
                "offered_sell": 0,
                "max_sell": 0,
                "sort_by": 1,
                "old_data": null,
                "campaign_data": null,
                "created_at": "2025-03-04T09:58:09.000000Z",
                "updated_at": "2025-03-06T04:58:14.000000Z",
                "image_path": "http://192.168.0.123/gamers-arena/gamers/assets/upload/top-up-service/1MrpTXWVGuN8jmV6wPfSUKnTs1xItE.webp"
            },
            ...
        ]
    }
}
                                                        
123456789101112131415 1617181920212223242526
                                                                
{
    "status": "failed",
    "errors": "Something went wrong"
}
                                                            
                                                            
1234567891011121314

#Order Top Up

To order top up follow the example code and be careful with the parameters.

Base Urlhttps://www.xoccia.com/api/

HTTP 方法: POST

API URL: https://www.xoccia.com/api/top-up/make-order

API 密钥: 将您的 bearer token 传递到授权头中 GET Bearer

响应格式: JSON


请求体参数

topUpId* integer

The id of Top-Up, Must be in integer positive value


serviceId* integer

The id of Top-Up Service, Must be in integer positive value


User_Id* text

Order information of the top up. You get from Top Up Details endpoint. Pass the all order_information field_name here


Zone_Name* text

Order information of the top up. You get from Top Up Details endpoint. Pass the all order_information field_name here


                                                                
var request = require('request');
var options = {
  'method': 'POST',
  'url': 'BASE_URL/top-up/make-order',
  'headers': {
    'Authorization': 'YOUR_BEARER_TOKEN',
    'Cookie': '...'
  },
  formData: {
    'topUpId': '2',
    'serviceId': '1',
    'Player_Id': '300',
    'Zone_Name': 'Asia'
  }
};
request(options, function (error, response) {
  if (error) throw new Error(error);
  console.log(response.body);
});







                                                                
123456789101112131415 16 17181920212223242526

import requests

url = "BASE_URL/top-up/make-order"

payload = {'topUpId': '2',
'serviceId': '1',
'Player_Id': '300',
'Zone_Name': 'Asia'}
files=[

]
headers = {
  'Authorization': 'YOUR_BEARER_TOKEN',
  'Cookie': 'YOUR_BEARER_TOKEN'
}

response = requests.request("POST", url, headers=headers, data=payload, files=files)

print(response.text)





123456789101112131415 1617181920212223242526

?php
$client = new Client();
$headers = [
  'Authorization' => 'YOUR_BEARER_TOKEN',
  'Cookie' => '...'
];
$options = [
  'multipart' => [
    [
      'name' => 'topUpId',
      'contents' => '2'
    ],
    [
      'name' => 'serviceId',
      'contents' => '1'
    ],
    [
      'name' => 'Player_Id',
      'contents' => '300'
    ],
    [
      'name' => 'Zone_Name',
      'contents' => 'Asia'
    ]
]];
$request = new Request('POST', 'BASE_URL/top-up/make-order', $headers);
$res = $client->sendAsync($request, $options)->wait();
echo $res->getBody();



                                                                
123456789101112131415 1617181920212223242526

curl --location 'BASE_URL/top-up/make-order' \
--header 'YOUR_BEARER_TOKEN' \
--header 'Cookie: ....' \
--form 'topUpId="2"' \
--form 'serviceId="1"' \
--form 'Player_Id="300"' \
--form 'Zone_Name="Asia"'
                                                                
123456789101112131415 1617181920212223242526

require "uri"
require "net/http"

url = URI("BASE_URL/top-up/make-order")

http = Net::HTTP.new(url.host, url.port);
request = Net::HTTP::Post.new(url)
request["Authorization"] = "YOUR_BEARER_TOKEN"
request["Cookie"] = "..."
form_data = [['topUpId', '2'],['serviceId', '1'],['Player_Id', '300'],['Zone_Name', 'Asia']]
request.set_form form_data, 'multipart/form-data'
response = http.request(request)
puts response.read_body




123456789101112131415 1617181920212223242526

{
    "status": "success",
    "message": "Order has been placed successfully"
}
                                                        
123456789101112131415 1617181920212223242526
                                                                
{
    "status": "failed",
    "errors": [
        "The top up id field is required.",
    ]
}
                                                            
                                                            
1234567891011121314

#Get Top Up Reviews

To get Reviews of the Top Up list follow the example code and be careful with the parameters.

Base Urlhttps://www.xoccia.com/api/

HTTP 方法: GET

API URL: https://www.xoccia.com/api/topup/review?top_up_id={top_up_id}

API 密钥: 将您的 bearer token 传递到授权头中 GET Bearer

响应格式: JSON


响应体

id: Review id

rating: Top up rating. min value 1 max value 5

comment: Product rating comment

user: Who give the rating

status: Status 1 for published, 0 for holded

                                                                
var request = require('request');
var options = {
  'method': 'GET',
  'url': 'BASE_URL/topup/review?top_up_id=10',
  'headers': {
    'Authorization': 'YOUR_BEARER_TOKEN',
    'Cookie': '...'
  }
};
request(options, function (error, response) {
  if (error) throw new Error(error);
  console.log(response.body);
});





                                                                
123456789101112131415 16 17181920212223242526

import requests

url = "BASE_URL/topup/review?top_up_id=10"

payload = {}
headers = {
  'Authorization': 'YOUR_BEARER_TOKEN',
  'Cookie': '...'
}

response = requests.request("GET", url, headers=headers, data=payload)

print(response.text)



123456789101112131415 1617181920212223242526

?php

$client = new Client();
$headers = [
  'Authorization' => 'YOUR_BEARER_TOKEN',
  'Cookie' => '...'
];
$request = new Request('GET', 'BASE_URL/topup/review?top_up_id=10', $headers);
$res = $client->sendAsync($request)->wait();
echo $res->getBody();


                                                                
123456789101112131415 1617181920212223242526

curl --location 'BASE_URL/topup/review?top_up_id=10' \
--header 'YOUR_BEARER_TOKEN' \
--header 'Cookie: ...'
                                                                
123456789101112131415 1617181920212223242526

require "uri"
require "net/http"

url = URI("BASE_URL/topup/review?top_up_id=10")

http = Net::HTTP.new(url.host, url.port);
request = Net::HTTP::Get.new(url)
request["Authorization"] = "YOUR_BEARER_TOKEN"
request["Cookie"] = "..."

response = http.request(request)
puts response.read_body

123456789101112131415 1617181920212223242526

{
    "status": "success",
    "message": {
        "reviews": [
            {
                "id": 21,
                "rating": 5,
                "comment": "Absolutely fantastic experience! The service was seamless, and everything worked perfectly. Highly recommended!",
                "status": 1,
                "created_at": "2025-03-06T05:10:17.000000Z",
                "updated_at": "2025-03-06T05:10:17.000000Z",
                "user": {
                    "id": 24,
                    "firstname": "Tony",
                    "lastname": "Grady",
                    "image": null,
                    "image_driver": null,
                    "imgPath": "http://192.168.0.123/gamers-arena/gamers/assets/admin/img/default.png",
                    "LastSeenActivity": false,
                    "fullname": "Tony Grady"
                }
            },
            ...
        ],
        "pagination": {
            "total": 8,
            "per_page": 15,
            "current_page": 1,
            "last_page": 1,
            "next_page_url": null,
            "prev_page_url": null
        }
    }
}
                                                        
123456789101112131415 1617181920212223242526
                                                                
{
    "status": "failed",
    "errors": "Something went wrong"
}
                                                            
                                                            
1234567891011121314

#Add Top Up Reviews

To give a rating of top up follow the example code and be careful with the parameters.

Base Urlhttps://www.xoccia.com/api/

HTTP 方法: POST

API URL: https://www.xoccia.com/api/topup/review

API 密钥: 将您的 bearer token 传递到授权头中 GET Bearer

响应格式: JSON


请求体参数

topUpId* integer

The id of Top-Up, Must be in integer positive value


rating* number

Must be in positive number between 1 to 5


comment* text

What was your experience


                                                                
var request = require('request');
var options = {
  'method': 'POST',
  'url': 'BASE_URL/topup/review',
  'headers': {
    'Authorization': 'YOUR_BEARER_TOKEN',
    'Cookie': '...'
  },
  formData: {
    'topUpId': '2',
    'rating': '5',
    'comment': 'my comment'
  }
};
request(options, function (error, response) {
  if (error) throw new Error(error);
  console.log(response.body);
});






                                                                
123456789101112131415 16 17181920212223242526

import requests

url = "BASE_URL/topup/review"

payload = {'topUpId': '2',
'rating': '5',
'comment': 'my comment'}
files=[

]
headers = {
  'Authorization': 'YOUR_BEARER_TOKEN',
  'Cookie': '....'
}

response = requests.request("POST", url, headers=headers, data=payload, files=files)

print(response.text)




123456789101112131415 1617181920212223242526

?php
$client = new Client();
$headers = [
  'Authorization' => 'YOUR_BEARER_TOKEN',
  'Cookie' => '...'
];
$options = [
  'multipart' => [
    [
      'name' => 'topUpId',
      'contents' => '2'
    ],
    [
      'name' => 'rating',
      'contents' => '5'
    ],
    [
      'name' => 'comment',
      'contents' => 'my comment'
    ]
]];
$request = new Request('POST', 'BASE_URL/topup/review', $headers);
$res = $client->sendAsync($request, $options)->wait();
echo $res->getBody();


                                                                
123456789101112131415 1617181920212223242526

curl --location 'BASE_URL/topup/review' \
--header 'Authorization: YOUR_BEARER_TOKEN' \
--header '...' \
--form 'topUpId="2"' \
--form 'rating="5"' \
--form 'comment="my comment"'
                                                                
123456789101112131415 1617181920212223242526

require "uri"
require "net/http"

url = URI("BASE_URL/topup/review")

http = Net::HTTP.new(url.host, url.port);
request = Net::HTTP::Post.new(url)
request["Authorization"] = "YOUR_BEARER_TOKEN"
request["Cookie"] = "...."
form_data = [['topUpId', '2'],['rating', '5'],['comment', 'my comment']]
request.set_form form_data, 'multipart/form-data'
response = http.request(request)
puts response.read_body



123456789101112131415 1617181920212223242526

{
    "status": "success",
    "message": "Review Added Successfully"
}
                                                        
123456789101112131415 1617181920212223242526
                                                                
{
    "status": "failed",
    "errors": [
        "The top up id field is required.",
        "The rating field is required.",
        "The comment field is required."
    ]
}
                                                            
                                                            
1234567891011121314

卡片

#获取卡片

要获取所有卡片列表,请参照示例代码操作,并注意参数。

基础 URLhttps://www.xoccia.com/api/

HTTP 方法: GET

API URL: https://www.xoccia.com/api/get-card

API 密钥: 将您的 bearer token 传递到授权头中 GET Bearer

响应格式: JSON


响应体

id: 卡片 ID

类别 ID: 卡片类别 ID

名称: 卡片名称

别名: 卡片别名

状态: 卡片状态。所有活跃卡片应为 1

产品图片: 卡片图片 URL 路径

预览图片: 卡片预览图片 URL 路径

                                                                
var request = require('request');
var options = {
  'method': 'GET',
  'url': 'BASE_URL/get-card',
  'headers': {
    'Authorization': 'YOUR_BEARER_TOKEN',
    'Cookie': '...'
  }
};
request(options, function (error, response) {
  if (error) throw new Error(error);
  console.log(response.body);
});





                                                                
123456789101112131415 16 17181920212223242526

import requests

url = "BASE_URL/get-card"

payload = {}
headers = {
  'Authorization': 'YOUR_BEARER_TOKEN',
  'Cookie': '...'
}

response = requests.request("GET", url, headers=headers, data=payload)

print(response.text)



123456789101112131415 1617181920212223242526

?php

$client = new Client();
$headers = [
  'Authorization' => 'YOUR_BEARER_TOKEN',
  'Cookie' => '...'
];
$request = new Request('GET', 'BASE_URL/get-card', $headers);
$res = $client->sendAsync($request)->wait();
echo $res->getBody();


                                                                
123456789101112131415 1617181920212223242526

curl --location 'BASE_URL/get-card' \
--header 'Authorization: YOUR_BEARER_TOKEN' \
--header 'Cookie: ...'
                                                                
123456789101112131415 1617181920212223242526

require "uri"
require "net/http"

url = URI("BASE_URL/get-card")

http = Net::HTTP.new(url.host, url.port);
request = Net::HTTP::Get.new(url)
request["Authorization"] = "YOUR_BEARER_TOKEN"
request["Cookie"] = "...."

response = http.request(request)
puts response.read_body


123456789101112131415 1617181920212223242526

{
    "status": "success",
    "message": {
        "cards": [
            {
                "id": 1,
                "category_id": 1,
                "name": "Honor of Kings (Global)",
                "slug": "honor-of-kings-global",
                "status": 1,
                "product_image": "http://192.168.0.123/gamers-arena/gamers/assets/upload/card/M8H2HEgm9F5idIYoMoU2j6ZvRrJsA6.webp",
                "preview_image": "http://192.168.0.123/gamers-arena/gamers/assets/upload/card/mQnj7yQsc0ZrRn2XaGwPuOWXYiTVwz.webp"
            },
            {
                "id": 3,
                "category_id": 1,
                "name": "Mobile Legends Diamonds Pin",
                "slug": "mobile-legends-diamonds-pin",
                "status": 1,
                "product_image": "http://192.168.0.123/gamers-arena/gamers/assets/upload/card/7OcZfBfKnbcFotrUwDCExlIsNGS0kV.webp",
                "preview_image": "http://192.168.0.123/gamers-arena/gamers/assets/upload/card/oe0U1xKwbjjN4i1V7hjOjpfC2JSS1z.webp"
            },
            .....
        ]
    }
}
                                                        
123456789101112131415 1617181920212223242526
                                                                
{
    "status": "failed",
    "errors": "Something went wrong"
}
                                                            
                                                            
1234567891011121314

#按类别获取卡片

要按类别 ID 获取所有卡片列表,请参照示例代码操作,并注意参数。

Base Urlhttps://www.xoccia.com/api/

HTTP 方法: GET

API URL: https://www.xoccia.com/api/get-card?category_id={category_id}

API 密钥: 将您的 bearer token 传递到授权头中 GET Bearer

响应格式: JSON


响应体

id: Card id

category_id: Card Category id

name: Card Name

slug: Card Slug

status: Card Status. It Should be 1 For All Active Card

product_image: The Card Image Url Path

preview_image: The Card Preview Image Url Path

                                                                
var request = require('request');
var options = {
  'method': 'GET',
  'url': 'BASE_URL/get-card?category_id=5',
  'headers': {
    'Authorization': 'YOUR_BEARER_TOKEN'
  }
};
request(options, function (error, response) {
  if (error) throw new Error(error);
  console.log(response.body);
});





                                                                
123456789101112131415 16 17181920212223242526

import requests

url = "BASE_URL/get-card?category_id=5"

payload = {}
headers = {
  'Authorization': 'YOUR_BEARER_TOKEN'
}

response = requests.request("GET", url, headers=headers, data=payload)

print(response.text)



123456789101112131415 1617181920212223242526

?php

$client = new Client();
$headers = [
  'Authorization' => 'YOUR_BEARER_TOKEN'
];
$request = new Request('GET', 'BASE_URL/get-card?category_id=5', $headers);
$res = $client->sendAsync($request)->wait();
echo $res->getBody();


                                                                
123456789101112131415 1617181920212223242526

curl --location 'BASE_URL/get-card?category_id=5' \
--header 'Authorization: YOUR_BEARER_TOKEN'
                                                                
123456789101112131415 1617181920212223242526

require "uri"
require "net/http"

url = URI("BASE_URL/get-card?category_id=5")

http = Net::HTTP.new(url.host, url.port);
request = Net::HTTP::Get.new(url)
request["Authorization"] = "YOUR_BEARER_TOKEN"

response = http.request(request)
puts response.read_body


123456789101112131415 1617181920212223242526

{
    "status": "success",
    "message": {
        "cards": [
            {
                "id": 10,
                "category_id": 5,
                "name": "Netflix Gift Card (MY)",
                "slug": "netflix-gift-card-my",
                "status": 1,
                "product_image": "http://192.168.0.123/gamers-arena/gamers/assets/upload/card/vNK9c1bqfRqceCLfsR707XNr3IYhMS.webp",
                "preview_image": "http://192.168.0.123/gamers-arena/gamers/assets/upload/card/Cpg8NhG9JWAoWCW63PB8zuo8rdHrKf.webp"
            },
            ....
        ]
    }
}
                                                        
123456789101112131415 1617181920212223242526
                                                                
{
    "status": "failed",
    "errors": "Something went wrong"
}
                                                            
                                                            
1234567891011121314

#卡片详情

要获取卡片的所有信息,请参照示例代码操作,并注意参数。

Base Urlhttps://www.xoccia.com/api/

HTTP 方法: GET

API URL: https://www.xoccia.com/api/card/details?card_id={card_id}

API 密钥: 将您的 bearer token 传递到授权头中 GET Bearer

响应格式: JSON


响应体

id: Card up id

category_id: Card Category id

name: Card Name

slug: Card Slug

region: suppoerted region or country

note: any note for the Card

status: Card Status. It Should be 1 For All Active Card

instant_delivery: 1=> if Top Up send instantly to buyer

description: Card Description

guide: Card Guide

total_review: How many review give by the buyer

avg_rating: The average review rating by the buyer

sell_count: Total Sell time

trending: Trending item for 1, 0 is normal

preview_image: Card Preview Image

product_image: Card Image

services: Card Services

gateways: Active gateways for payment

                                                                
var request = require('request');
var options = {
  'method': 'GET',
  'url': 'BASE_URL/card/details?card_id=1',
  'headers': {
    'Authorization': 'YOUR_BEARER_TOKEN'
  }
};
request(options, function (error, response) {
  if (error) throw new Error(error);
  console.log(response.body);
});





                                                                
123456789101112131415 16 17181920212223242526

import requests

url = "BASE_URL/card/details?card_id=1"

payload = {}
headers = {
  'Authorization': 'YOUR_BEARER_TOKEN'
}

response = requests.request("GET", url, headers=headers, data=payload)

print(response.text)



123456789101112131415 1617181920212223242526

?php

$client = new Client();
$headers = [
  'Authorization' => 'YOUR_BEARER_TOKEN'
];
$request = new Request('GET', 'BASE_URL/card/details?card_id=1', $headers);
$res = $client->sendAsync($request)->wait();
echo $res->getBody();


                                                                
123456789101112131415 1617181920212223242526

curl --location 'BASE_URL/card/details?card_id=1' \
--header 'Authorization: YOUR_BEARER_TOKEN'
                                                                
123456789101112131415 1617181920212223242526

require "uri"
require "net/http"

url = URI("BASE_URL/card/details?card_id=1")

http = Net::HTTP.new(url.host, url.port);
request = Net::HTTP::Get.new(url)
request["Authorization"] = "YOUR_BEARER_TOKEN"

response = http.request(request)
puts response.read_body


123456789101112131415 1617181920212223242526

{
    "status": "success",
    "message": {
        "services": [
            {
                "id": 1,
                "card_id": 1,
                "name": "Gift Card 10 INR IN",
                "price": 0.27,
                "discount": 2,
                "discount_type": "percentage",
                "status": 1,
                "is_offered": 0,
                "offered_sell": 0,
                "max_sell": 0,
                "sort_by": 1,
                "old_data": null,
                "campaign_data": null,
                "created_at": "2024-08-17T05:19:12.000000Z",
                "updated_at": "2024-11-11T13:03:09.000000Z",
                "image_path": "https://bugfinder.net/assets/upload/card-service/kTMWS2KWNVWh9GFAwgqlYJrMqhLxbg.webp"
            },
            {
                "id": 2,
                "card_id": 1,
                "name": "Gift Card 25 INR IN",
                "price": 0.42,
                "discount": 2,
                "discount_type": "percentage",
                "status": 1,
                "is_offered": 0,
                "offered_sell": 0,
                "max_sell": 0,
                "sort_by": 2,
                "old_data": null,
                "campaign_data": null,
                "created_at": "2024-08-17T05:20:36.000000Z",
                "updated_at": "2024-11-11T13:03:09.000000Z",
                "image_path": "https://bugfinder.net/assets/upload/card-service/jIWZPRKnzJ91k5KcI9SwKlWPsb8LKu.webp"
            },
            ...
        ]
    }
}
                                                        
123456789101112131415 1617181920212223242526
                                                                
{
    "status": "failed",
    "errors": "Something went wrong"
}
                                                            
                                                            
1234567891011121314

#获取卡片服务

要获取所有卡片服务列表,请参照示例代码操作,并注意参数。

Base Urlhttps://www.xoccia.com/api/

HTTP 方法: GET

API URL: https://www.xoccia.com/api/card/services

API 密钥: 将您的 bearer token 传递到授权头中 GET Bearer

响应格式: JSON


响应体

id: Service id

card_id: Card id

name: Service Name

price: The price of service

discount: The discount amount of service

discount_type: The discount amount type. 1.percentage 2.flat

is_offered: The service is in campaign or not. 1=> yes, 0=> not

offered_sell: The campaign sell of the service

max_sell: The campaign max sell limit of the service

old_data: The actual data before campaign

campaign_data: The campaign data of the service

created_at: Service Created date

updated_at: Service updated date

image_path: Service image path

                                                                
var request = require('request');
var options = {
  'method': 'GET',
  'url': 'BASE_URL/card/services',
  'headers': {
    'Authorization': 'YOUR_BEARER_TOKEN'
  }
};
request(options, function (error, response) {
  if (error) throw new Error(error);
  console.log(response.body);
});





                                                                
123456789101112131415 16 17181920212223242526

import requests

url = "BASE_URL/card/services"

payload = {}
headers = {
  'Authorization': 'YOUR_BEARER_TOKEN'
}

response = requests.request("GET", url, headers=headers, data=payload)

print(response.text)



123456789101112131415 1617181920212223242526

?php

$client = new Client();
$headers = [
  'Authorization' => 'YOUR_BEARER_TOKEN'
];
$request = new Request('GET', 'BASE_URL/card/services', $headers);
$res = $client->sendAsync($request)->wait();
echo $res->getBody();


                                                                
123456789101112131415 1617181920212223242526

curl --location 'BASE_URL/card/services' \
--header 'Authorization: YOUR_BEARER_TOKEN'
                                                                
123456789101112131415 1617181920212223242526

require "uri"
require "net/http"

url = URI("BASE_URL/card/services")

http = Net::HTTP.new(url.host, url.port);
request = Net::HTTP::Get.new(url)
request["Authorization"] = "YOUR_BEARER_TOKEN"

response = http.request(request)
puts response.read_body


123456789101112131415 1617181920212223242526

{
    "status": "success",
    "message": {
        "services": [
            {
                "id": 1,
                "card_id": 1,
                "name": "Honor of Kings 16 Tokens",
                "price": 2.9,
                "discount": 1,
                "discount_type": "percentage",
                "status": 1,
                "is_offered": 0,
                "offered_sell": 0,
                "max_sell": 0,
                "sort_by": 1,
                "old_data": null,
                "campaign_data": null,
                "created_at": "2025-03-03T09:27:53.000000Z",
                "updated_at": "2025-03-06T04:58:16.000000Z",
                "image_path": "http://192.168.0.123/gamers-arena/gamers/assets/upload/card-service/ksi6iDr9d26D82ZRlr0C3CK9JNpalL.webp"
            },
            {
                "id": 2,
                "card_id": 1,
                "name": "Honor of Kings 80 Tokens",
                "price": 2.45,
                "discount": 1,
                "discount_type": "percentage",
                "status": 1,
                "is_offered": 1,
                "offered_sell": 0,
                "max_sell": 0,
                "sort_by": 1,
                "old_data": null,
                "campaign_data": {
                    "price": "2.45",
                    "discount": "15",
                    "discount_type": "percentage",
                    "max_sell": "1000"
                },
                "created_at": "2025-03-03T09:28:28.000000Z",
                "updated_at": "2025-03-06T04:58:16.000000Z",
                "image_path": "http://192.168.0.123/gamers-arena/gamers/assets/upload/card-service/zEhj4vofwEQIWzzbpiMj5FeOkGzcpl.webp"
            },
            ....
        ]
    }
}
                                                        
123456789101112131415 1617181920212223242526
                                                                
{
    "status": "failed",
    "errors": "Something went wrong"
}
                                                            
                                                            
1234567891011121314

#按卡片获取服务

要获取卡片服务列表,请参照示例代码操作,并注意参数。

Base Urlhttps://www.xoccia.com/api/

HTTP 方法: GET

API URL: https://www.xoccia.com/api/card/services?card_id={card_id}

API 密钥: 将您的 bearer token 传递到授权头中 GET Bearer

响应格式: JSON


响应体

id: Service id

card_id: Card id

name: Service Name

price: The price of service

discount: The discount amount of service

discount_type: The discount amount type. 1.percentage 2.flat

is_offered: The service is in campaign or not. 1=> yes, 0=> not

offered_sell: The campaign sell of the service

max_sell: The campaign max sell limit of the service

old_data: The actual data before campaign

campaign_data: The campaign data of the service

created_at: Service Created date

updated_at: Service updated date

image_path: Service image path

                                                                
var request = require('request');
var options = {
  'method': 'GET',
  'url': 'BASE_URL/card/services?card_id=1',
  'headers': {
    'Authorization': 'YOUR_BEARER_TOKEN'
  }
};
request(options, function (error, response) {
  if (error) throw new Error(error);
  console.log(response.body);
});





                                                                
123456789101112131415 16 17181920212223242526

import requests

url = "BASE_URL/card/services?card_id=1"

payload = {}
headers = {
  'Authorization': 'YOUR_BEARER_TOKEN'
}

response = requests.request("GET", url, headers=headers, data=payload)

print(response.text)



123456789101112131415 1617181920212223242526

?php

$client = new Client();
$headers = [
  'Authorization' => 'YOUR_BEARER_TOKEN'
];
$request = new Request('GET', 'BASE_URL/card/services?card_id=1', $headers);
$res = $client->sendAsync($request)->wait();
echo $res->getBody();


                                                                
123456789101112131415 1617181920212223242526

curl --location 'BASE_URL/card/services?card_id=1' \
--header 'Authorization: YOUR_BEARER_TOKEN'
                                                                
123456789101112131415 1617181920212223242526

require "uri"
require "net/http"

url = URI("BASE_URL/card/services?card_id=1")

http = Net::HTTP.new(url.host, url.port);
request = Net::HTTP::Get.new(url)
request["Authorization"] = "YOUR_BEARER_TOKEN"

response = http.request(request)
puts response.read_body


123456789101112131415 1617181920212223242526

{
    "status": "success",
    "message": {
        "services": [
            {
                "id": 1,
                "card_id": 1,
                "name": "Honor of Kings 16 Tokens",
                "price": 2.9,
                "discount": 1,
                "discount_type": "percentage",
                "status": 1,
                "is_offered": 0,
                "offered_sell": 0,
                "max_sell": 0,
                "sort_by": 1,
                "old_data": null,
                "campaign_data": null,
                "created_at": "2025-03-03T09:27:53.000000Z",
                "updated_at": "2025-03-06T04:58:16.000000Z",
                "image_path": "http://192.168.0.123/gamers-arena/gamers/assets/upload/card-service/ksi6iDr9d26D82ZRlr0C3CK9JNpalL.webp"
            },
            {
                "id": 2,
                "card_id": 1,
                "name": "Honor of Kings 80 Tokens",
                "price": 2.45,
                "discount": 1,
                "discount_type": "percentage",
                "status": 1,
                "is_offered": 1,
                "offered_sell": 0,
                "max_sell": 0,
                "sort_by": 1,
                "old_data": null,
                "campaign_data": {
                    "price": "2.45",
                    "discount": "15",
                    "discount_type": "percentage",
                    "max_sell": "1000"
                },
                "created_at": "2025-03-03T09:28:28.000000Z",
                "updated_at": "2025-03-06T04:58:16.000000Z",
                "image_path": "http://192.168.0.123/gamers-arena/gamers/assets/upload/card-service/zEhj4vofwEQIWzzbpiMj5FeOkGzcpl.webp"
            },
            ....
        ]
    }
}
                                                        
123456789101112131415 1617181920212223242526
                                                                
{
    "status": "failed",
    "errors": "Something went wrong"
}
                                                            
                                                            
1234567891011121314

#订购卡片

要订购卡片,请参照示例代码操作,并注意参数。

Base Urlhttps://www.xoccia.com/api/

HTTP 方法: POST

API URL: https://www.xoccia.com/api/card/make-order

API 密钥: 将您的 bearer token 传递到授权头中 GET Bearer

响应格式: JSON


请求体参数

service_ids* array

The id of Card Service, Must be in array


quantities* array

The Quantity of each Service, Must be in array. Each quantity index value represent the same index number of service_ids quantity


                                                                
var request = require('request');
var options = {
  'method': 'POST',
  'url': 'BASE_URL/card/make-order',
  'headers': {
    'Content-Type': 'application/json',
    'Authorization': 'YOUR_BEARER_TOKEN'
  },
  body: JSON.stringify({
    "serviceIds": [
      1,
      2
    ],
    "quantity": [
      3,
      4
    ]
  })

};
request(options, function (error, response) {
  if (error) throw new Error(error);
  console.log(response.body);
});

                                                                
123456789101112131415 16 17181920212223242526

import requests
import json

url = "BASE_URL/card/make-order"

payload = json.dumps({
  "serviceIds": [
    1,
    2
  ],
  "quantity": [
    3,
    4
  ]
})
headers = {
  'Content-Type': 'application/json',
  'Authorization': 'YOUR_BEARER_TOKEN'
}

response = requests.request("POST", url, headers=headers, data=payload)

print(response.text)






123456789101112131415 1617181920212223242526

?php
$client = new Client();
$headers = [
  'Content-Type' => 'application/json',
  'Authorization' => 'YOUR_BEARER_TOKEN'
];
$body = '{
  "serviceIds": [
    1,
    2
  ],
  "quantity": [
    3,
    4
  ]
}';
$request = new Request('POST', 'BASE_URL/card/make-order', $headers, $body);
$res = $client->sendAsync($request)->wait();
echo $res->getBody();


                                                                
123456789101112131415 1617181920212223242526

curl --location 'BASE_URL/card/make-order' \
--header 'Content-Type: application/json' \
--header 'Authorization: YOUR_BEARER_TOKEN' \
--data '{
    "serviceIds": [1,2],
    "quantity": [3,4]
}'
                                                                
123456789101112131415 1617181920212223242526

require "uri"
require "json"
require "net/http"

url = URI("BASE_URL/card/make-order")

http = Net::HTTP.new(url.host, url.port);
request = Net::HTTP::Post.new(url)
request["Content-Type"] = "application/json"
request["Authorization"] = "YOUR_BEARER_TOKEN"
request.body = JSON.dump({
  "serviceIds": [
    1,
    2
  ],
  "quantity": [
    3,
    4
  ]
})

response = http.request(request)
puts response.read_body



123456789101112131415 1617181920212223242526

{
    "status": "success",
    "message": {
        "utr": "OGRMDQJ71VF6Q"
    }
}
                                                        
123456789101112131415 1617181920212223242526
                                                                
{
    "status": "failed",
    "errors": [
        "The service ids field is required.",
    ]
}
                                                            
                                                            
1234567891011121314

#获取卡片评论

要获取卡片评论列表,请参照示例代码操作,并注意参数。

Base Urlhttps://www.xoccia.com/api/

HTTP 方法: GET

API URL: https://www.xoccia.com/api/card/review?card_id={card_id}

API 密钥: 将您的 bearer token 传递到授权头中 GET Bearer

响应格式: JSON


响应体

id: Review id

user_id: Reviewed User ID

rating: Card rating. min value 1 max value 5

comment: Product rating comment

user: Who give the rating

status: Status 1 for published, 0 for holded

                                                                
var request = require('request');
var options = {
  'method': 'GET',
  'url': 'BASE_URL/card/review?card_id=9',
  'headers': {
    'Authorization': 'YOUR_BEARER_TOKEN'
  }
};
request(options, function (error, response) {
  if (error) throw new Error(error);
  console.log(response.body);
});





                                                                
123456789101112131415 16 17181920212223242526

import requests

url = "BASE_URL/card/review?card_id=9"

payload = {}
headers = {
  'Authorization': 'YOUR_BEARER_TOKEN'
}

response = requests.request("GET", url, headers=headers, data=payload)

print(response.text)



123456789101112131415 1617181920212223242526

?php

$client = new Client();
$headers = [
  'Authorization' => 'YOUR_BEARER_TOKEN'
];
$request = new Request('GET', 'BASE_URL/card/review?card_id=9', $headers);
$res = $client->sendAsync($request)->wait();
echo $res->getBody();


                                                                
123456789101112131415 1617181920212223242526

curl --location 'BASE_URL/card/review?card_id=9' \
--header 'Authorization: YOUR_BEARER_TOKEN'
                                                                
123456789101112131415 1617181920212223242526

require "uri"
require "net/http"

url = URI("BASE_URL/card/review?card_id=9")

http = Net::HTTP.new(url.host, url.port);
request = Net::HTTP::Get.new(url)
request["Authorization"] = "YOUR_BEARER_TOKEN"

response = http.request(request)
puts response.read_body


123456789101112131415 1617181920212223242526

{
    "status": "success",
    "message": {
        "reviews": [
            {
                "id": 5,
                "user_id": 1,
                "rating": 3,
                "comment": "Amazing product! Everything works flawlessly, and the convenience is unmatched. 70% satisfied!",
                "status": 1,
                "created_at": "2025-03-05T10:37:57.000000Z",
                "updated_at": "2025-03-05T10:37:57.000000Z",
                "user": {
                    "id": 1,
                    "firstname": "Demo",
                    "lastname": "User",
                    "image": "profileImage/fyT3Q7VjKDjvfYcuIXY4CqE2ob7DDP.webp",
                    "image_driver": "local",
                    "imgPath": "http://192.168.0.123/gamers-arena/gamers/assets/upload/profileImage/fyT3Q7VjKDjvfYcuIXY4CqE2ob7DDP.webp",
                    "LastSeenActivity": true,
                    "fullname": "Demo User"
                }
            },
            {
                "id": 10,
                "user_id": 29,
                "rating": 3,
                "comment": "Amazing product! Everything works flawlessly, and the convenience is unmatched. 70% satisfied!",
                "status": 1,
                "created_at": "2025-03-06T05:09:46.000000Z",
                "updated_at": "2025-03-06T05:09:46.000000Z",
                "user": {
                    "id": 29,
                    "firstname": "Angela",
                    "lastname": "Doyle",
                    "image": null,
                    "image_driver": null,
                    "imgPath": "http://192.168.0.123/gamers-arena/gamers/assets/admin/img/default.png",
                    "LastSeenActivity": false,
                    "fullname": "Angela Doyle"
                }
            },
            ....
        ],
        "pagination": {
            "total": 8,
            "per_page": 15,
            "current_page": 1,
            "last_page": 1,
            "next_page_url": null,
            "prev_page_url": null
        }
    }
}
                                                        
123456789101112131415 1617181920212223242526
                                                                
{
    "status": "failed",
    "errors": "Something went wrong"
}
                                                            
                                                            
1234567891011121314

#添加卡片评论

要对卡片进行评分,请参照示例代码操作,并注意参数。

Base Urlhttps://www.xoccia.com/api/

HTTP 方法: POST

API URL: https://www.xoccia.com/api/card/review

API 密钥: 将您的 bearer token 传递到授权头中 GET Bearer

响应格式: JSON


请求体参数

card_id* integer

The id of Card, Must be in integer positive value


rating* number

Must be in positive number between 1 to 5


comment* text

What was your experience


                                                                
var request = require('request');
var options = {
  'method': 'POST',
  'url': 'BASE_URL/card/review',
  'headers': {
    'Authorization': 'YOUR_BEARER_TOKEN'
  },
  formData: {
    'card_id': '9',
    'rating': '5',
    'comment': 'This is review'
  }
};
request(options, function (error, response) {
  if (error) throw new Error(error);
  console.log(response.body);
});






                                                                
123456789101112131415 16 17181920212223242526

import requests

url = "BASE_URL/card/review"

payload = {'card_id': '9',
'rating': '5',
'comment': 'This is review'}
files=[

]
headers = {
  'Authorization': 'YOUR_BEARER_TOKEN'
}

response = requests.request("POST", url, headers=headers, data=payload, files=files)

print(response.text)




123456789101112131415 1617181920212223242526

?php
$client = new Client();
$headers = [
  'Authorization' => 'YOUR_BEARER_TOKEN'
];
$options = [
  'multipart' => [
    [
      'name' => 'card_id',
      'contents' => '9'
    ],
    [
      'name' => 'rating',
      'contents' => '5'
    ],
    [
      'name' => 'comment',
      'contents' => 'This is review'
    ]
]];
$request = new Request('POST', 'BASE_URL/card/review', $headers);
$res = $client->sendAsync($request, $options)->wait();
echo $res->getBody();


                                                                
123456789101112131415 1617181920212223242526

curl --location 'BASE_URL/card/review' \
--header 'Authorization: YOUR_BEARER_TOKEN' \
--form 'card_id="9"' \
--form 'rating="5"' \
--form 'comment="This is review"'
                                                                
123456789101112131415 1617181920212223242526

require "uri"
require "net/http"

url = URI("BASE_URL/card/review")

http = Net::HTTP.new(url.host, url.port);
request = Net::HTTP::Post.new(url)
request["Authorization"] = "YOUR_BEARER_TOKEN"
form_data = [['card_id', '9'],['rating', '5'],['comment', 'This is review']]
request.set_form form_data, 'multipart/form-data'
response = http.request(request)
puts response.read_body



123456789101112131415 1617181920212223242526

{
    "status": "success",
    "message": "Review Added Successfully"
}
                                                        
123456789101112131415 1617181920212223242526
                                                                
{
    "status": "failed",
    "errors": [
        "The top up id field is required.",
        "The rating field is required.",
        "The comment field is required."
    ]
}
                                                            
                                                            
1234567891011121314

订单列表

#Top Up Order List

To get all the top up order list follow the example code and be careful with the parameters.

基础 URLhttps://www.xoccia.com/api/

HTTP 方法: GET

API URL: https://www.xoccia.com/api/get-topup/orders

API 密钥: 将您的 bearer token 传递到授权头中 GET Bearer

响应格式: JSON


响应体

utr: Unique order id

price: Order total amount

currency: Amount paid currency

状态: The status of the order. 0=>initiate, 1=>completed,2=>refund,3=>stock_short

informations: Top Up order information

review_user_info: User review

order_details: array of object. every service details of order

                                                                
var request = require('request');
var options = {
  'method': 'GET',
  'url': 'BASE_URL/topUp/order',
  'headers': {
    'Authorization': 'YOUR_BEARER_TOKEN'
  }
};
request(options, function (error, response) {
  if (error) throw new Error(error);
  console.log(response.body);
});





                                                                
123456789101112131415 16 17181920212223242526

import requests

url = "BASE_URL/topUp/order"

payload = {}
headers = {
  'Authorization': 'YOUR_BEARER_TOKEN'
}

response = requests.request("GET", url, headers=headers, data=payload)

print(response.text)



123456789101112131415 1617181920212223242526

?php

$client = new Client();
$headers = [
  'Authorization' => 'YOUR_BEARER_TOKEN'
];
$request = new Request('GET', 'BASE_URL/topUp/order', $headers);
$res = $client->sendAsync($request)->wait();
echo $res->getBody();


                                                                
123456789101112131415 1617181920212223242526

curl --location 'BASE_URL/topUp/order' \
--header 'Authorization: YOUR_BEARER_TOKEN'
                                                                
123456789101112131415 1617181920212223242526

require "uri"
require "net/http"

url = URI("BaseURL/topUp/order")

http = Net::HTTP.new(url.host, url.port);
request = Net::HTTP::Get.new(url)
request["Authorization"] = "YOUR_BEARER_TOKEN"

response = http.request(request)
puts response.read_body


123456789101112131415 1617181920212223242526

{
    "status": "success",
    "message": {
        "current_page": 1,
        "data": [
            {
                "utr": "O8NYH38WAQW8B",
                "price": 54,
                "currency": "USD",
                "symbol": "$",
                "status": "Wait Sending",
                "dateTime": "2025-03-05T11:59:52.000000Z",
                "order_details": [
                    {
                        "utr": "O8NYH38WAQW8B",
                        "rating": 5,
                        "image": "http://192.168.0.123/gamers-arena/gamers/assets/upload/top-up-service/yRvTZ7P5wwOeDGE2YdCQJMk9SytjiD.webp",
                        "discount": 54,
                        "quantity": 1,
                        "name": "Arena Breakout: Infinite Top Up",
                        "service": "500 +10 Bonds",
                        "base_price": 108,
                        "currency": "USD",
                        "symbol": "$",
                        "slug": "arena-breakout-infinite-top-up"
                    }
                ],
                "review_user_info": [
                    {
                        "review": {
                            "comment": "Amazing product! Everything works flawlessly, and the convenience is unmatched. 100% satisfied!",
                            "rating": 5,
                            "status": "active"
                        }
                    }
                ],
                "informations": {
                    "Server ID": "server-5878",
                    "Server Name": "America"
                }
            },
            ....
        ],
        "first_page_url": "http://192.168.0.123/gamers-arena/gamers/api/topUp/order?page=1",
        "from": 1,
        "last_page": 1,
        "last_page_url": "http://192.168.0.123/gamers-arena/gamers/api/topUp/order?page=1",
        "links": [
            {
                "url": null,
                "label": "« Previous",
                "active": false
            },
            {
                "url": "http://192.168.0.123/gamers-arena/gamers/api/topUp/order?page=1",
                "label": "1",
                "active": true
            },
            {
                "url": null,
                "label": "Next »",
                "active": false
            }
        ],
        "next_page_url": null,
        "path": "http://192.168.0.123/gamers-arena/gamers/api/topUp/order",
        "per_page": 10,
        "prev_page_url": null,
        "to": 7,
        "total": 7
    }
}
                                                        
123456789101112131415 1617181920212223242526
                                                                
{
    "status": "failed",
    "errors": "Something went wrong"
}
                                                            
                                                            
1234567891011121314

#Card Order List

To get all the card order list follow the example code and be careful with the parameters.

Base Urlhttps://www.xoccia.com/api/

HTTP 方法: GET

API URL: https://www.xoccia.com/api/get-card/orders

API 密钥: 将您的 bearer token 传递到授权头中 GET Bearer

响应格式: JSON


响应体

utr: Unique order id

price: Order total amount

currency: Amount paid currency

状态: The status of the order. 0=>initiate, 1=>completed,2=>refund,3=>stock_short

informations: Top Up order information

review_user_info: User review

order_details: array of object. every service details of order

                                                                
var request = require('request');
var options = {
  'method': 'GET',
  'url': 'BASE_URL/card/order',
  'headers': {
    'Authorization': 'YOUR_BEARER_TOKEN'
  },
  formData: {

  }
};
request(options, function (error, response) {
  if (error) throw new Error(error);
  console.log(response.body);
});





                                                                
123456789101112131415 16 17181920212223242526

import requests

url = "BASE_URL/card/order"

payload = {}
files={}
headers = {
  'Authorization': 'YOUR_BEARER_TOKEN'
}

response = requests.request("GET", url, headers=headers, data=payload, files=files)

print(response.text)



123456789101112131415 1617181920212223242526

?php

$client = new Client();
$headers = [
  'Authorization' => 'YOUR_BEARER_TOKEN'
];
$request = new Request('GET', 'BASE_URL/card/order', $headers);
$res = $client->sendAsync($request)->wait();
echo $res->getBody();

                                                                
123456789101112131415 1617181920212223242526

curl --location 'BASE_URL/card/order' \
--header 'Authorization: YOUR_BEARER_TOKEN'
                                                                
123456789101112131415 1617181920212223242526

require "uri"
require "net/http"

url = URI("BASE_URL/card/order")

http = Net::HTTP.new(url.host, url.port);
request = Net::HTTP::Get.new(url)
request["Authorization"] = "YOUR_BEARER_TOKEN"
form_data = []
request.set_form form_data, 'multipart/form-data'
response = http.request(request)
puts response.read_body


123456789101112131415 1617181920212223242526

{
    "status": "success",
    "message": {
        "current_page": 1,
        "data": [
            {
                "utr": "ONS8GNE4BJ884",
                "price": 34.48,
                "currency": "USD",
                "symbol": "$",
                "status": "Complete",
                "dateTime": "2025-03-05T12:02:42.000000Z",
                "order_details": [
                    {
                        "utr": "ONS8GNE4BJ884",
                        "id": 6,
                        "rating": 0,
                        "image": "http://192.168.0.123/gamers-arena/gamers/assets/upload/card-service/6xEzC2ACZMVChJHteBLNUAF6R63vHJ.webp",
                        "card": "Flexepin (CA)",
                        "slug": "flexepin-ca",
                        "service": "Flexepin 20 CAD",
                        "base_price": 12.62,
                        "currency": "USD",
                        "symbol": "$",
                        "discount": 0.38,
                        "quantity": 1,
                        "card_codes": [
                            "FP8796545425"
                        ],
                        "stock_short": "You have 0 more code in wait sending list"
                    },
                    {
                        "utr": "ONS8GNE4BJ884",
                        "id": 10,
                        "rating": 0,
                        "image": "http://192.168.0.123/gamers-arena/gamers/assets/upload/card-service/CYspHPxUYfl9xXkB8YMJRPwyPm9r2t.webp",
                        "card": "Netflix Gift Card (MY)",
                        "slug": "netflix-gift-card-my",
                        "service": "Netflix 521 300 Here",
                        "base_price": 50,
                        "currency": "USD",
                        "symbol": "$",
                        "discount": 40,
                        "quantity": 1,
                        "card_codes": [
                            "NF65315251"
                        ],
                        "stock_short": "You have 0 more code in wait sending list"
                    }
                ],
                "review_user_info": [
                    {
                        "review": {
                            "comment": null,
                            "rating": null,
                            "status": "inactive"
                        }
                    },
                    {
                        "review": {
                            "comment": null,
                            "rating": null,
                            "status": "inactive"
                        }
                    }
                ],
                "informations": []
            },
            ....
        ],
        "first_page_url": "http://192.168.0.123/gamers-arena/gamers/api/card/order?page=1",
        "from": 1,
        "last_page": 1,
        "last_page_url": "http://192.168.0.123/gamers-arena/gamers/api/card/order?page=1",
        "links": [
            {
                "url": null,
                "label": "« Previous",
                "active": false
            },
            {
                "url": "http://192.168.0.123/gamers-arena/gamers/api/card/order?page=1",
                "label": "1",
                "active": true
            },
            {
                "url": null,
                "label": "Next »",
                "active": false
            }
        ],
        "next_page_url": null,
        "path": "http://192.168.0.123/gamers-arena/gamers/api/card/order",
        "per_page": 10,
        "prev_page_url": null,
        "to": 10,
        "total": 10
    }
}
                                                        
123456789101112131415 1617181920212223242526
                                                                
{
    "status": "failed",
    "errors": "Something went wrong"
}
                                                            
                                                            
1234567891011121314

Campaign

#Get Campaign

To get campaign list follow the example code and be careful with the parameters.

基础 URLhttps://www.xoccia.com/api/

HTTP 方法: GET

API URL: https://www.xoccia.com/api/get-campaign

API 密钥: 将您的 bearer token 传递到授权头中 GET Bearer

响应格式: JSON


响应体

id: campaign id

名称: campaign name

start_date: when campaign start

end_date: when campaign end

topups: the list of top up services for campaign

cards: the list of card services for campaign

                                                                
var request = require('request');
var options = {
  'method': 'GET',
  'url': 'BASE_URL/get-campaign',
  'headers': {
    'Authorization': 'YOUR_BEARER_TOKEN'
  }
};
request(options, function (error, response) {
  if (error) throw new Error(error);
  console.log(response.body);
});





                                                                
123456789101112131415 16 17181920212223242526

import requests

url = "BASE_URL/get-campaign"

payload = {}
headers = {
  'Authorization': 'YOUR_BEARER_TOKEN'
}

response = requests.request("GET", url, headers=headers, data=payload)

print(response.text)



123456789101112131415 1617181920212223242526

?php

$client = new Client();
$headers = [
  'Authorization' => 'YOUR_BEARER_TOKEN'
];
$request = new Request('GET', 'BASE_URL/get-campaign', $headers);
$res = $client->sendAsync($request)->wait();
echo $res->getBody();


                                                                
123456789101112131415 1617181920212223242526

curl --location 'BASE_URL/get-campaign' \
--header 'Authorization: YOUR_BEARER_TOKEN'
                                                                
123456789101112131415 1617181920212223242526

require "uri"
require "net/http"

url = URI("BASE_URL/get-campaign")

http = Net::HTTP.new(url.host, url.port);
request = Net::HTTP::Get.new(url)
request["Authorization"] = "YOUR_BEARER_TOKEN"

response = http.request(request)
puts response.read_body


123456789101112131415 1617181920212223242526

{
    "status": "success",
    "message": {
        "campaign": {
            "id": 1,
            "name": "Flash Deal",
            "start_date": "2025-03-06",
            "end_date": "2025-03-31",
            "status": 1,
            "created_at": "2025-03-06T04:58:14.000000Z",
            "updated_at": "2025-03-06T04:58:14.000000Z",
            "topups": [
                {
                    "id": 1,
                    "top_up_id": 2,
                    "name": "MICO Live 88 Coins",
                    "price": 2.8,
                    "discount": 5,
                    "discount_type": "percentage",
                    "status": 1,
                    "offered_sell": 0,
                    "max_sell": 0,
                    "old_data": null,
                    "campaign_data": {
                        "price": "2.8",
                        "discount": "8",
                        "discount_type": "percentage",
                        "max_sell": "1000"
                    },
                    "created_at": "2025-03-04T09:57:49.000000Z",
                    "updated_at": "2025-03-06T04:58:15.000000Z",
                    "image_path": "http://192.168.0.123/gamers-arena/gamers/assets/upload/top-up-service/EOPdhKAMgfaPhI1VxN30StKN3xytZI.webp"
                },
                ....
            ],
            "cards": [
                {
                    "id": 2,
                    "card_id": 1,
                    "name": "Honor of Kings 80 Tokens",
                    "price": 2.45,
                    "discount": 1,
                    "discount_type": "percentage",
                    "status": 1,
                    "offered_sell": 0,
                    "max_sell": 0,
                    "old_data": null,
                    "campaign_data": {
                        "price": "2.45",
                        "discount": "15",
                        "discount_type": "percentage",
                        "max_sell": "1000"
                    },
                    "created_at": "2025-03-03T09:28:28.000000Z",
                    "updated_at": "2025-03-06T04:58:16.000000Z",
                    "image_path": "http://192.168.0.123/gamers-arena/gamers/assets/upload/card-service/zEhj4vofwEQIWzzbpiMj5FeOkGzcpl.webp"
                },
                ....
            ]
        }
    }
}
                                                        
123456789101112131415 1617181920212223242526
                                                                
{
    "status": "failed",
    "errors": "Something went wrong"
}
                                                            
                                                            
1234567891011121314