CLOSE

Введение

API РемонтОнлайн содержит набор вызываемых методов.

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

Для всех запросов действует ограничение по количеству. Вы можете делать не более 8-ми запросов в секунду.


				

Пагинация

Для запросов, которые возвращают номер страницы page, доступна пагинация. Возвращаемый параметр count содержит общее количество значений. Каждый запрос с пагинацией возвращает до 50 значений. Для итерации по страницам необходимо передавать параметр page=N.



													
													
					

Настройки

Настройки компании можно сохранить у себя в локальном хранилище и использовать во время интеграции с РемонтОнлайн.



Url: Описание запроса:
  • token (required)
Описание ответа:
  • timezone: string - Временная зона.
													
																			
							
					

Авторизация

Все запросы к API должны содержать в себе параметр token.

Для того, чтобы получить token вам необходимо отправить запрос используя api_key пользователя вашей компании. Вы можете получить api_key в вашем личном кабинете.

Внимание! Время жизни token ограничено во времени и составляет ~10 минут.



													
																			
							
					

Мастерские

Используется для получения списка всех не удаленных мастерских компании.



Url: Описание запроса:
  • token (required)
Описание ответа:
  • id: integer.
  • name: string. Название мастерской.
													
																			
							
					

Сотрудники

Используется для получения списка всех не удаленных сотрудников компании.



Url: Описание запроса:
  • token (required)
Описание ответа:
  • id: integer
  • phone: string - Телефон;
  • email: string - Email;
  • deleted: bool - Удален сотрудник или нет;
  • first_name: string - Имя сотрудника;
  • last_name: string - Фамилия сотрудника;
  • notes: string - Примечание.
													
																			
							
					

Наценки

Возвращает список наценок, которые используются в компании.



Url: Описание запроса:
  • token (required)
Описание ответа:
  • id: integer
  • title: string - Название наценки;
  • margin: integer - Размер наценки относительно закупочной стоимости.
													
																			
							
					

Статусы

Возвращает список статусов компании.



Url: Описание запроса:
  • token (required)
Описание ответа:
  • id: integer
  • color: string - hex представление цвета;
  • name: string - Название статуса.
  • group: integer - Группа статуса:
    • 0 - Пользовательские;
    • 1 - Новые;
    • 2 - На исполнении;
    • 3 - Отложенные;
    • 4 - Исполненные;
    • 5 - Доставка;
    • 6 - Закрытые.
													
																			
							
					

Клиенты

Для работы с клиентами доступно несколько методов:

  • Получить список клиентов;
  • Создать клиента.

				

Пользовательские поля

Возвращает список пользовательских полей для клиента. Не возвращает поля-заголовки.



Url: Описание запроса:
  • token (required)
  • juridical: bool - Тип клиента (юр.лицо?); если указан, будут возвращены только поля привязанные к этому типу клиента.
Описание ответа:
  • id: integer
  • name: string - Название пользовательского поля;
  • type: integer - Тип пользовательского поля:
    • 0 - Чекбокс;
    • 1 - Текстовое поле (одна строка);
    • 2 - Текстовая область (несколько строк);
    • 3 - Список значений;
    • 4 - Дата + время;
    • 5 - Дата;
    • 6 - Число;
    • 7 - Справочник (системный тип)
													
																			
							
					

Источники откуда клиент узнал о нас

Возвращает список источников откуда клиент узнал о нас.



Url: Описание запроса:
  • token (required)
Описание ответа:
  • id: integer
  • title: string - Источник откуда клиент узнал о нас.
													
																			
							
					

Список клиентов

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



Url: Описание запроса:
  • token (required)
  • names: array - Фильтр по имени клиента. Учитывать клиентов у которых переданный параметр содержится в значении name клиента;
  • phones: array - Фильтр по телефону клиента. Учитывать клиентов у которых переданный параметр содержится в значении phone клиента;
  • emails: array - Фильтр по email клиента. Учитывать клиентов у которых переданный параметр содержится в значении email клиента;
  • addresses: array - Фильтр по адресу клиента. Учитывать клиентов у которых переданный параметр содержится в значении adress клиента;
  • discount_codes: array - Фильтр по скидочным картам;
  • modified_at: array - Фильтр по дате изменения сущности клиента. Массив из одного либо двух значений, которые содержат в себе timestamp. В случае, если массив состоит из одного значения, то оно является левой границей. Примеры: [1454277600000, 1456783200000], [1454277500000];
  • marketing_sources: array - Массив идентификаторов источников откуда клиент узнал о нас;
  • juridical: bool - Вернуть только юридические лица, если правда, и только физические лица, если ложь;
  • conflicted: bool - Вернуть конфликтных клиентов, если правда, и только не конфликтных, если ложь;
  • supplier: bool - Вернуть клиентов являющихся поставщиками, если правда, и только обычных, если ложь;
