---
# System prepended metadata

title: AutoSystem API

---

# AutoSystem API
AutoSystem.io provides a simple and efficient integration platform to take many gaming suppliers through a single API for your casino operations. 

# Table of Contents

* [Introduction to Document](#AutoSystem-API)
* [Security Implementation](#Security-Implementation)
* [API Endpoint](#API-Endpoint)
* [IP Restrictions](#IP-Restrictions)
* [API - Seamless Cloud](#API---Seamless-Cloud)
* [Response Code](#Response-Code)
* [Example Code](#Example-Code)

# Security Implementation

Before sending or calling to our API Endpoint, Request IP **"Your IP"** must whitelist in our system
Can whitelist  in Back office with "API Manage"

> HTTP header required



| Field | Example Value | Description |
| -------- | -------- | -------- |
| operator-token     | Token1234     | Operator verify token     |
| secret-key     | Secret1234     | Secret key verify token is valid     |


# API Endpoint

You need to **"Whitelist your IP"** first before can send any request to our API endpoint

| URL | Environment | Status |
| -------- | -------- | -------- |
| https://api-prod.autosystem.io/api    | Production Environment     | Active     |

# IP Restrictions

All APIs are only available for the IP provided by Whitelist IP in Back office

# API - Seamless Cloud

## User Manage
> Create User, Get User Information or wallet information

### Create User

> Example request:


HTTP method: **POST**
URL: **{{ endpoint }}/user/create**

```
{
    "userName": "Test12345",
    "name": "John Doe",
    "registeredIp": "127.0.0.1"
}
```

> Example response

```
{
    "code": 0,
    "msg": "success"
}
```

### Get User Info

> Example request:
> HTTP method: GET
> URL: {{ url }}/user/info/{userName}

> Example response

```
{
    "code": 0,
    "msg": "success",
    "data": {
        "userName": "GPGTest12345",
        "systemUser": "Test12345",
        "name": "John Doe",
        "locked": 0,
        "active": 1,
        "registeredIp": "127.0.0.1",
        "registeredDomain": "autosystem.io",
        "createdAt": "2022-01-01 00:00:00",
        "updatedAt": "2022-01-01 00:00:00",
        "wallet": {
            "balance": 0,
            "lockedBalance": 0,
            "currencyCode": "THB"
        }
    }
}
```

### Get Wallet

> Example request:
> HTTP method: GET
> URL: {{ url }}/user/wallet/{userName}

> Example response

```
{
    "code": 0,
    "msg": "success",
    "data": {
        "balance": 0,
        "lockedBalance": 0,
        "currencyCode": "THB"
    }
}
```

## Game Manage
> Get platform and Game list with information

### Launch Game

> Example request:
> 
HTTP method: **POST**
URL: **{{ endpoint }}/platform/login**

```
{
    "userName": "Test1234",
    "gameCode": "SAL",
    "mobile": 0,
    "ip": "127.0.0.1",
    "returnUrl": "https://google.com"
}
```

> Example response

```
{
    "code": 0,
    "msg": "success",
    "data": {
        "gameUrl": "https://exmaple.com/game?token=TestToken1234"
    },
    "count": 1
}
```



---


### Get Platform

> Example request:

HTTP method: GET
URL: {{ url }}/platform

> Example response

```
{
    "code": 0,
    "msg": "success",
    "data": [
        {
            "platformId": 1,
            "platformName": "SA Gaming",
            "platformCode": "SA",
            "carryForward": 0,
            "value": "100.00",
            "outstanding": "0.00"
        }
        ...
    ],
    "count": 1
}
```



---


### Get Game

> Example request:


HTTP method: GET
URL: {{ url }}/platform/game?platformId={platformId}

> Example response

```
{
    "code": 0,
    "msg": "success",
    "data": [
        {
            "gameId": 30,
            "gameCategory": 2,
            "gameName": "SA Gaming",
            "gameCode": "SAL",
            "bannerUrl": null,
            "describe": null,
            "recommend": 0,
            "popular": 0,
            "demo": 0,
            "active": 1
        }
        ...
    ],
    "count": 1
}
```

## Fund Manage

### Credit

> Example request:
> 
HTTP method: **POST**
URL: **{{ endpoint }}/fund/credit**

```
{
    "userName": "Test1234",
    "amount": 10,
    "txnId": "CREDIT1013245",
    "remark": "",
}
```

> Example response

```
{
    "code": 0,
    "msg": "success",
    "data": [
        "balance": 10
    ]
}
```

### Debit

> Example request:
> 
HTTP method: **POST**
URL: **{{ endpoint }}/fund/debit**

```
{
    "userName": "Test1234",
    "amount": 10,
    "txnId": "CREDIT1013245",
    "remark": "",
}
```

> Example response

```
{
    "code": 0,
    "msg": "success",
    "data": [
        "balance": 0
    ]
}
```

### Get Fund History

> Example request:


HTTP method: **GET**
URL: **{{ endpoint }}/fund/history?type={type}&userName={userName}&startDate=2021-01-01&endDate=2021-01-02**

> Example response

```
{
    "code": 0,
    "msg": "success",
    "data": [],
    "count": 0
}
```

# Response Code

Our API will response with JSON format and following fields

| Response Code | Message | Description |
| -------- | -------- | -------- |
| 0     | success     | Operation Successful     |
| 404     | not found     | HTTP not found     |
| 405     | method not allowed     | HTTP method not allowed     |
| 1000     | invalid parameters     | Parameter Error     |
| 1001     | request body must be json format     | Request content must be JSON format     |
| 1002     | ip not in whitelist     | Request IP not whitelist     |
| 1003     | operator token is incorrect     | Operator Token not found or invalid     |
| 1004     | operator access denied     | Operator invalid request type     |
| 1005     | many requests     | Flooding request to API endpoint     |
| 1006     | user exist     | Create user failed, Username already exist |
| 1007     | game maintenance     | Game Under Maintenance |
| 1008     | launch game failed     | Launch Game Failed |
| 1009     | operator credit not enought     | Credit to user failed, Operator credit not enought |
| 1010     | user credit not enought     | User credit not enought |
| 1011     | game not found     | Game not found     |
| 1012     | user not found     | User not found     |
| 9999     | system error     | Database error, Operation failed     |


# Example Code

* [PHP Demo](https://github.com/babylongplay/ats-php-demo)
* [NodeJS Demo](https://github.com/babylongplay/ats-nodejs-demo)
* [GOLANG Demo](https://github.com/babylongplay/ats-golang-demo)