NAV Navbar
  • Введение
  • Авторизация приложения
  • (281) 870-5943
  • Модуль управления товарами
  • Модуль учета транзакций
  • Введение

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

    Существует 4 базовых структуры мета данных, которые будут чередоваться в зависимости от типа запроса. В дальнейшем, тип мета-ответа будет указан в описании url

    Ниже преведен примерный, обзорный ответ для каждого из типов:

    Ответ с ошибкой

    Базовый мета-ответ с ошибкой

    {
      code: 500,
      error: {
        title: "Failed to detch response",
        description: "Some sort of an error occured wich will be described here"
      }
    }
    

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

    Ключ Тип Описание
    code integer Код ответа сервера
    error.title string Заголовок ошибки
    error.description string Описание ошибки

    Стандартный ответ

    Любые структуры данных без какой-либо мета информации

    {
      code: 200,
      body: {
         ...
      }
    }
    

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

    Ключ Тип Описание
    code integer Код ответа сервера
    body object Данные

    Набор данных

    Мета-ответ для малого набора данных

    {
      code: 200,
      elements: 10,
      results: [
        {
          ...
        },
        {
          ...
        },
        ...
        {
          ...
        }
    }
    

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

    Ключ Тип Описание
    code integer Код ответа сервера
    elements integer Количество элементов в содержании
    body object[] Массив с данными

    Набор данных разбитый на страницы

    Мета-ответ для большого набора данных, предварительно разбитый на страницы

    {
      code: 200,
      pagination: {
          "has_more": false,
          "has_previous": false,
          "next_page_url": null,
          "current_page_url": "/demo.unione.su/api/crm/goods/v1/item?page=1",
          "previous_page_url": null,
          "pages": 1,
          "elements": 6,
          "per_page": 30,
          "current": 1
      },
      body: [
        {
          ...
        },
        {
          ...
        },
        ...
        {
          ...
        }
    }
    

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

    Ключ Тип Описание
    code integer Код ответа сервера
    pagination pagination Мета информация для постраничной навигации
    body object[] Набор данных

    Описание мета-данных Pagination

    Ключ Тип Описание
    has_more bool Флаг указываюший на наличие еще страниц впереди текущей
    has_previous bool Флаг указываюший на наличие еще страниц перед текущей
    next_page_url string URL следующего набора
    current_page_url string URL текущего набора
    previous_page_url string URL предыдущего набора
    pages integer Общее количество страниц
    elements integer Элементов в текущем наборе
    per_page integer Общее количество элементов на странице
    current integer Номер текущей страницы

    Кодирование ответа

    Система поддерживает ответы в различных форматах, таких как xml, json, html. Для указания необходимого формата, необходимо передать заголовок

    Accept: application/json

    Accept: {mime_type}

    Соглашение по именованию ресурсов

    Подключение ко всем ресурсам(если не указан абсолютный URL) осуществляется по адресу:

    /{company}.unione.su/

    Путь до ресурса для удобства понимания построены и отображены по шаблону:

    {response_type} {request_type} api/{module[/module...]}/{api_revision}/{resource}

    Авторизация приложения

    Авторизация внешних сервисов происходит по стандартной 5025590341.

    Регистрация приложения

    При регистрации в системе клиент получает доступ по управлению внешними ключами интеграции, с помощью которых производится регистрация различных внешних сервисов или внутренних специфических инструментов для автоматизации бизнес процессов.

    В зависимости от технических требований к программному обеспечению, предоставляются различные варианты взаимодействия с системой:

    Сразу после регистрации приложения, на экране будут выведены уникальные ключи приложения, которые должны быть использованы для получения временного авторизационного ключа.

    Пример с несколькими пользовательскими приложениями

    Тип Имя Идентификатор приложения Авторизационный ключ
    Приложение пользователя Складской учет 83ca99b7-babf-35d5-9c1e-8fed8af6ab0a Jwrc0ZeL3grias241gK205tfCg4slfWq
    Системное приложение Онлайн касса 83ca99b7-babf-35d5-9c1e-8fed8af6ab0a Jwrc0ZeL3griTi9Jxh3whE5tfCg2exyJ0a1OrWdq

    Каждое подключение к системе к ресурсам системы должно сопровождаться заголовком Authorization с актуальным временным персональным авторизационным ключом запрошенным с учетом необходимых резрешений.

    Authorization: Bearer {token}

    Запрос временного ключа авторизации

    Payload POST /unione.su/oauth/token

    Тело запроса для приложений без участия пользователя

    Подобная схема удобна для справочных табло или терминалов самообслуживания, на котором клиент может запросить интересующую его информацию без прямого взаимодествия с продавцом. Данный тип приложения имеет доступ к ограниченному набору инструментов, по большей части - справочного харрактера

    Ключ Тип Обязателен Доступные значения Значение по умолчанию Описание
    grant_type string Да client_credentials Нет Тип авторизации
    client_id string Да - Нет Идентификатор приожения полученный при регистрации приложения
    client_secret string Да - Нет Авторизационный ключ приложения полученный при регистрации приложения
    scope string Нет - Комбинации разрешений разделенных запятыми Список запрашиваемых у пользователя разрешений

    Тело запроса для приложений с участием пользователя

    Реализовывать подобную схему необходимо при создании, регистрации и любых других запросах связаных с манипуляциями важными внутренними данными компании.

    Ключ Тип Обязателен Доступные значения Значение по умолчанию Описание
    grant_type string Да password Нет Тип авторизации
    client_id string Да - Нет Идентификатор приожения полученный при регистрации приложения
    client_secret string Да - Нет Авторизационный ключ приложения полученный при регистрации приложения
    username string Да - Нет Имя пользователя
    password string Да - Нет Пароль
    scope string Нет - Комбинации разрешений разделенных запятыми Список запрашиваемых у пользователя разрешений

    Ответ сервера

    {
       "access_token": "9MLzlUN4rZvcMplWrJZclMydWzxjYiYDvZH2w8Nf",
       "token_type": "Bearer",
       "expires_in": 86400
    }
    
    Ключ Тип Описание
    access_token string Авторизационный ключ
    token_type string Тип передаваемого ключа
    expires_in string Количество секунд оставшееся до инвалидации ключа

    Запрос информации о ключе

    Payload GET /connect.unione.su/oauth/tokeninfo

    Ответ сервера

    {
       "client_id": "83ca99b7-babf-35d5-9c1e-8fed8af6ab0a",
       "expires_at": "2018-11-08T12:43:50+0000",
       "expires_in": 86394,
    }
    
    Ключ Тип Описание
    code integer Код ответа сервера
    client_id uuid Идентификатор приложения
    owner_type string Тип запрошеной авторизации
    owner_id string Идентификатор владельца
    scopes string[] Список доступных разрешений
    expires_time timestamp Время инвалидации ключа
    expires_in integer Количество оставшихся секунд до инвалидации

    Модуль управления картами

    Типы карт

    Типом карты является заданая пользователем группа карт с уникальными параметрами рассчета начислений и/или списаний

    Например:

    Получения списка всех типов карт

    {
       "code": 200,
       "results": [
           {
               "id": 1,
               "company_id": 1,
               "user_id": 1,
               "title": "WS-12345",
               "description": "Lorem ipsum dolor sit amet.",
               "limit": "5",
               "rate": "10.0"
               "created_at": "2018-03-02 12:07:47",
               "updated_at": "2018-03-02 12:07:47"
           },
           ...
       ],
       "pagination": {
           "has_more": false,
           "has_previous": false,
           "next_page_url": "/demo.unione.su/api/crm/cards/v1/type?page=2",
           "current_page_url": "/demo.unione.su/api/crm/cards/v1/type?page=1",
           "previous_page_url": null,
           "pages": 1,
           "elements": 6,
           "per_page": 30,
           "current": 1
       }
    }
    

    Pagination GET api/crm/cards/v1/type

    Требуемый уровень авторизации

    приложение без аутентификации или выше

    Необходимые разрешения

    Структура модели данных

    Ключ Тип Описание
    id integer Системный идентификатор
    company_id integer Системный идентификатор компании
    user_id integer Системный идентификатор пользователя владельца
    title string Наименование
    description string Описание
    limit float Ограничение на списание
    rate float Базовое начисление
    created_at datetime Дата создания
    updated_at datetime Дата последнего обновления

    Получение конкретного типа карт

    {
       "code": 200,
       "result": {
          "id": 1,
          "company_id": 1,
          "user_id": 1,
          "title": "WS-12345",
          "description": "Lorem ipsum dolor sit amet.",
          "limit": "5",
          "rate": "10.0"
          "created_at": "2018-03-02 12:07:47",
          "updated_at": "2018-03-02 12:07:47"
       }
    }
    

    PAYLOAD GET api/crm/cards/v1/type/{id}

    Требуемый уровень авторизации

    приложение без аутентификации или выше

    Необходимые разрешения

    Модель данных передаваемых ответом

    Ключ Тип Описание
    id integer Системный идентификатор
    company_id integer Системный идентификатор компании
    user_id integer Системный идентификатор пользователя владельца
    title string Наименование
    description string Описание
    limit float Ограничение на списание
    rate float Базовое начисление
    created_at datetime Дата создания
    updated_at datetime Дата последнего обновления

    Карты

    Поиск карты по параметрам

    {
       "code": 200,
       "result": {
          "id": 1,
          "company_id": 1,
          "user_id": 1,
          "card_type_id": 1,
          "limit": "5",
          "rate": "10.0"
          "created_at": "2018-03-02 12:07:47",
          "updated_at": "2018-03-02 12:07:47"
       }
    }
    

    Pagination POST api/crm/cards/v1/find

    Используйте для поиска карты в системе, возможно испоьзование сразу нескольких или одного параметра

    Требуемый уровень авторизации

    приложение без аутентификации или выше

    Необходимые разрешения

    Параметры запроса

    Ключ Тип Обязателен Доступные значения Значение по умолчанию Описание
    token string Нет Валидные значения кодов карт - Код карты
    card_type_id integer Нет Валидные значения кодов типа карт - Код типа карты
    customer_id integer Нет Валидные значения идентификатора клиента - Код клиента

    Модель данных передаваемых ответом

    Ключ Тип Описание
    id integer Системный идентификатор
    company_id integer Системный идентификатор компании
    user_id integer Системный идентификатор пользователя владельца
    card_type_id integer Системный идентификатор типа карты
    limit float или null Специфическое ограничение на списание
    rate float или null Специфическое начисление
    activated boolean Флаг активности карты
    created_at datetime Дата создания
    updated_at datetime Дата последнего обновления

    Получение списка всех карт

    {
       "code": 200,
       "results": [
          {
              "id": 1,
              "company_id": 1,
              "user_id": 1,
              "card_type_id": 1,
              "limit": "5",
              "rate": "10.0"
              "created_at": "2018-03-02 12:07:47",
              "updated_at": "2018-03-02 12:07:47"
          }
       ],
       "pagination": {
           "has_more": false,
           "has_previous": false,
           "next_page_url": "/demo.unione.su/api/crm/cards/v1/?page=2",
           "current_page_url": "/demo.unione.su/api/crm/cards/v1/?page=1",
           "previous_page_url": null,
           "pages": 1,
           "elements": 6,
           "per_page": 30,
           "current": 1
       }
    }
    

    Pagination GET api/crm/cards/v1/

    Требуемый уровень авторизации

    приложение без аутентификации или выше

    Необходимые разрешения

    Модель данных передаваемых ответом

    Ключ Тип Описание
    id integer Системный идентификатор
    company_id integer Системный идентификатор компании
    user_id integer Системный идентификатор пользователя владельца
    card_type_id integer Системный идентификатор типа карты
    limit float или null Специфическое ограничение на списание
    rate float или null Специфическое начисление
    activated boolean Флаг активности карты
    created_at datetime Дата создания
    updated_at datetime Дата последнего обновления

    Регистрация карты

    Пример ответа при регистрации новой карты

    {
       "code": 200,
       "results": {
           "customer": {
               "id": 24,
               "company_id": 1,
               "pos_id": 0,
               "email": null,
               "email_confirmed": false,
               "email_confirmed_at": null,
               "phone": "79999999999",
               "phone_confirmed": false,
               "phone_confirmed_at": null,
               "active": true,
               "activated_at": null,
               "status": "0",
               "created_at": "May 23, 2018",
               "updated_at": null,
               "deleted_at": null
           },
           "card": {
               "id": 4,
               "company_id": "1",
               "customer_id": "24",
               "department_id": null,
               "card_type_id": "1",
               "token_id": "10",
               "token": "00001-0000000-00011",
               "rate": null,
               "created_at": "2018-05-23 13:30:20"
           }
       }
    }
    

    Payload POST api/crm/cards/v1/

    Необходимые разрешения

    Модель данных передаваемых ответом

    Ключ Тип Описание
    customer Customer Данные о клиенте
    card Card Данные о карте

    Модель данных Customer

    Ключ Тип Описание
    id integer Системный идентификатор
    company_id integer Системный идентификатор компании
    pos_id integer Системный идентификатор точки выдачи
    email string Электронная почти клиента
    email_confirmed bool Флаг указывающий на статус подтверждения почты
    email_confirmed_at datetime Дата фиксации подтверждения почты
    phone string Телефон клиента
    phone_confirmed bool Флаг указывающий на статус подтверждения телефона
    phone_confirmed_at datetime Дата фиксации подтверждения телефона
    active bool Флаг указывающий на активный статус клиента
    activated_at datetime Дата последней активации
    status CustomerStatus Внутренний статус клиента

    Модель данных Card

    Ключ Тип Описание
    id integer Системный идентификатор
    company_id integer Системный идентификатор компании
    customer_id integer Системный идентификатор клиента-владельца
    department_id integer Системный идентификатор места выдачи карты
    card_type_id integer Системный идентификатор типа карты
    token_id integer Системный идентификатор из пула номеров клиента
    token string Привязаный к карте номер
    rate float Специфическое начисление

    Активация карты

    Payload POST api/crm/cards/v1/{id}/activate

    Необходимые разрешения

    Модель данных передаваемых ответом

    Ключ Тип Описание
    id integer Системный идентификатор
    company_id integer Системный идентификатор компании
    user_id integer Системный идентификатор пользователя владельца
    card_type_id integer Системный идентификатор типа карты
    limit float или null Специфическое ограничение на списание
    rate float или null Специфическое начисление
    activated boolean Флаг активности карты
    created_at datetime Дата создания
    updated_at datetime Дата последнего обновления

    Деактивация карты

    Payload POST api/crm/cards/v1/{id}/deactivate

    Необходимые разрешения

    Модель данных передаваемых ответом

    Ключ Тип Описание
    id integer Системный идентификатор
    company_id integer Системный идентификатор компании
    user_id integer Системный идентификатор пользователя владельца
    card_type_id integer Системный идентификатор типа карты
    limit float или null Специфическое ограничение на списание
    rate float или null Специфическое начисление
    activated boolean Флаг активности карты
    created_at datetime Дата создания
    updated_at datetime Дата последнего обновления

    Балансы и привязаные счета карты

    Получения списка всех счетов привязаных к карте

    Collection GET api/crm/cards/v1/{id}/accounts

    Необходимые разрешения

    Модель данных передаваемых ответом

    Ключ Тип Описание
    id integer Системный идентификатор
    customer_id integer Системный идентификатор клиента
    account_type_id integer Системный идентификатор компании
    account_id integer Системный идентификатор счета
    card_id integer Системный идентификатор карты
    balance float Баланс счета
    available float Баланс счета доступный к списанию
    created_at datetime Дата создания
    updated_at datetime Дата последнего обновления

    Привязка нового счета

    Payload POST api/crm/cards/v1/{id}/accounts/{cardId}/attach

    Необходимые разрешения

    Модель данных передаваемых ответом

    Ключ Тип Описание
    id integer Системный идентификатор
    customer_id integer Системный идентификатор клиента
    account_type_id integer Системный идентификатор компании
    account_id integer Системный идентификатор счета
    card_id integer Системный идентификатор карты
    balance float Баланс счета
    available float Баланс счета доступный к списанию
    created_at datetime Дата создания
    updated_at datetime Дата последнего обновления

    Отвязка счета

    Payload POST api/crm/cards/v1/{id}/accounts/{cardId}/detach

    Необходимые разрешения

    Модель данных передаваемых ответом

    Ключ Тип Описание
    id integer Системный идентификатор
    customer_id integer Системный идентификатор клиента
    account_type_id integer Системный идентификатор компании
    account_id integer Системный идентификатор счета
    card_id integer Системный идентификатор карты
    balance float Баланс счета
    available float Баланс счета доступный к списанию
    created_at datetime Дата создания
    updated_at datetime Дата последнего обновления

    Модуль управления товарами

    Сестема имеет встроенную подсистему управления и учета товаров, на ней завязано множество подсистем рассчета, рекомендуем содержать ее в актуальном состоянии

    Получение списка всех товаров

    {
       "code": 200,
       "results": [
           {
               "id": 1,
               "company_id": 1,
               "user_id": 1,
               "vendor_id": null,
               "avatar_id": null,
               "external_id": "1547a498-a5c9-3b88-99aa-9db8c22650fc",
               "sku": "WS-12345",
               "name": "Dummy item",
               "full_name": "Dummy item #1",
               "description": "Lorem ipsum dolor sit amet.",
               "price": "15000",
               "currency": "RUB",
               "limit": null,
               "created_at": "2018-03-02 12:07:47",
               "updated_at": "2018-03-02 12:07:47"
           },
           ...
       ],
       "pagination": {
           "has_more": false,
           "has_previous": false,
           "next_page_url": null,
           "current_page_url": "/demo.unione.su/api/crm/goods/v1/item?page=1",
           "previous_page_url": null,
           "pages": 1,
           "elements": 6,
           "per_page": 30,
           "current": 1
       }
    }
    

    Pagination GET api/crm/goods/v1/item

    Требуемый уровень авторизации

    приложение без аутентификации или выше

    Необходимые разрешения

    Модель данных передаваемых ответом

    Ключ Тип Описание
    id integer Системный идентификатор
    company_id integer Системный идентификатор компании
    user_id integer Системный идентификатор пользователя владельца
    vendor_id integer Системный идентификатор производителя
    avatar_id integer Системный идентификатор изображения
    external_id string Идентификатор внешней системы
    sku string Артикул
    name string Короткое наименование
    full_name string Полное наименование
    description string Описание
    price integer Значение цены
    currency string Код валюты
    limit float Ограничение на списание
    created_at datetime Дата создания
    updated_at datetime Дата последнего обновления

    Получение информации о товаре по идентификатору

    {
       "code": 200,
       "body": {
          "id": 1,
          "company_id": 1,
          "user_id": 1,
          "vendor_id": null,
          "avatar_id": null,
          "external_id": "1547a498-a5c9-3b88-99aa-9db8c22650fc",
          "sku": "WS-12345",
          "name": "Dummy item",
          "full_name": "Dummy item #1",
          "description": "Lorem ipsum dolor sit amet.",
          "price": "15000",
          "currency": "RUB",
          "limit": null,
          "created_at": "2018-03-02 12:07:47",
          "updated_at": "2018-03-02 12:07:47"
       }
    }
    

    Payload GET api/crm/goods/v1/item/{id}

    Парметры URL

    Требуемый уровень авторизации

    приложение без аутентификации или выше

    Необходимые разрешения

    Модель данных передаваемых ответом

    Ключ Тип Описание
    id integer Системный идентификатор
    company_id integer Системный идентификатор компании
    user_id integer Системный идентификатор пользователя владельца
    vendor_id integer Системный идентификатор производителя
    avatar_id integer Системный идентификатор изображения
    external_id string Идентификатор внешней системы
    sku string Артикул
    name string Короткое наименование
    full_name string Полное наименование
    description string Описание
    price integer Значение цены
    currency string Код валюты
    limit float Ограничение на списание
    created_at datetime Дата создания
    updated_at datetime Дата последнего обновления

    Получение информации о товаре по признаку

    {
       "code": 200,
       "elements": 1500,
       "results": [
          {
              "id": 1,
              "company_id": 1,
              "user_id": 1,
              "vendor_id": null,
              "avatar_id": null,
              "external_id": "1547a498-a5c9-3b88-99aa-9db8c22650fc",
              "sku": "WS-12345",
              "name": "Dummy item",
              "full_name": "Dummy item #1",
              "description": "Lorem ipsum dolor sit amet.",
              "price": "15000",
              "currency": "RUB",
              "limit": null,
             "created_at": "2018-03-02 12:07:47",
              "updated_at": "2018-03-02 12:07:47"
         },
         ...
      ]
    }
    

    Collection POST api/crm/goods/v1/item/find

    Парметры запроса

    Требуемый уровень авторизации

    приложение без аутентификации или выше

    Необходимые разрешения

    Модель данных передаваемых ответом

    Ключ Тип Описание
    id integer Системный идентификатор
    company_id integer Системный идентификатор компании
    user_id integer Системный идентификатор пользователя владельца
    vendor_id integer Системный идентификатор производителя
    avatar_id integer Системный идентификатор изображения
    external_id string Идентификатор внешней системы
    sku string Артикул
    name string Короткое наименование
    full_name string Полное наименование
    description string Описание
    price integer Значение цены
    currency string Код валюты
    limit float Ограничение на списание
    created_at datetime Дата создания
    updated_at datetime Дата последнего обновления

    Получение информации о товаре по признаку

    {
       "code": 200,
       "elements": 1500,
       "results": [
          {
              "id": 1,
              "company_id": 1,
              "user_id": 1,
              "vendor_id": null,
              "avatar_id": null,
              "external_id": "1547a498-a5c9-3b88-99aa-9db8c22650fc",
              "sku": "WS-12345",
              "name": "Dummy item",
              "full_name": "Dummy item #1",
              "description": "Lorem ipsum dolor sit amet.",
              "price": "15000",
              "currency": "RUB",
              "limit": null,
             "created_at": "2018-03-02 12:07:47",
              "updated_at": "2018-03-02 12:07:47"
         },
         ...
      ]
    }
    

    Collection POST api/crm/goods/v1/item/find

    Парметры запроса

    Требуемый уровень авторизации

    приложение без аутентификации или выше

    Необходимые разрешения

    Модель данных передаваемых ответом

    Ключ Тип Описание
    id integer Системный идентификатор
    company_id integer Системный идентификатор компании
    user_id integer Системный идентификатор пользователя владельца
    vendor_id integer Системный идентификатор производителя
    avatar_id integer Системный идентификатор изображения
    external_id string Идентификатор внешней системы
    sku string Артикул
    name string Короткое наименование
    full_name string Полное наименование
    description string Описание
    price integer Значение цены
    currency string Код валюты
    limit float Ограничение на списание
    created_at datetime Дата создания
    updated_at datetime Дата последнего обновления

    Создание нового товара

    Payload POST api/crm/goods/v1/item/

    Пакетное создание

    Collection POST api/crm/goods/v1/item/

    К каждому передаваемому свойству объекта добавляется префикс item.{index}.{field}

    Требуемый уровень авторизации

    приложение без аутентификации или выше

    Необходимые разрешения

    Модель данных передаваемых ответом

    Ключ Тип Описание
    id integer Системный идентификатор
    company_id integer Системный идентификатор компании
    user_id integer Системный идентификатор пользователя владельца
    vendor_id integer Системный идентификатор производителя
    avatar_id integer Системный идентификатор изображения
    external_id string Идентификатор внешней системы
    sku string Артикул
    name string Короткое наименование
    full_name string Полное наименование
    description string Описание
    price integer Значение цены
    currency string Код валюты
    limit float Ограничение на списание
    created_at datetime Дата создания
    updated_at datetime Дата последнего обновления

    Парметры запроса

    Ключ Тип Обязателен Доступные значения Значение по умолчанию Описание
    id string Да - Нет Идентификатор товара во внешней системе
    vendor_id integer Нет - Ресурс Производители Системный идентификатор производителя
    sku string Нет - - Артикул товара
    name string Да - - Краткое наименование товара
    full_name string Да - - Полное наименование товара
    description string Нет - - Описание
    price integer Нет - - Значение цены
    currency string Нет - Национальный код валюты Валюта цены

    Свойства товара

    Любой товар может обладать неограниченным набором свойств. Каждое свойство должно передаваться в формате property.{index}.{field}

    Модель данных свойства

    Ключ Тип Обязателен Доступные значения Значение по умолчанию Описание
    name string Да - - Отображаемое имя свойства
    value string Да - - Значение

    Удаление товара

    Payload Delete api/crm/goods/v1/item/{id}

    Параметры URL

    Ключ Тип Описание
    id integer Системный идентификатор

    Требуемый уровень авторизации

    приложение без аутентификации или выше

    Необходимые разрешения

    Модуль учета транзакций

    Регистрация транзакции

    Пример создания простой транзакции с минимальным набором параметров

    Передаваемы набор параметров в формате application/json

    {
     "order_date": "2017-10-26T10:53:55Z",
     "amount": 2900,
     "positions": [
       {
         "type": "item",
         "entity_id" : "8417a7f2-27ae-11e5-be7f-18cf5ef64a9b",
         "name": "Вино Вью Манент Гран Резерва Каберне Совиньон 14% 0,75 л (2012)",
         "price": 1000,
         "quantity": 2
       },
       {
         "type": "item",
         "entity_id" : "c7436780-0f07-3beb-bc98-0129b3e0c48d",
         "name": "Dummy item",
         "price": 150,
         "quantity": 1
       },
       {
         "type": "item",
         "entity_id" : "8417a7f2-27ae-11e5-be7f-18cf5ef64a9b",
         "name": "Вино Вью Манент Гран Резерва Каберне Совиньон 14% 0,75 л (2012)",
         "price": 1000,
         "quantity": 1
       },
       {
         "type": "item",
         "entity_id" : "8417a7f4-27ae-11e5-be7f-18cf5ef64a9b",
         "name": "Вино Сан Якопо Кастелло Виккьомаджо 0,75 л (2012)",
         "price": 750,
         "quantity": 1
       }
     ],
     "payments": [
       {
         "type": "points",
         "account_id": 25,
         "amount": 750,
         "positions": [ 4 ]
       },
       {
         "type": "cash",
         "amount": 2500,
         "positions": [ 1, 2, 3 ]
       }
     ],
     "customer_token": [
          {
              "type": "card",
              "value": "704374636544010"
          }
      ]
    }
    

    Ответ сервера

    {
       "code": 202,
       "result": {
           "transaction": {
               "id": 29865,
               "company_id": 105,
               "pos_id": 2014,
               "order_date": "2018-03-02 12:07:47",
               "customer_id": 3064,
               "price": 2090,
               "status": "created",
            },
            'marketing_actions_applied': [
               {
                   "paсkage_name": "Совершения покупки на точке "Ресторан Пушкинский",
                   "events": [
                       {
                           type: "increase-value",
                           value: 20
                       },
                       {
                           type: "notify",
                           value: {
                               type: "push",
                               message: "Вам начислено 20 бонусов на синий счет вашей подарочной карты"
                           }
                       }
                   ]
               },
               {
                   "paсkage_name": "Покупка более 2 бутылок вина",
                   "events": [
                       {
                           type: "promo",
                           value: "ef1203"
                       },
                       {
                           type: "notify",
                           value: {
                               type: "sms",
                               message: "Недавно вы совершили покупку 2 бутылок вина Вью Манент Гран Резерваб мы дарим вам купона на 10% скидку при следующей покупке"
                           }
                       }
                   ]
               }
            ]
       }
    }
    

    Payload POST api/orders/v1/transaction/create

    Требуемый уровень авторизации

    приложение без аутентификации или выше

    Необходимые разрешения

    Парметры запроса

    Ключ Тип Обязателен Доступные значения Значение по умолчанию Описание
    customer_id integer Нет Существующий идентификатор клиента Нет Системный идентификатор клиента совершившего покупку
    employee_id integer Нет Существующий идентификатор сотрудника Нет Системный идентификатор сотрудника занимавшегося занесением
    document_number string Нет - Нет Идентификатор чека
    notes string Нет - Нет Примечание
    order_date datetime Нет - Нет Дата совершения операции
    status string Нет canceled, closed, completed, dispute, failed, new, onhold, assemble, shipped, payment_failed, payment_recieved, payment_review, payment_pending, processing, queued, refunded, rejected - Статус операции
    amount float Да - Нет Общая стоимость покупки
    positions Position[] Да - Нет Список товаров в чеке
    payments Payment[] Да - Нет Список платежных операций
    customer_token Token[] Нет - Нет Предъявленый покупателем идентификационный ключ(номер пластиковой карты, номер телефона...)

    Модель данных Position

    Ключ Тип Обязателен Доступные значения Значение по умолчанию Описание
    type string Да - item, service Тип позиции(товар, услуга и.тп)
    entity_id string Нет - Внешний идентификатор товара
    name string Нет - Нет Наименование товара
    price float Да - Нет Общая стоимость позиции
    currency string Нет - Код валюты Код валюты, если отличается от системного
    quantity integer Нет - 1 Количество идентичных товаров в чеке

    Модель данных Payment

    Ключ Тип Обязателен Доступные значения Значение по умолчанию Описание
    type string Да - cash, points, code Тип совершенной оплаты
    account_id number Нет - Существующий идентификатор счета Идентификатор счета с которого производится списание
    amount float Да - - Размер оплаты
    positions integer[] Нет Номер позиции товара - Набор номеров позиций, оплаченых данным способом

    Модель данных Token

    Ключ Тип Обязателен Доступные значения Значение по умолчанию Описание
    type string Да - card, qrcode, phone Тип предъявленного кода
    value string Да - Валидный код заданного типа Значение

    Изменение статуса транзакции