Начать беседу

Введение в MLM Soft API

Cтруктура запросов

URL

схема://хост/шлюз/сущность/метод?параметры

Пример: http://api2.dev/main-app/payment-system/fill-up/start

В данном примере:

  • http - схема
  • api2.dev - хост
  • main-app - шлюз. Шлюз определяет тип пользователя (main-app - запросы идут от подсистемы MainApp)
  • payment-system - сущность
  • fill-up/start - метод. Наименование метода может быть составным как в данном примере (содержит слэши)

Допустимые типы методов

GET, POST, DELETE

Заголовки запросов (headers)

Завсят от шлюза. См. описание соответствующего шлюза

Локаль

В каждом запросе можно указать язык, на котором будут возвращены сообщения об ошибках и информационные сообщения. Для этого нужно в заголовок запроса добавить параметр `locale`. Значения этого параметра: en_US, ru_RU и т.п.

Пример заголовка

Token:123
Content-Type:application/json
App-ID:1
Locale:en_US

Тело запроса

Пример тела запроса

{  
 "accountId":1,  
 "walletType""USDWallet", 
 "paymentSystem""CardPayGo", 
 "amount": 1,  
 "description""test",
 "context": {   
  "user_id""22", 
  "user_class""admin"  
  }
}

Структура ответа

Поле Тип Описание Пример
errorCode
Integer Код ошибки.
 0 - ошибки нет
 
errorMessage
string Описание ошибки  
primary
Goal Основная цель. Если основная цель достигнута, то запрос считается успешным.
 Описание типа Goal см.ниже
Создание учетной записи пользователя в таблице User
secondary
Goal[] Массив результатов достижения дополнительных целей.
  • Сохранение профиля в таблице Profile в случае, если данные для этого были переданы
  • Сохранение изображения пользователя, если оно было передано
locale
string Локаль, определяющая язык, на котором будут возвращения сообщения. Локаль можно указать в заголовке запроса (см. выше). По умолчанию локаль определяется настроечным параметром системы `defaultLanguage`. Допустимые локали указаны в таблице `language`. Переводы хранятся в таблицах `source_message` и `message`. Модифицировать переводы можно в соответствующем разделе админки системы  

Тип Goal

Поле Тип Описание
message
string Любая строка.
errors
object[] Массив объектов сообщений об ошибках. Каждый объект содержит поля `code` и `message`
debug
string[] Массив строк. Используется в режиме отладки
payload
object Объект, содержащий значимую информацию в случае успешного выполнения операции
success
bool Флаг достижения цели


Пример ответа успешной операции

{    
   "errorCode": 0,    
    "errorMessage"null,  
   "primary": {      
       "success"true,    
       "message""",    
       "payload": {       
           "paymentBillId": 114,      
           "amount": 1,            
           "currencyId""USD",  
           "requestThrough": 1,      
           "redirectUrl"""     
       },        
       "errors": [],  
       "debug": []   
   },    
   "secondary": [],  
   "locale""en_US"
}


Пример ответа с ошибкой

{    
    "errorCode": 404,  
    "errorMessage""Page not found.", 
    "primary": {      
        "success"false,      
        "message""",      
        "payload"null,      
        "errors": [],        
        "debug": []    
    },    
    "secondary": [],    
    "locale""en_US"
}


Еще один пример ответа с ошибкой

{    
     "errorCode": 500,    
     "errorMessage""Validation error", 
     "primary": {        
         "success"false,       
         "message""",        
         "payload"null,       
         "errors": [            
             {                
                  "code"null,            
                  "message""Account Id cannot be blank."  
             }       
         ],        
         "debug": []    
     },    
     "secondary": [],    
     "locale""en_US"
}
Выберите файлы или перетащите файлы
Была ли эта статья Вам полезна?
Да
Нет
  1. Daria Tsirelnikova

  2. Опубликовано
  3. Обновлено

Комментарии