Описание ответа:
  • id: integer
  • name: string - ФИО клиента;
  • phone: array[string] - Массив телефонов клиента;
  • email: string - Email клиента;
  • notes: string - Примечания по клиенту;
  • address: string - Адрес клиента;
  • supplier: bool - Клиент является поставщиком?;
  • juridical: bool - Клиент работает как юр.лицо?;
  • conflicted: bool - Конфликтный клиент?;
  • modified_at: timestamp - Время последнего изменения в данных клиента;
  • marketing_source: object - Источник откуда пришел данный клиент;
  • discount_code: string - Скидочная карта клиента;
  • discount_goods: float - Скидка клиента на товары;
  • discount_services: float - Скидка клиента на услуги.
													
																			
							
					

Создание клиента

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



Url: Описание запроса:
  • token (required)
  • name: string - Имя клиента;
  • phone: array[string] - Телефон клиента;
  • email: string - Email клиента;
  • address: string - Адрес клиента;
  • notes: string - Примечания по клиенту;
  • supplier: bool - Клиент является поставщиком? По умолчанию False;
  • juridical: bool - Клиент работает как юр.лицо? По умолчанию False;
  • conflicted: bool - Конфликтный клиент? По умолчанию False;
  • marketing_source: integer - Идентификатор источника откуда данный клиент узнал о нас;
  • discount_code: string - Скидочная карта клиента;
  • discount_goods: float - Скидка клиента на товары;
  • discount_services: float - Скидка клиента на услуги.
Описание ответа:
  • id: integer - Идентификатор созданного клиента.
													
																			
							
					

Обновление клиента

Данный ресурс используется для обновления клиента. Работа с этим ресурсом абсолютно идентична тому, как мы создаем клиента. Ключевые изменения: метод PUT; обязательный параметр id.



Url: Описание запроса:

Аргументы, и их типы, абсолютно идентичные методу создания клиента.

Описание ответа:

id: integer - Идентификатор обновленного клиента.

													
																			
							
					

Касса

Для работы с кассами доступны следующие методы:

  • Получить список касс;
  • Получить историю транзакций по кассе.

				

Получение списка касс компании

Для начала работы с кассами, необходимо получить список касс компании. Вы можете отфильтровать список по конкретной мастерской передав идентификатор мастерской branch_id в запрос.



Url: Описание запроса:
  • token (required)
  • branch_id (optional)
Описание ответа:
  • id: integer
  • cash_type: integer - Тип кассы. Возможные значения: 0 - наличная, 1 - безналичная;
  • currency: string - Валюта кассы;
  • deposit: float - Денежная сумма, которая находится в кассе;
  • is_global: bool - Является ли касса глобальной?
  • title: string - Название кассы.
													
																			
							
					

Получение истории транзакций по кассе

Используйте данный ресурс для получения списка транзакций по кассе. В ответе вы получите value и direction, если direction равен 1 - это означает, что был расход по кассе (-1 * value).



Url: Описание запроса:
  • token (required)
  • created_at: array - Фильтр по дате создания. Массив из одного либо двух значений, которые содержат в себе timestamp. В случае, если массив состоит из одного значения, то оно является левой границей. Примеры: [0, 1454277600000], [1454277500000];
Описание ответа:
  • id: integer
  • value: float - Денежная сумма;
  • direction: integer - Направление денежной суммы. Возможные значение: 0 - доход, 1 - расход;
  • employee_id: integer - Идентификатор сотрудника, который создал транзакцию;
  • created_at: timestamp - Дата и время создания транзакции;
  • description: string - Дополнительное описание для кассовой транзакции.
													
																			
							
					

Счета

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



Url: Описание запроса:
  • token (required)
  • ids: array - Фильтр по системному идентификатору счета;
  • id_labels: array - Фильтр по идентификатору счета;
  • statuses: array - Массив идентификаторов статусов для счета. Счета можно отфильтровать по их статусам. Возможные идентификаторы:
    • Черновик: integer - 0;
    • Выставлен: integer - 1;
    • Оплачен: integer - 2;
    • Отменен: integer - 3.
  • created_at: array - Фильтр по дате создания. Массив из одного либо двух значений, которые содержат в себе timestamp. В случае, если массив состоит из одного значения, то оно является левой границей. Примеры: [0, 1454277600000], [1454277500000];
  • client_names: array - Фильтр по имени клиента. Перечень имен клиентов;
  • client_phones: array - Фильтр по телефону клиента. Перечень телефонных номеров клиентов;
Описание ответа:

