Типы данных

При работе через API ELMA365 отправляет запрос к стороннему сервису и получает ответ, содержащий запрошенные данные. API оперирует следующими типами:

Строка

JSON тип: строка

Пример:

{
    "key": "example"
}

Число

JSON тип: число

Пример:

{
    "key": 10
}

Выбор да/нет

JSON тип: логическое значение

Пример:

{
    "key": true
}

Дата/время

JSON тип: строка

Формат - RFC3339

Пример:

{
    "key": "2006-01-02T15:04:05Z07:00"
}

Категория

JSON тип: массив объектов

Поля объектов:

  • code - код категории (строка)
  • name - название категории (строка)

Пример:

{
    "key": [ { "code": "example", "name": "Пример"} ]
}

Деньги

JSON тип: объект

Поля объекта:

  • cents - значение в минимальной монете (копейка, цент, евроцент) (число)
  • currency - валюта (строка)

Пример:

{
    "cents": 1000,
    "currency": "RUB"
}

Номер телефона

JSON тип: массив объектов

Поля объектов:

  • type - тип телефона (строка)
  • tel - номер телефона - только значащие символы (строка)

Пример:

{
    "key": [ { "type":"home", "tel":"+790000000000" } ]
}

Электронная почта

JSON тип: массив объектов

Поля объектов:

  • type - тип почты (строка)
  • email - адрес почты, только значащие символы (строка)

Пример:

{
    "key": [ { "type":"home", "email":"example@email.com" } ]
}

Изображение

JSON тип: массив строк

Значения - идентификаторы файлов изображений в системе

Пример:

{
    "key": [ "c44b66f6-216a-457e-a37e-ea8e373a4b77" ]
}

Файлы

JSON тип: массив строк

Значения - идентификаторы файлов в системе

Пример:

{
    "key": [ "c44b66f6-216a-457e-a37e-ea8e373a4b77" ]
}

Работа с файлами в процессах и приложениях

Для добавления временного, только что загруженного файла необходимо передавать объект файла с полями name и hash

Пример:

{
    "document":[
        {
            "name":"file.docx",
            "hash":"e2949784-85a9-403e-9aa7-e222b4572082"
        }
    ]
}

Eсли файлов несколько, объекты перечисляются через запятую

Пример:

{
    "document":[
        {
            "name":"file1.docx",
            "hash":"e2949784-85a9-403e-9aa7-e222b4572082"
        },
        {
            "name":"file2.docx",
            "hash":"120ae172-2ec0-47bd-a923-0de3ca40ee24"
        }
    ]
}

Для добавления уже существующего файла (проинициализированного, находящегося в разделе "Файлы") необходимо передавать идентификатор файла

Пример:

{
    "document":[
        "444de6ec-84dc-489b-9273-23755860cab4"
    ]
}

Eсли файлов несколько, id файлов перечисляются через запятую

Пример:

{
    "document":[
        "ed7bde6a-ae8b-4e39-96a0-985f59bfda19",
        "444de6ec-84dc-489b-9273-23755860cab4"
    ]
}

Приложения при работе с файлами создают копии этих файлов. Редактировать файл нужно внутри приложения (редактирование исходного файла в разделе "Файлы" не изменяет файл в приложении)

ФИО

JSON тип: объект

Поля объекта:

  • lastname - фамилия
  • firstname - имя
  • middlename - отчество

Пример:

{
    "key": {
        "lastname": "Белозубов",
        "firstname": "Сергей",
        "middlename": "Львович"
    }
}

Ссылка

JSON тип: строка

Пример:

{
    "key": "http://site.org"
}

Пользователи

JSON тип: массив строк

Значения - идентификаторы пользователей

Пример:

{
    "key": [ "c44b66f6-216a-457e-a37e-ea8e373a4b77" ]
}

Приложение

JSON тип: массив строк

Значения - идентификаторы элементов приложения

Пример:

{
    "key": [ "c44b66f6-216a-457e-a37e-ea8e373a4b77" ]
}

Таблица

JSON тип: объект

Поля объекта:

  • rows - массив строк. Каждая строка - объект, поля которого определяются при настройке таблицы. Ключи - это коды полей, значения зависит от типа. Если значение колонки задается по формуле, то оно вычисляется автоматически.
  • result - объект результатов, поля которого определяются при настройке таблицы. В этот объект попадают только столбцы, для которых результат (значение в нижнем колонтитуле) вычисляется по формуле. Этот объект вычисляется автоматически исходя из настроек колонок.
  • view - строчное представление таблицы, сформированное по шаблону. Это представление формируется автоматически.

Пример:

{
    "key" : {
        "rows": [
            {  "good_name" : "product 1", "count" : 10},
            {  "good_name" : "product 2", "count" : 20},
        ],
        "result": { "count": 30 },
        "view": "Итого: 30 позиций"
    }  
}