go run main.go (localhost:7788) Подключение по ip локальной wi-fi сети
- Регистрация
{
"action":"register",
"data":{
"login":"MY_LOGIN",
"pass":"MD5_FROM_PASS",
"nick":"NICKNAME"
}
}- Авторизация
{
"action":"auth",
"data":{
"login":"MY_LOGIN",
"pass":"MD5_FROM_PASS"
}
}- Запросить информацию о пользователе
{
"action":"userinfo",
"data": {
"user":"USER_ID",
"cid":"MY_USER_ID",
"sid":"MY_SESSION_ID"
}
}- Запрос контакт листа
{
"action":"contactlist",
"data": {
"cid":"MY_USER_ID",
"sid":"MY_SESSION_ID"
}
}- Добавление в контакт лист
{
"action":"addcontact",
"data": {
"uid":"USER_ID",
"cid":"MY_USER_ID",
"sid":"MY_SESSION_ID"
}
}- Удаление из контакт листа
{
"action":"delcontact",
"data": {
"uid":"USER_ID",
"cid":"MY_USER_ID",
"sid":"MY_SESSION_ID"
}
}- Отправка сообщения
{
"action":"message",
"data": {
"cid":"MY_USER_ID",
"sid":"MY_SESSION_ID",
"uid":"USER_ID",
"body":"MESSAGE",
"attach": {
"mime":"MIME_TYPE_OF_ATTACH",
"data":"BASE64_OF_ATTACH"
}
}
}- Импорт контактов
{
"action":"import",
"data":{
"contacts":[
{
"myid":"MY_ID",
"name":"NAME",
"phone":"PNONE",
"email":"EMAIL"
},
{
"myid":"MY_ID",
"name":"NAME",
"phone":"PNONE",
"email":"EMAIL"
}
]
}
}- Изменить свою информацию
{
"action":"setuserinfo",
"data": {
"user_status":"STATUS_STRING",
"cid":"MY_USER_ID",
"sid":"MY_SESSION_ID"
"email":"EMAIL",
"phone":"PHONE",
"picture":"BASE64_SMALL_PIC"
}
}
## Ответы сервера на клиент
1. Welcome сообщение приходит при конекте к серверу
```json
{
"action":"welcome",
"message": "WELCOME_TEXT",
"time":UNIXTIMESTAMP
}- Ответ на авторизацию
{
"action":"auth",
"data":{
"status":[0-9]+,
"error":"TEXT_OF_ERROR",
"sid":"SESSION_ID",
"uid":"USER_ID"
}
}- Ответ на регистрацию
{
"action":"register",
"data":{
"status":[0-9]+,
"error":"TEXT_OF_ERROR"
}
}- Ответ на запрос информации о пользователе
{
"action":"userinfo",
"data":{
"status":[0-9]+,
"error":"TEXT_OF_ERROR",
"nick":"NICKNAME",
"email":"EMAIL",
"phone":"PHONE",
"picture":"BASE64_SMALL_PIC"
"user_status":"STATUS_STRING"
}
}- Ответ на запрос контакт листа
{
"action":"contactlist",
"data":{
"status":"[0-9]+",
"error":"TEXT_OF_ERROR",
"list":[
{
"myid":"YOUR_ID",
"uid":"UID",
"nick":"NICK NAME",
"email":"EMAIL",
"phone":"PHONE",
"picture":"BASE64_SMALL_PIC"
},
{
"myid":"YOUR_ID",
"uid":"UID",
"nick":"NICK NAME",
"email":"EMAIL",
"phone":"PHONE",
"picture":"BASE64_SMALL_PIC"
},
]
}
}- Добавление контакта
{
"action":"addcontact",
"data": {
"status":"[0-9]+",
"error":"TEXT_OF_ERROR",
"user":{
"uid":"UID",
"nick":"NICK NAME",
"email":"EMAIL",
"phone":"PHONE"
}
}
}- Удаление контакта
{
"action":"delcontact",
"data": {
"status":"[0-9]+",
"error":"TEXT_OF_ERROR",
"uid":"UID"
}
}- Импорт контактов
{
"action":"import",
"data":{
"status":"[0-9]+",
"error":"TEXT_OF_ERROR",
"list":[
{
"myid":"YOUR_ID",
"uid":"UID",
"nick":"NICK NAME",
"email":"EMAIL",
"phone":"PHONE"
},
{
"myid":"YOUR_ID",
"uid":"UID",
"nick":"NICK NAME",
"email":"EMAIL",
"phone":"PHONE"
},
]
}
}- Изменить свою информацию
{
"action":"setuserinfo",
"data":{
"status":[0-9]+,
"error":"TEXT_OF_ERROR"
}
} - Отправка сообщения
{
"action":"message",
"data":{
"status":"[0-9]+",
"error":"TEXT_OF_ERROR"
}
}- Новое сообщение
{
"action":"ev_message",
"data":{
"from":"USER_ID",
"nick":"NICKNAME",
"body":"TEXT_OF_MESSAGE",
"time":"TIMESPAMT",
"attach": {
"mime":"MIME_TYPE_OF_ATTACH",
"data":"BASE64_OF_ATTACH"
}
}
}// Error codes
const (
ErrOK = 0 // All OK
ErrAlreadyExist = 1 // Login or Nickname already exist
ErrInvalidPass = 2 // Invalid login or password
ErrInvalidData = 3 // Invalid JSON
ErrEmptyField = 4 // Empty Nick, Login, Password or Channel
ErrAlreadyRegister = 5 // User is already registered
ErrNeedAuth = 6 // User has to auth
ErrNeedRegister = 7 // User has to register
ErrUserNotFound = 8 // User not found by uid
)