id: integer.

  • id_label: string. Идентификатор счета в компании.
  • client: object. Данные по клиенту в счете.
  • status: integer. Статус счета. Возможные значения: 0 - черновик, 1 - выставлен, 2 - оплачен, 3 - отменен.
  • created_at: timestamp. Дата и время создания счета.
  • payment_type: integer. Форма оплаты счета. Возможные значения: 0 - наличные, 1 - безналичные.
  • products: array[object].
    • id: integer.
    • order_id: integer|null. Системный идентификатор заказа. Может быть пустым.
    • price: float. Цена товара.
    • amount: float. Количество товара.
    • service: bool. True - сервис, False - товар.
    • title: string. Название товара.
													
																			
							
					

Заказы

Для работы с заказами доступно несколько методов:

  • Получить список пользовательских полей;
  • Получить типы заказов;
  • Получить список заказов компании;
  • Создать заказ.

				

Пользовательские поля

Возвращает список пользовательских полей компании. Не возвращает поля-заголовки.



Url: Описание запроса:
  • token (required)
  • juridical:ordertype_id: int - Тип заказа; если указан, будут возвращены только поля привязанные к этому типу заказа.
Описание ответа:
  • id: integer
  • name: string - Название пользовательского поля;
  • type: integer - Тип пользовательского поля:
    • 0 - Чекбокс;
    • 1 - Текстовое поле (одна строка);
    • 2 - Текстовая область (несколько строк);
    • 3 - Список значений;
    • 4 - Дата + время;
    • 5 - Дата;
    • 6 - Число;
    • 7 - Справочник (системный тип)
													
																			
							
					

Типы заказов

Возвращает список типов заказов.



Url: Описание запроса:
  • token (required)
Описание ответа:
  • id: integer
  • name: string - Название типа заказа.
													
																			
							
					

Заказы компании

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



Url: Описание запроса:
  • token (required)
  • types: array - Массив идентификаторов типов заказа;
  • branches: array - Перечень идентификаторов мастерских;
  • brands: array - Перечень брендов;
  • ids: array - Массив системных идентификаторов заказов;
  • id_labels: array - Массив идентификаторов заказов;
  • statuses: array - Массив идентификаторов статусов для заказа;
  • managers: array - Массив идентификаторов сотрудников компании;
  • engineers: array - Массив идентификаторов сотрудников компании;
  • client_names: array - Перечень имен клиентов;
  • client_phones: array - Перечень телефонных номеров клиентов;
  • created_at: array - Фильтр по дате создания. Массив из одного либо двух значений, которые содержат в себе timestamp. В случае, если массив состоит из одного значения, то оно является левой границей. Примеры: [0, 1454277600000], [1454277500000];
  • done_at: array - Фильтр по дате готовности. Массив из одного либо двух значений, которые содержат в себе timestamp. В случае, если массив состоит из одного значения, то оно является левой границей. Примеры: [1454277600000, 1456783200000], [1454277500000];
  • modified_at: array - Фильтр по дате изменения заказа;
  • closed_at: array - Фильтр по дате выдачи. Массив из одного либо двух значений, которые содержат в себе timestamp. В случае, если массив состоит из одного значения, то оно является левой границей. Примеры: [1456783200000, 1454925794507], [1454277500000].
Описание ответа:
  • id: integer
  • brand: string
  • model: string
  • price: float
  • payed: float
  • resume: string
  • urgent: bool
  • serial: string
  • client: object
  • status: object
  • done_at: timestamp
  • overdue: bool
  • engineer_id: integer
  • manager_id: integer
  • branch_id: integer
  • appearance: string
  • created_by_id: integer
  • order_type: object
  • operations: array
  • operations[].engineer_id: integer - Идентификатор исполнителя;
  • operations[].title: string - Название:
  • operations[].cost: float - Себестоимость одной единицы;
  • operations[].price: float - Цена за одну единицу с учетом скидки;
  • operations[].discount_value: float - Сумма скидки на одну единицу;
  • operations[].amount: float - Количество;
  • operations[].warranty_period: integer - Единицы измерения гарантийного периода:
    • 0 - гарантия задана в днях;
    • 1 - гарантия задана в месяцах.
  • parts: array
  • parts[].engineer_id: integer - Идентификатор исполнителя;
  • parts[].title: string - Название:
  • parts[].cost: float - Себестоимость одной единицы;
  • parts[].price: float - Цена за одну единицу с учетом скидки;
  • parts[].discount_value: float - Сумма скидки на одну единицу;
  • parts[].amount: float - Количество;
  • parts[].warranty: integer - Гарантийный период;
  • parts[].warranty_period: integer - Единицы измерения гарантийного периода:
    • 0 - гарантия задана в днях;
    • 1 - гарантия задана в месяцах.
  • attachments: array
  • attachments[].created_by_id: integer
  • attachments[].created_at: timestamp
  • attachments[].url: string
  • attachments[].filename: string
  • created_at: timestamp
  • assigned_at: timestamp
  • closed_at: timestamp
  • modified_at: timestamp
  • packagelist: string
  • kindof_good: string
  • malfunction: string
  • id_label: string
  • closed_by_id: integer
  • custom_fields: object
  • warranty_date: timestamp
  • manager_notes: string
  • estimated_cost: float
  • engineer_notes: string
  • estimated_done_at: timestamp
													
																			
							
					

