Взаимодействие по API
API Мобифорс — программный интерфейс, который позволяет обмениваться данными между сервисом Мобифорс и вашим решением.
Общие данные по подключению


Работа с объектом "Задача"


Работа с объектами/клиентами и подразделениями


Работа с объектом "Шаблон"


Работа с объектом "Сотрудники"



Работа с объектом "Оборудование"



Запросить список последних изменений (get-update-list)

Общие данные по подключению

Обратите внимание! Для получения ключа необходимо обратиться к специалисту технической поддержки через онлайн-форму в личном кабинете сервиса. В обращении сообщите наименование (домен) учетной записи компании и логин пользователя.
Авторизация на сервис по api-key:
request.setRequestHeader("Authorization", "key=API_KEY");
Заголовки.Вставить("Authorization","key="""+КЛЮЧ_API+""")

Вид запроса:

POST:
https://domain.mobiforce.ru/api/v5/XXX?params
XXX – команда
Ответ сервера – или объект ответа, или сообщение об ошибке в форме:

{
"code": 1,// Номер ошибки
"description": "что то пошло не так",// писание ошибки
}

С кодом http: 400 или 401

Список команд

Работа с задачами (не полное)

Работа с объектами (контрагентами/клиентами) (не полное)
Работа с контактными лицами (контрагентов/клиентов)
Работа с телефонами (контрагентов/клиентов)
Работа с комментариями
Работа с дополнительными полями шаблонов
Работа с шаблонами
Работа с моделями оборудования
Работа с оборудованием
Работа с сотрудниками
Получение обновлений

Задача

Создать задачу (create-task)
Параметры POST запроса:

{
    "number":"1111", //номер задачи, если поле не задано, определяется системой
    "template":{"id":828}, //идентификатор шаблона, обязательное поле, см get-template-field-list
    "employee":{"id":8}, // идентификатор исполнителя см get-employee-list
    "contractor":{"id":12211}, // идентификатор клиента/объекта см get-contractor-list
    "draft":true, // true – создается в черновике, false – 
сразу отправляется указанному исполнителю (get-employee-list)
    "address":"Ленинский проспект 21", // Адрес, не обязательный, если не указаны lat,lon – будет геокодирование
    "addressPorch":"1", // Адрес, подъезд, не обязательный
    "addressFloor":"2", // Адрес, этаж, не обязательный
    "addressRoom":"3", // Адрес, квартира/офис, не обязательный
    "addressInfo":"Вход по паспорту", // Адрес дополнительная информация, не обязательный
    "lat":"37.222", // Широта, не обязательный 
    "lon":"54.222", // Долгота, не обязательный
    "verificationRequired":false, // Проверка результата выполнения 
с возможностью отправки на доработку, не обязательный, по умолчанию false
    "plannedVisitTime":"2021-01-01T15:00:00", // Планируемое время начала выполнения, не обязательный
    "plannedEndVisitTime":"2021-01-01T16:00:00", // Планируемое время окончания выполнения, не обязательный
    "props":[
        {"field":{"id":2302},"value":100} // значения свойств доп реквизитов выбранного шаблона
    ]
}
Ответ, например {id:111} - внутренний идентификатор созданной задачи, или сообщение об ошибке.
Важные особенности

Для добавления задачи с новым клиентом – перед отправкой задачи необходимо отправить объект – клиент, иначе будет возвращена ошибка записи задачи.

Для немедленной отправки задачи исполнителю необходимо указать ИД сотрудника-исполнителя.
Обновить задачу (update-task)

Строка запроса: https://domain.mobiforce.ru/api/v5/update-task?id=111


id - внутренний идентификатор задачи в системе Мобифорс

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

{
    "number":"1111", //номер задачи, если поле не задано, определяется системой
    "template":{"id":828}, //идентификатор шаблона, обязательное поле, см get-template-field-list
    "employee":{"id":828}, // идентификатор исполнителя см get-employee-list
    "contractor":{"id":12211}, // идентификатор клиента/объекта см get-contractor-list
    "draft":true, // true – создается в черновике, false 
– сразу отправляется указанному исполнителю (get-employee-list)
    "address":"Ленинский проспект 21", // Адрес, не обязательный, если не указаны lat,lon – будет геокодирование
    "addressPorch":"1", // Адрес, подъезд, не обязательный
    "addressFloor":"2", // Адрес, этаж, не обязательный
    "addressRoom":"3", // Адрес, квартира/офис, не обязательный
    "addressInfo":"Вход по паспорту", // Адрес дополнительная информация, не обязательный
    "lat":"37.222", // Широта, не обязательный 
    "lon":"54.222", // Долгота, не обязательный
    "verificationRequired":false, // Проверка результата выполнения 
с возможностью отправки на доработку, не обязательный, по умолчанию false
    "plannedVisitTime":"2021-01-01T15:00:00", // Планируемое время начала выполнения, не обязательный
    "plannedEndVisitTime":"2021-01-01T16:00:00", // Планируемое время окончания выполнения, не обязательный
    "props":[
        {"field":{"id":2302},"value":100} // значения свойств доп реквизитов выбранного шаблона
    ]
}
Ответ, например {id:111} - внутренний идентификатор созданной задачи, или сообщение об ошибке
Важные особенности

Изменить возможно только задачу в статусе «черновик»

Для записи задачи с новым клиентов – перед отправкой задачи необходимо отправить объект – клиент, иначе будет возвращена ошибка записи задачи.

Для немедленной отправки задачи исполнителю необходимо указать ИД сотрудника-исполнителя.
Получить задачу (get-task)

Строка запроса: https://domain.mobiforce.ru/api/v5/get-task?id=111


id - внутренний идентификатор существующей задачи в системе Мобифорс

Пример ответа:

{
    "id": "522075",
    "createdAt": "2021-10-29T09:48:36Z",
    "plannedVisitTime": "2021-01-01T12:00:00Z",
    "plannedEndVisitTime": "2021-01-01T13:00:00Z",
    "draft": true,
    "template": {
        "id": 828,
        "name": "Стандартная задача"
    },
    "name": "1111",
    "props": [
        {
            "id": "2074364",
            "name": "Планируемая сумма за работу",
            "parent": 0,
            "value": 100,
            "visibleToMobile": true,
            "required": false,
            "field": {
                "id": "2302",
                "type": {
                    "id": "2"
                }
            }
        }
    ],
    "checklist": [
        {
            "id": "2074371",
            "name": "Фото накладной",
            "parent": 0,
            "value": 0,
            "visibleToMobile": null,
            "required": false,
            "field": {
                "id": "2303",
                "type": {
                    "id": "6"
                }
            }
        }
    ]
}
Получить список задач (get-task-list)

Строка запроса: https://domain.mobiforce.ru/api/v5/ get-task-list?page=1


GET – запрос, page – номер выводимой страницы с результатами, по умолчанию 0, результатов на странице 10.

Ответ:

[
    {
        "id": "140639",
        "name": "000001"
    },
    {
        "id": "145301",
        "name": "000003"
    },
    {
        "id": "145302",
        "name": "000004"
    }
]
Добавить в задачу дополнительные поля (add-template-fields-to-task)

Строка запроса: https://domain.mobiforce.ru/api/v5/add-template-fields-to-task?id=111


id - внутренний идентификатор существующей задачи в системе Мобифорс

Параметры POST-запроса::

[{ //первый добавляемый элемент
    "to":"props", //Добавлять в раздел checklist или props
    "field":{"id":2512}, // идентификатор поля шаблона
    "parent":{"id":2420}, // родительский элемент, 
родителем может быть только поле типа раздел
    "position":1 // положение относительно существующих в задаче полей 
    "value":”123434” // значение поля, не обязательное 
},
{
    "to":"checklist",
    "field":{"id":1666}
}]
Поля с опцией to:checklist – попадают в отчет сотрудника

Поля с опцией to:props – попадают в доп.днные по задаче
Удалить дополнительное поле из задачи (remove-template-fields-from-task)

Строка запроса: https://domain.mobiforce.ru/api/v5/remove-template-fields-from-task?id=111


id - внутренний идентификатор существующей задачи в системе Мобифорс

Параметры POST-запроса::

[
{
    "field":{"id":2512}, // идентификатор ранее добавленного поля шаблона
}
]
Создать комментарий к задаче (create-comment)
Параметры POST-запроса::

{
    "message":"Какой то текс", //Текст сообщения комментария
    "task":{"id":828}, //идентификатор задачи, к которой нужно прикрепить комментарий
}
Ответ, например {id:111} - внутренний идентификатор созданного комментария, или сообщение об ошибке
Создать дополнительное поле шаблона задач (create-template-field)
Параметры POST-запроса::

{
    "name": "Реквизит перечисление", // Имя дополнительного поля
    "type": { // Тип дополнительного поля
        "id": "5" // Идентификатор типа дополнительного поля
    },
    "valueList": [ // список значения для выбора, применяется только для типа доп. поля 5
        { // Элемент списка значений, заданный порядок следования элементов сохраняется в системе
            "name": "да" // Наименование элемента
        },
        {
            "name": "нет"
        }
    ]
}
Типы дополнительных полей задачи:
Ответ, например {id:111} - внутренний идентификатор созданного поля шаблона задач, или сообщение об ошибке
Обновить дополнительное поле шаблона задач (update-template-field)

Строка запроса: https://domain.mobiforce.ru/api/v5/update-template-field?id=1234


id - внутренний идентификатор поля шаблона в системе Мобифорс

Параметры POST-запроса::

{
    "name": "Реквизит перечисление",
    "type": {
        "id": "5",
        "name": "list"
    },
    "valueList": [// список значения для выбора, применяется только для типа доп. поля 5
        { // существующий элемент значений поля выбора из списка значений
            "id": "2747",// идентификатор значения 
            "deleted": false, // признак, что элемент не подлежит удалению
            "name": "да" // наименованиеэлемента
        },
        { // существующий элемент значений поля выбора из списка значений
            "id": "2751",
            "deleted": true, // признак, что элемент требуется удалить
            "name": "нет"
        },
        {  // новый  элемент значений поля выбора из списка значений, не указан идентификатор
            "deleted": false,
            "name": "не знаю"
        }
    ]
}
Ответ – внутренний идентификатор поля шаблона, или сообщение об ошибке.
Закрыть задачу (close-task)

Строка запроса: https://domain.mobiforce.ru/api/v4/close-task?id=1234


id - внутренний идентификатор задачи в системе Мобифорс

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

INPUT: {
"result_status": "74",// Внутренний идентификатор статуса завершения задачи
"results_description": "Задача отменена клиентом"
} 

Результат выполнения – внутренний идентификатор задачи, или сообщение об ошибке
Получить список измененных задач за период (get-taskupdates)

Строка запроса: https://domain.mobiforce.ru/api/get-taskupdates?id=866888

Максимальный период запросов 1 раз в пять минут, более частые обращения будут генерировать в ответе ошибку.

id – последовательный идентификатор в системе мобифорс, если в запросе идентификатор не задан или соответствует событию старше недели, то выводится список обновлений, начиная с первого события недельной давности.

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

Пример ответа:

[ 
            { 

                  task_id: 8298402,// внутренний идентификатор задачи в Мобифорс 
                  id: 1867878 
             } 
] 

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

Клиент/объект

Создать объект (контрагента/клиента) (create-contractor)
Параметры POST-запроса:

{
    "externalId":"11123344", //Дентификатор во внешней системе
    "name":"ООО ‘Ромашка’", //Имя
    "address":"Ленинский проспект 21", // Адрес, не обязательный, если не указаны lat,lon – будет геокодирование
    "addressPorch":"1", // Адрес, подъезд, не обязательный
    "addressFloor":"2", // Адрес, этаж, не обязательный
    "addressRoom":"3", // Адрес, квартира/офис, не обязательный
    "addressInfo":"Вход по паспорту", // Адрес дополнительная информация, не обязательный
    "lat":"37.222", // Широта, не обязательный 
    "lon":"54.222", // Долгота, не обязательный
    "person":[
        {"name":"Александр","phone":[{"name":"1234567"}]} // 
    ],
    "phone":[{"name":"832874834"}]
}
Ответ, например {id:111} - внутренний идентификатор созданного объекта, или сообщение об ошибке.
Изменить объект (контрагента/клиента) (update-contractor)

Строка запроса: https://domain.mobiforce.ru/api/v5/update-contractor


id - внутренний идентификатор существующей задачи в системе Мобифорс


{
    "externalId":"11123344", //Дентификатор во внешней системе
    "name":"ООО ‘Ромашка’", //Имя
    "address":"Ленинский проспект 21", // Адрес, не обязательный, если не указаны lat,lon – будет геокодирование
    "addressPorch":"1", // Адрес, подъезд, не обязательный
    "addressFloor":"2", // Адрес, этаж, не обязательный
    "addressRoom":"3", // Адрес, квартира/офис, не обязательный
    "addressInfo":"Вход по паспорту", // Адрес дополнительная информация, не обязательный
    "lat":"37.222", // Широта, не обязательный 
    "lon":"54.222", // Долгота, не обязательный
    "person":[
        {"name":"Александр","phone":[{"name":"1234567"}]} // 
    ],
    "phone":[{"name":"832874834"}]
}
Ответ, например {id:111} - внутренний идентификатор созданного объекта, или сообщение об ошибке.
Получить объект (get-contractor)

Строка запроса: https://domain.mobiforce.ru/api/v5/get-contractor?id=1903968


GET – запрос, id – внутренний идентификатор объекта в системе Мобифорс

Ответ:

{
    "id": "1903968",
    "name": "Ромашка",
    "address": "Ленинский пр., дом № 6",
    "addressFloor": "",
    "addressRoom": "",
    "addressPorch": "",
    "createdAt": "1636723472",
    "addressInfo": "",
    "equipmentCounter": "0",
    "subdivisionCounter": "0",
    "lat": "",
    "lon": "",
    "favourites": false,
    "author": {
        "id": "2977",
        "name": "Валентин"
    },
    "parent": "0",
    "employee": "0",
    "phone": [
        {
            "id": "1397914",
            "name": "+7 555 55 55 55",
            "contractorPerson": "NULL",
            "createdAt": "1636723472",
            "deleted": false
        }
    ],
}
Ответ, например {id:111} - внутренний идентификатор созданного объекта, или сообщение об ошибке.
Получить объект по внешнему идентификатору (get-contractor-by-external-id)

Строка запроса: https://domain.mobiforce.ru/api/v5/get-contractor-by-external-id?external-id=3232983-43320-32


GET – запрос, external-id – внешний идентификатор объекта в системе Мобифорс

Ответ:

{
    "id": "1903968",
    "externalId": "91bf7d25-abd9-11e1-9c86-002219216b99",
    "name": "Ромашка",
    "address": "Ленинский пр., дом № 6",
    "addressFloor": "",
    "addressRoom": "",
    "addressPorch": "",
    "createdAt": "1636723472",
    "addressInfo": "",
    "equipmentCounter": "0",
    "subdivisionCounter": "0",
    "lat": "",
    "lon": "",
    "favourites": false,
    "author": {
        "id": "2977",
        "name": "Валентин"
    },
    "parent": "0",
    "employee": "0",
    "phone": [
        {
            "id": "1397914",
            "name": "+7 555 55 55 55",
            "contractorPerson": "NULL",
            "createdAt": "1636723472",
            "deleted": false
        }
    ],
}
Получить список объектов (get-contractor-list)

Строка запроса: https://domain.mobiforce.ru/api/v5/get-contractor-list?page=1


GET – запрос, page – номер выводимой страницы с результатами, по умолчанию 0, результатов на странице 10.

Ответ:

[
    {
        "id": "2210405",
        "name": "Газпроп",
        "parentName": null,
        "parentId": null
    },
    {
        "id": "2210406",
        "name": "Подразделение 1",
        "parentName": "Газпроп",
        "parentId": "2210405"
    }
]
Создать контактное лицо (контрагента/клиента) (create-contractor-person)
Параметры POST-запроса:

{
    "contractor":{"id":97611}, //идентификатор клиента/объекта, являющегося родителем
    "name":"Алексей И", // Имя контактного лица
    "phone":["name":"8-800-888-88-88"}] // массив записей телефонов
}
Ответ, например {id:111} - внутренний идентификатор созданного объекта, или сообщение об ошибке.
Изменить контактное лицо (контрагента/клиента) (update-contractor-person)

Строка запроса: https://domain.mobiforce.ru/api/v5/update-contractor-person?id=1903968


id - внутренний идентификатор существующего контактного лица в системе Мобифорс


{
    "contractor":{"id":97611}, //идентификатор клиента/объекта, являющегося родителем контактного лица 
    "name":"Алексей И", // Имя контактного лица
    "phone":["name":"8-800-888-88-88"}] // массив записей телефонов
}
Ответ, например {id:111} - внутренний идентификатор созданного объекта, или сообщение об ошибке.
Получить контактное лицо (контрагента/клиента) (get-contractor-person)

Строка запроса: https://domain.mobiforce.ru/api/v5/get-contractor-person?id=1903968


GET – запрос, id – внутренний идентификатор объекта в системе Мобифорс

Ответ:

{
    "id": "1903968",
    "name": "Алексей И",
    "contractor": {
        "id": "97611",
        "name": "123"
    },
    "jobposition": "",
    "deleted": false,
    "phone": [
        {
            "id": "1404789",
            "name": "11",
            "deleted": false
        },
}
Удалить контактное лицо (контрагента/клиента) (delete-contractor-person)

Строка запроса: https://domain.mobiforce.ru/api/v5/delete-contractor-person?id=1234


POST запрос, id - внутренний идентификатор поля шаблона в системе Мобифорс

Возврат – внутренний идентификатор удаленного поля, или сообщение об ошибке

Создать телефон (контрагента/клиента) (create-contractor-phone)
Параметры POST-запроса:

{
    "parent":{"id":97611, "type":"contractor"}, //идентификатор родителя для телефона
    "name":"8-800-888-88-88", // Номер телефона
    "phone":["name":"8-800-888-88-88"}] // массив записей телефонов
}
type может принимать значения contractor или person в зависимости от того, куда телефон надо привязать, к контактному лцу клиента, или к основной карточке клиента.

Ответ, например {id:111} - внутренний идентификатор созданного телефона, или сообщение об ошибке.
Изменить телефон (контрагента/клиента) (update-contractor-phone)

Строка запроса: https://domain.mobiforce.ru/api/v5/update-contractor-phone?id=1903968


id - внутренний идентификатор существующего контактного лица в системе Мобифорс


{
    "parent":{"id":97611, "type":"contractor"}, //идентификатор родителя для телефона
    "name":"8-800-888-88-88", // Номер телефона
    "phone":["name":"8-800-888-88-88"}] // массив записей телефонов
}
type может принимать значения contractor или person в зависимости от того, куда телефон надо привязать, к контактному лцу клиента, или к основной карточке клиента.

Ответ, например {id:111} - внутренний идентификатор созданного телефона, или сообщение об ошибке.
Получить телефон (контрагента/клиента) (get-contractor-phone)

Строка запроса: https://domain.mobiforce.ru/api/v5/get-contractor-phone?id=1903968


GET – запрос, id – внутренний идентификатор объекта в системе Мобифорс

Ответ:

{
    "id": "1404860",
    "name": "33",
    "deleted": true,
    "parent": {
        "id": "97611",
        "type": "contractor"
    }
}
Удалить телефон (контрагента/клиента) (delete-contractor-phone)

Строка запроса: https://domain.mobiforce.ru/api/v5/delete-contractor-phone?id=1234


POST запрос, id - внутренний идентификатор поля шаблона в системе Мобифорс


Возврат – внутренний идентификатор удаленного поля, или сообщение об ошибке

Добавить новое подразделение (add-subdivision)
Параметры POST-запроса:

{
"contractor_id": "2",//Обязательное поле, идентификатор клиента в Мобифорс, к которому будет привязано подразделение
"external_id": "2",
"name": "Перекресток",
"address": "Ленинский проспект 38",
"address_porch": "1",
"address_floor": "2",
"address_room": "3",
"address_info": "Вход со двора",
"lat": "",
"lon": "",
"template_id": 1,
"contact": [
{
"external_id": "3334",
"name": "Александр",
"tel": [
{
"name": "89036277781"
}
]
},
{
"external_id": "3335",
"name": "Сергей Сергеевич"
}
]
}
Результат запроса – внутренний идентификатор подразделения, или сообщение об ошибке

Шаблон

Обновить существующее подразделение (update-subdivision)

Строка запроса: https://domain.mobiforce.ru/api/v4/update-subdivision?id=12345


id - внутренний идентификатор подразделения в системе Мобифорс

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

{
"name": "Перекресток",
"address": "Ленинский проспект 38",
"address_porch": "1",
"address_floor": "2",
"address_room": "3",
"address_info": "Вход со двора",
"lat": "",
"lon": "",
"template_id": 1,
"contact": [
{
"external_id": "3334",
"name": "Александр",
"tel": [
{
"name": "89036277781"
}
]
},
{
"external_id": "3335",
"name": "Сергей Сергеевич"
}
]
}
Получить данные поля шаблона задач (get-template-field)

Строка запроса: https://domain.mobiforce.ru/api/v5/ get-template-field?id=1234


GET – запрос, id - внутренний идентификатор поля шаблона в системе Мобифорс

Ответ:

{
    "id": "6636",
    "name": "Реквизит перечисление",
    "type": {
        "id": "5",
        "name": "list"
    },
    "valueList": [
        {
            "id": "2747",
            "deleted": false,
            "name": "да"
        },
        {
            "id": "2751",
            "deleted": true,
            "name": "нет"
        }
    ]
}
Получить список полей шаблона задач (get-template-field-list)

Строка запроса: https://domain.mobiforce.ru/api/v5/ get-template-field-list?page=1


GET – запрос, page – номер выводимой страницы с результатами, по умолчанию 0, результатов на странице 10.

Ответ:

[
    {
        "id": "1611",
        "name": "Документы"
    },
    {
        "id": "1664",
        "name": "Тип выезда"
    },
    {
        "id": "1665",
        "name": "Тип оплаты"
    }
]
Удалить поле шаблона задач (delete-template-field)

Строка запроса: https://domain.mobiforce.ru/api/v5/delete-template-field?id=1234


POST запрос, id - внутренний идентификатор поля шаблона в системе Мобифорс


Возврат – внутренний идентификатор удаленного поля, или сообщение об ошибке

Создать шаблон задач (create-template)
Параметры POST-запроса:

{
    "color": "#ffffff",//Цвет маркера шаблона в шестнадцатеричной записи
    "name": "Реквизит перечисление",// наименование шаблона
    "visit": { //возможный день назначения задачи
        "id": 2, // Идентификатор дня назначения, см ниже
    },
    "visitDuration": 7200, // Планируемое время выполнения задачи в секундах
    "props": [	// Список дополнительных свойств задачи
        {
            "visibleToMobile": false,// видимость поля мобильному сотруднику
            "field": { 
                "id": "1668", //идентификатор поля шаблона задачи
            }
        }
    ],
    "checklist": {// Список дополнительных свойств отчета задачи
        "required": true, // Обязательно для заполнения в мобильном приложении
        "field": {
            "id": "6636" //идентификатор поля шаблона задачи
        }
    }
}
Типы возможных дней назначения задачи
Ответ, например {id:111} - внутренний идентификатор созданного шаблона задач, или сообщение об ошибке.
Обновить шаблон задач (update-template)

Строка запроса: https://domain.mobiforce.ru/api/v5/update-template?id=1234


id - внутренний идентификатор поля шаблона в системе Мобифорс

Параметры POST-запроса:

{
    "color": "#ffffff",//Цвет маркера шаблона в шестнадцатеричной записи
    "name": "Реквизит перечисление",// наименование шаблона
    "visit": { //возможный день назначения задачи
        "id": 2, // Идентификатор дня назначения, см ниже
    },
    "visitDuration": 7200, // Планируемое время выполнения задачи в секундах
    "props": [	// Список дополнительных свойств задачи
        {
            "visibleToMobile": false,// видимость поля мобильному сотруднику
            "field": { 
                "id": "1668", //идентификатор поля шаблона задачи
            }
        }
    ],
    "checklist": {// Список дополнительных свойств отчета задачи
        "required": true, // Обязательно для заполнения в мобильном приложении
        "field": {
            "id": "6636" //идентификатор поля шаблона задачи
        }
    }
}
Ответ – внутренний идентификатор шаблона, или сообщение об ошибке.
Получить данные поля шаблона задач (get-template-field)

Строка запроса: https://domain.mobiforce.ru/api/v5/ get-template-field?id=1234


GET – запрос, id - внутренний идентификатор поля шаблона в системе Мобифорс

Ответ:

{
    "id": "4241",
    "color": "#ffffff",
    "createdAt": "1635265800",
    "name": "Реквизит перечисление",
    "visit": {
        "id": "2",
        "name": "Сегодня"
    },
    "visitDuration": "7200",
    "props": [
        {
            "id": "14016",
            "name": "Сумма по чеку",
            "visibleToMobile": false,
            "required": false,
            "field": {
                "id": "1668",
                "type": {
                    "id": "2"
                }
            }
        }
    ],
    "checklist": [
        {
            "id": "14017",
            "name": "Диагностика (рубли)",
            "visibleToMobile": null,
            "required": false,
            "field": {
                "id": "1701",
                "type": {
                    "id": "2"
                }
            }
        }
    ]
}
Получить список шаблонов задач (get-template-list)

Строка запроса: https://domain.mobiforce.ru/api/v5/ get-template-list?page=1


GET – запрос, page – номер выводимой страницы с результатами, по умолчанию 0, результатов на странице 10.

Ответ:

[
    {
        "id": "1611",
        "name": "Документы"
    },
    {
        "id": "1664",
        "name": "Тип выезда"
    },
    {
        "id": "1665",
        "name": "Тип оплаты"
    }
]
Удалить шаблона задач (delete-template)

Строка запроса: https://domain.mobiforce.ru/api/v5/delete-template?id=1234


POST запрос, id - внутренний идентификатор шаблона в системе Мобифорс


Возврат – внутренний идентификатор удаленного поля, или сообщение об ошибке

Ответ:

{
    "to":"props",
    "field":{"id":2512},
    "parent":2420,
    "position":1
}

Сотрудники

Получить список сотрудников (get-employee-list)

Строка запроса: https://domain.mobiforce.ru/api/v5/ get-employee-list?page=1


GET – запрос, page – номер выводимой страницы с результатами, по умолчанию 0, результатов на странице 10.

Ответ:

[
{
        "id": "2977",
        "name": "Александр Смирнов",
        "operatorRole": true,
        "mobileRole": false
    },
    {
        "id": "3091",
        "name": "Петр Иванов",
        "operatorRole": false,
        "mobileRole": true
    },

]

Оборудование

Создать модель оборудования (create-equipment-model)

Строка запроса: https://domain.mobiforce.ru/api/v5/create-equipment-model


GET – запрос, page – номер выводимой страницы с результатами, по умолчанию 0, результатов на странице 10.

Параметры POST-запроса:

{
    "name": "150 SX",// наименование модели
    "type": { //не обязательный
        "id": "6636" //идентификатор типа оборудования
    },
    "manufacture": { //не обязательный
        "id": "436" //идентификатор производителя оборудования
    }

}
Ответ, например {id:111} - внутренний идентификатор созданной модели оборудования, или сообщение об ошибке.
Обновить модель оборудования (update-equipment-model)

Строка запроса: https://domain.mobiforce.ru/api/v5/update-equipment-model?id=1234


id - внутренний идентификатор модели оборудования в системе Мобифорс

Параметры POST-запроса:

{
    "name": "150 SX",// наименование модели
    "type": { //не обязательный
        "id": "6636" //идентификатор типа оборудования
    },
    "manufacture": { //не обязательный
        "id": "436" //идентификатор производителя оборудования
    }

}
Ответ – внутренний идентификатор модели оборудования, или сообщение об ошибке.
Получить список моделей оборудования (get-equipment-model-list)

Строка запроса: https://domain.mobiforce.ru/api/v5/ get-equipment-model-list?page=1


GET – запрос, page – номер выводимой страницы с результатами, по умолчанию 0, результатов на странице 10.

Ответ:

[
    {
        "id": "1611",
        "name": "150 SX"
    },
    {
        "id": "1664",
        "name": "150 DS"
    },
    
]
Удалить модель оборудования (delete-equipment-model)

Строка запроса: https://domain.mobiforce.ru/api/v5/delete- equipment-model?id=1234


POST запрос, id - внутренний идентификатор модели оборудования в системе Мобифорс


Возврат – внутренний идентификатор удаленной модели оборудования, или сообщение об ошибке

Создать оборудования (create-equipment)
Параметры POST-запроса:

{
    "serialNumber":"Q1234", // Серийный номер оборудования

    "props":[// Список значений дополнительных полей оборудования, не обязательный
        {
            "value": [true], //Значения поля оборудования, булево
            "field":{"id":61} //Идентификатор поля оборудования
        },
        {
            "value": ["Встренная"],//Значения поля оборудования, строка
            "field":{"id":61}
        }
    ],
    "model":{//модель оборудования, не обязательный
        "id":574
        }
    "contractor":{//Клиент, владеющий оборудованием, не обязательный
        "id":714
        }
}
Ответ, например {id:111} - внутренний идентификатор созданного оборудования, или сообщение об ошибке.
Обновить оборудование (update-equipment)

Строка запроса: https://domain.mobiforce.ru/api/v5/update-equipment?id=1234


id - внутренний идентификатор оборудования в системе Мобифорс

Параметры POST-запроса:

{
    "serialNumber":"Q1234", // Серийный номер оборудования

    "props":[// Список значений дополнительных полей оборудования, не обязательный
        {
            "value": [true], //Значения поля оборудования, булево
            "field":{"id":61} //Идентификатор поля оборудования
        },
        {
            "value": ["Встренная"],//Значения поля оборудования, строка
            "field":{"id":61}
        }
    ],
    "model":{//модель оборудования, не обязательный
        "id":574
        }
    "contractor":{//Клиент, владеющий оборудованием, не обязательный
        "id":714
        }
}
Ответ – внутренний идентификатор оборудования, или сообщение об ошибке.
Получить оборудование по идентификатору (get-equipment)

Строка запроса: https://domain.mobiforce.ru/api/v5/get-equipment?id=1234


GET – запрос, id - внутренний идентификатор оборудования Мобифорс

Ответ:

{
    "id": "4161",
    "createdAt": "1651227794",
    "author": {
        "id": "9050",
        "name": "Сергей"
    },
    "employee": "0",
    "externalId": "",
    "name": "DF4534346JG453",
    "inventoryNumber": "",
    "description": "СМА Ariston BI WMHL 71283 с/н DF4534346JG453",
    "contractor": {
        "id": "2046355",
        "name": "Петров Игорь Семенович",
        "parent": "0",
        "lat": "55.7719",
        "lon": "37.5963",
        "favourites": false,
        "address": "г Москва, ул 3-я Тверская-Ямская, д 12 стр 1",
        "addressFloor": "",
        "addressRoom": "",
        "addressPorch": "",
        "addressInfo": "",
        "subdivisionCounter": "0",
        "region": "''",
        "employeeRegion": "''"
    },
    "equipmentModel": {
        "id": "641",
        "name": "BI WMHL 71283",
        "manufacture": {
            "mName": "Ariston"
        },
        "type": {
            "tName": "СМА"
        }
    },
    "equipmentFieldValues": []
}

Получить список оборудования (get-equipment-list)

Строка запроса: https://domain.mobiforce.ru/api/v5/get-equipment-list?page=1


GET – запрос, page – номер выводимой страницы с результатами, по умолчанию 0, результатов на странице 10.

Ответ:

[
    {
        "id": "1611",
        "name": "SX2928934"
    },
    {
        "id": "1664",
        "name": "DS2332"
    },
]
Удалить оборудование (delete-equipment)

Строка запроса: https://domain.mobiforce.ru/api/v5/delete- equipment?id=1234


POST запрос, id - внутренний идентификатор оборудования в системе Мобифорс


Возврат – внутренний идентификатор удаленного оборудования, или сообщение об ошибке

Запросить список последних изменений (get-update-list)

https://domain.mobiforce.ru/api/v5/get-updates?type=YYYY&usn=XXXX


usn - update sequence number (USN), порядковый номер обновления, связанный с типом объекта, увеличивающийся при каждом обновлении объекта.


type - тип объекта по которому запрашивается изменение, доступные значения описаны ниже.


Для получения новой порции обновлений, необходимо передать запрос с интересующим типом объекта и соответствующим ему порядковым номером обновления usn, полученном в предыдущем запросе.


Ответ будет состоять из массива с элементами, содержащими идентификатор обновленного объекта, usn данного объекта и дату последнего обновления


Элементы в массиве расположены строго по возрастанию usn(и, соответственно, даты их обновления).


Последний элемент массива содержит максимальный usn, который необходимо передать в следующем запросе обновлений.


Максимальное количество возвращаемых элементов: 3000


Если производится первый обмен в системе, и usn еще не определен, передаётся usn=0


task - получение списка обновленных задач
Ответ:

[
    {
        "usn": "363",
        "taskId": "655621",
        "time": "2022-11-26 00:45:06"
    },
    {
        "usn": "448",
        "taskId": "655634",
        "time": "2022-11-26 00:45:06"
    },
]

Пример запроса обновлений

1
Первичный запрос при инициализации системы, ответ с информацией о нескольких измененных элементах, сохранение максимального usn 448 (находится в последнем элементе списка).
Запрос: get-updates?type=OBJECT_TYPE&usn=0

[
    {
        "usn": "363",
        "objectId": "655621",
        "time": "2022-11-26 00:45:06"
    },
    {
        "usn": "448",
        "objectId": "655634",
        "time": "2022-11-26 00:45:07"
    },
]

2
Запрос изменения с номера 448, сохраненного в предыдущем шаге, получение данных о изменено элементе и нового usn 563.
Запрос: get-updates?type=OBJECT_TYPE&usn=448

[
    {
        "usn": "563",
        "objectId": "655627",
        "time": "2022-11-26 00:48:06"
    }
]
3
Запрос изменения с номера 563, сохраненного в предыдущем шаге, получение информации об отсутствии изменений.

Запрос: get-updates?type=OBJECT_TYPE&usn=563
4
Запрос изменения с номера 563, сохраненного ранее получение информации об отсутствии изменений.

Запрос: get-updates?type=OBJECT_TYPE&usn=563
5
Запрос изменения с номера 563, сохраненного в предыдущем шаге, получение данных о изменено элементе и нового usn 888.
Запрос: get-updates?type=OBJECT_TYPE&usn=563

[
    {
        "usn": "888",
        "objectId": "755627",
        "time": "2022-12-20 12:45:06"
    }
]
6
Запрос изменения с номера 888, сохраненного в предыдущем шаге, получение информации об отсутствии изменений.

Запрос: get-updates?type=OBJECT_TYPE&usn=888
Другие полезные статьи
Самые популярные материалы по работе с сервисом Мобифорс
Как создать задачу


Как оператору создать задачу и отправить ее исполнителю.

Подробнее →
Как взять задачу в работу

Как мобильному сотруднику взять задачу в работу.

Подробнее →
Как создать шаблон


Как создать шаблон под собственные бизнес-процессы.

Подробнее →
Как подключить тариф


Как подключить или сменить тарифный план.


Подробнее →
СКАЧАЙТЕ ПРИЛОЖЕНИЕ МОБИФОРС