# VPlatform API Reference
## REST VRich Server To VPlatform
### Note
```
ในส่วนนี้จะมีการเพิ่ม API KEY ในภายหลัง
```
---
### Register Shop
`POST` https://server-dev.vlineapp.com/shop
Example Request
```json
{
"code": "acb",
"tiktokUsername": "exampleUsername"
"displayName": "My Shop 001"
}
```
Example Response
```json
{
"result": {
"id": "3",
"code": "zcx",
"displayName": "My Shop 001",
"tiktokUsername": "exampleUsername",
"facebookId": null,
"status": "ACTIVE",
"updatedAt": "2021-11-24T08:39:06.602Z",
"createdAt": "2021-11-24T08:39:06.602Z"
}
}
```
หลังจาก Register Shop สามาถตรวจสอบ ได้ที่
https://office-dev.vlineapp.com/Shop
---
### Update Shop Stock
`PUT` https://server-dev.vlineapp.com/shop/{code}/stock
Example Request
```json
{
"stockId": ["f01","f02"]
}
```
Example Response
```json
{
"success" : true
}
```
---
### Get Shop Stock
`GET` https://server-dev.vlineapp.com/shop/{code}/stock
Example Response
```json
{
"result" : ["f01","f02"]
}
```
---
### Get Shop Token for chat
`GET` https://server-dev.vlineapp.com/shop/{code}/token
Example Response
```json
{
"token" : "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJyb2xlIjoic2hvcCIsImNvZGUiOiJhYmRldiIsInRva2VuVmVyc2lvbiI6IjFkNTdiMzJjMWE3Y2ZjOTBiMjhiMWEwZWY2MTIzNzVlIiwiaWF0IjoxNjM3ODE0NDE3LCJleHAiOjE2NDA0MDY0MTd9.THWROV7tz1WJsx4n6hU7Wy6mk_OpXCLK4Q8W1Hco_4Q"
}
```
---
### Get Shop Profile
`GET` https://server-dev.vlineapp.com/shop/{code}/profile
Example Response
```json
{
"id": "1",
"code": "abdev",
"status": "ACTIVE",
"tiktokUsername": "pigrabb_b",
"facebookId": null,
}
```
---
### Collect Order Detail
***Note โครงเบื้องต้น
`POST` https://server-dev.vlineapp.com/message/{code}/order
Example Request
```json
{
"customerId": 123,
"type": "ORDER_DETAIL", // [ORDER_DETAIL, ORDER_TRACKING, ORDER_CONFIRM]
"detail" : {
"message" : "https://shopCode.example.com/order?id=1"
// สามารถใส่เพิ่มเติมได้
}
}
```
Example Response
```json
{
"result": {
"id": "3",
"code": "zcx",
"customerId": 123,
"facebookId": null,
"status": "ACTIVE",
"updatedAt": "2021-11-24T08:39:06.602Z",
"createdAt": "2021-11-24T08:39:06.602Z"
}
}
```
---
## REST VPlatform To VRich Server
### Send Live Messages
`Medthod` POST
Example Request
```json=
{
"messages" : [
{
"shopCode" : "test",
"message" : "cf01 = 1",
"customerId" : 123,
"tiktokUsername" : "sadfasd",
"displayName" : "test"
},
{
"shopCode" : "test",
"message" : "cf01 = 1",
"customerId" : 123,
"tiktokUsername" : "sadfasd",
"displayName" : "test"
}
]
}
```
---
## Websocket VRich Client to VPlatform(listener)
### Connect WebSocket
`Address` https://server-dev.vlineapp.com
`path` /secure
`token` required
Query Example
```json=
{
"token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJyb2xlIjoidXNlciIsImlkIjoiMSIsInVzZXJuYW1lIjoiY3VzdG9tZXIwNSIsInRva2VuVmVyc2lvbiI6IjVlODc0MTU2NzdiMGMxMDIzZTg5MTU2Yjk1MzRiMGNlIiwiaWF0IjoxNjM3Mzg5MjI3LCJleHAiOjE2Mzk5ODEyMjd9.OILSlaVt6EUmU8TFRDSxYezWgdI8DGHc6zQ9HjV9Nys",
},
```
---
### Event Send Message
#### emit: sendMessage
#### listen: message
Example Request
```json=
{
"targetId": 1,
"type": "TEXT",
"channel": "VRICH",
"content": "ab", // text string
"senderMsgId": 1626332400000, // for frontend check message was sent
}
```
Example Response
```json=
{
"shopMsg": false, // boolean
"tstamp": "2021-11-12T08:42:45.665Z",
"type": "TEXT", // "TEXT", "IMAGE"
"channel": "VRICH", // "VTIKTOK", "VRICH", "TIKTOK"
"content": "ab", // string
"CustomerId": 1,
"ShopId": 1,
"senderMsgId": 1626332400000
}
```
---
### Event Send Image
#### emit: sendMessage
#### listen: message
Example Request
```json=
{
"targetId": 1,
"type": "IMAGE",
"channel": "VRICH",
"content": '{"originalContentUrl":"https://example.com/original.jpg","previewImageUrl":"https://example.com/preview.jpg"}' // JSON.stringify
"senderMsgId": 1626332400000, // for frontend check message was sent
}
```
Example Response
```json=
{
"shopMsg": false,
"tstamp": "2021-11-12T08:42:45.665Z",
"type": "IMAGE",
"channel": "VTIKTOK",
"content": '{"originalContentUrl":"https://example.com/original.jpg","previewImageUrl":"https://example.com/preview.jpg"}',
"CustomerId": 1,
"ShopId": 1,
"senderMsgId": 1626332400000
}
```
---
### Event Get Messages
#### emit: getMessages
#### listen: getMessages
Example Request
```json=
{
"targetId": 1,
"cursor": 1639723533336, //timestamp | undefined
"limit": 5 //number | undefined
}
```
Example Response
```json=
[
{
"id": 1,
"shopMsg": false,
"tstamp": "2021-11-12T08:42:45.665Z",
"type": "TEXT",
"channel": "VTIKTOK",
"content": "ab",
"CustomerId": 1,
"ShopId": 1,
"senderMsgId": 1626332400000
}
]
```
---
### Event Get Preview Messages
#### emit: getPreviewMsgs
#### listen: getPreviewMsgs
Example Request
```json=
{
"cursor": 1639723533336, //timestamp | undefined
"limit": 5 //number | undefined
}
```
Example Response
```json=
[
{
"id": "1",
"ShopId": "1",
"CustomerId": "1",
"shopLatestReadId": "138",
"cusLatestReadId": "139",
"latestMsgId": "139",
"updatedAt": "2021-11-30T02:52:16.497Z",
"type": "TEXT",
"content": "test Message",
"shopCode": "acb",
"shopDisplayName": "acb display name",
"cusDisplayName": "customer05",
"cusImageUrl": "https://lh3.googleusercontent.com/a/AATXAJwP21TUhu6615Vl0b2cSUrYg83DL-pQ7EE_SmC0=s96-c",
"tstamp": "2022-01-10T09:29:53.458Z",
"cusTiktokUsername": "asd" // string | null
}
]
```
---