Создание заказа

Данный ресурс используется для создания заказа в мастерской.



Url: Описание запроса:
  • token (required)
  • branch_id (required)
  • order_type (required)
  • brand: string - Бренд устройства
  • model: string - Модель устройства
  • serial: string - Серийный номер устройства
  • urgent: bool - Срочный заказ?
  • estimated_cost: float - Ориентировочная стоимость
  • appearance: string - Внешний вид
  • packagelist: string - Комплектация
  • malfunction: string - Неисправность
  • assigned_at: timestamp - Время вызова мастера
  • estimated_done_at: timestamp - Ориентировочное время выполнения заказа
  • manager: int - Идентификатор ответсвенного менеджера
  • engineer: int - Идентификатор ответсвенного исполнителя
  • manager_notes: string - Заметки приемщика
  • warranty_date: timestamp - Дата окончания гарантии
  • kindof_good: string - Тип устройства
  • custom_fields: object - Пользовательские поля
  • client_id: int - Идентификатор клиента
Описание ответа:

id: integer - Идентификатор созданного заказа.

													
																			
							
					

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

Данный ресурс используется для изменения статуса заказа.



Url: Описание запроса:
  • order_id: int - Идентификатор заказа
  • status_id: int - Идентификатор статуса
Описание ответа:

id: integer - Идентификатор обновленного заказа.

													
																			
							
					

Склад

Для работы со складом доступно несколько методов:

  • Получить список складов;
  • Получить список категорий;
  • Получить перечень товаров.

				

Получение списка складов компании

Для начала работы со складом, необходимо получить список складов компании. Вы можете отфильтровать список по конкретной мастерской передав идентификатор мастерской branch_id в запрос.



Url: Описание запроса:
  • token (required)
  • branch_id (optional)
Описание ответа:
  • id: integer
  • is_global: bool - Является ли склад глобальным?
  • title: string - Название склада.
													
																			
							
					

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

Запрос вернет список всех категорий в компании.



Url: Описание запроса:
  • token (required)
Описание ответа:
  • id: integer
  • title: string - Название категории;
  • parent_id: <id|null> - Идентификатор родительской категории.
													
																			
							
					

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

Запрос вернет список товаров компании с информацией по переданному складу. Список товаров для всех складов одинаковый. Отличие товаров между складами только в их остатке.

Вы можете отфильтровать список товаров по категориям, передав идентификаторы необходимых категорий в запрос с помощью аргумента categories[]



Url: Описание запроса:
  • token (required)
  • categories: array
Описание ответа:
  • id: integer
  • code: string - Код товара;
  • title: string - Наименование товара;
  • image: string - Абсолютный URL на изображение товара;
  • price: object - Наценки с ценами;
  • article: string - Артикул товара;
  • residue: float - Остаток товара на указаном складе;
  • category: object - Категория товара. Ответ идентичен методу, который возвращает категории;
  • description: string - Описание товара.
													
																			
							
					

Справочники

Список доступных справочников:

  • Модели;
  • Перечень услуг.

				

Модели

Возвращает справочник моделей компании.



Url: Описание запроса:
  • token (required)
Описание ответа:
  • id: integer
  • title: string - Название модели.
													
																			
							
					

Перечень услуг

Возвращает перечень услуг компании.



Url: Описание запроса:
  • token (required)
Описание ответа:
  • id: integer
  • title: string - Название услуги;
  • price: float - Цена услуги;
  • warranty: integer - Гарантийный период;
  • warranty_period: integer - Единицы измерения гарантийного периода:
    • 0 - гарантия задана в днях;
    • 1 - гарантия задана в месяцах.
													
																			
							
					

Коды ошибок

Запрос может вернуть сообщение и код ошибки.

Коды ошибок:

  • 100 - Обязательный параметр token не был указан;
  • 101 - Указан не правильный token. Сгенерируйте новый token и попробуйте еще раз;
  • 110 - Обязательный параметр api_key не был указан;
  • 111 - Указан не правильный api_key. Проверьте свой api_key в личном кабинете.
  • 400 - Запрос содержит некорректные данные. Сверьте запрос с документацией;
  • 404 - Запрашиваемый ресурс - не найден;
  • 405 - Нет права доступа к ресурсу;
  • 500 - Программная ошибка на сервере. Пожалуйста, сообщите о такой ошибке в нашу техническую поддержку.