Data API сервера task24.pro

Data API позволяет взаимодействовать с сервером task24 из внешних систем по GET-, POST-запросам, JSON.

Поддерживается CRUD-механизм работы со всеми объектами вашей базы данных:

CRUD- механизм предусматривает следующие действия с объектами:

  • get - получить запись по id
  • items - получить список записей по фильтру
  • add - добавить запись
  • save - изменить запись (по id)
  • delete - удалить запись (по id)

Далее приводится описание API для отдельных объектов базы данных.

Доступ к API

Доступ к API размещается по адресу:

http://<ваш домен>.task24.pro/data/

Работа с объектами вашей БД осуществляется через CRUD-методы путем URL-запросов. Предусмотрено 2 варианта доступа к данным:

  • Метод указан прямо в адресе: http://<ваш домен>.task24.pro/data/<тип данных>/<метод>, где <метод> = {get|add|save|items|delete}
  • Метод указан как параметр: http://<ваш домен>.task24.pro/data/<тип данных>?method={get|add|save|items|delete}

В каждом запросе передается Ваш персональный ключ-токен, который отображается в Профиле владельца портала, в поле ID, например, "c1d8hb4d-d4f1-11e3-8301-f4de7aca8743".

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

Например, получить все категории:

http://demo.task24.pro/data/categories/items?token=operator

Тестовый режим

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

Для этого нужно передать параметр testmode=1, например:

http://demo.task24.pro/data/categories/items?token=<ваш токен>&testmode=1

Структура данных API

Все данные возвращаются в JSON-формате, следующего вида:

{
	success:	true/false - признак успешности выполнения запроса.
		Если true - все в порядке, false - возникли ошибки
	data: Mixed - возвращаемые данные (результат запроса). Может быть структура/массив/значение
		например, в случае запроса items, вернет массив записей []
	error: код ошибки (строковый). Содержит строковое id ошибки, в случае неудачного выполненния
		запроса, например, ‘invalid’ - неверный параметр.
	errormsg: описание ошибки, содержит текстовое описание ошибки, например “неверный параметр”
	errors: служит уточнением ошибки, какой параметр заполнен неверно, является структурой
		в виде {“поле”: “значение”}
	worktime: время обработки запроса, в секундах (служебное)
	time: время сервера (служебное)
}

Далее, в примерах запросов, для краткости, будет показано только содержимое поля data.

Пример для PHP

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


	//Создание заказа, с заполнением основных реквизитов
	$res = file_get_contents('http://demo.task24.pro/data/tickets/add?'
		. http_build_query(array(
	
			//ключ вашего аккаунта (можно посмотреть в профиле)
		'token' => 'fe91233e-a145-11e4-9c76-001e8c8f500c',
		
			//Запланированное время работ
		'date' => '2015-02-10 10:35:27',
		
			//Сразу на раздачу
		'state' => 'distributing', 
		
			//id категории "Стиральная машина"
		'category' => '12a374ad-3c59-47a7-8a23-97c78eb2ad36', 
		
			//детализация категории
		'subject' => 'Проблема с водой', 
		
			//Описание заказа
		'description' => 'LG 10 лет, не сливает воду',
		
			//Телефон
		'phone' => '89355672210',
		
			//Адрес
		'address' => 'Пушкинская 213-155',
		
			//Контактное лицо
		'contact' => 'Марина',
		
			//Комментарий (внутренний)
		'comment' => 'домофон не работает'
	)));

Описание API объектов БД

Categories (категории услуг)

Метод Описание

add

Создать новую категорию.

Параметры:

  • name - наименование категории
  • clientcanview = 1 | 0 - могут ли клиенты видеть и заводить заявки данной категории 1 - да, 0 - нет. По-умолчанию 0

Возвращает:

В результате возвращается структура с полями созданной записи

Пример http-запроса:

http://demo.task24.pro/data/categories/add?
    token=demo
    &name=Доставка корреспонденции
    &clientcanview=1

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

data:{
    "name":"Доставка корреспонденции",
    "view":"Доставка корреспонденции",
    "id":"7b6168ac-74c9-11e4-a33d-f46d0485af38"
}

get

Получить данные записи по ее id.

Параметры:

  • id - id категории, данные которой необходимо получить

Возвращает:

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

Пример http-запроса:

http://demo.task24.pro/data/categories/get?
    token=demo
    &id=93ae5832-4e22-11e4-8301-f4de7aca8743

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

data:{
    "id":"9db92ac6-ea74-11e3-9168-f46d0485af38",
    "parent":"d5e8c0b8-2ce6-11e4-9eab-f46d0485af38",
    "view":"Доставка документов",
    "name":"Доставка документов",
    "clientcanview":"1",
    "__owner":"Администратор",
    "__parent":"Доставка корреспонденции"
}

items

Получить список записей

Параметры:

  • filter - JSON-структура значений фильтра по полям

Возвращает:

Возвращает массив записей категорий

Пример http-запроса:

http://demo.task24.pro/data/categories/items?
    token=demo
    &filter={"parent":"a3088d52-4e22-11e4-8301-f4de7aca8743"}

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

data:[{
    "id":"9db92ac6-ea74-11e3-9168-f46d0485af38",
    "parent":"d5e8c0b8-2ce6-11e4-9eab-f46d0485af38",
    "view":"Доставка документов",
    "name":"Доставка документов",
    "clientcanview":"1",
    "__owner":"Администратор",
    "__parent":"Доставка корреспонденции"
}]

save

Изменить запись по ее id

Параметры:

  • id - id категории
  • name - новое наименование категории
  • clientcanview - новое значение признака доступности категории Клиентам

Возвращает:

В результате возвращается структура с полями измененной записи

Пример http-запроса:

http://demo.task24.pro/data/categories/save?
    token=demo
    &id=9db92ac6-ea74-11e3-9168-f46d0485af38
    &name=Доставка рекламок
    &clientcanview=0
      

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

data:{
    "id":"9db92ac6-ea74-11e3-9168-f46d0485af38",
    "parent":"d5e8c0b8-2ce6-11e4-9eab-f46d0485af38",
    "view":"Доставка рекламок",
    "name":"Доставка рекламок",
    "clientcanview":"0",
    "__owner":"Администратор",
    "__parent":"Доставка корреспонденции"
}

delete

Удалить запись по id. Нельзя удалять категории, в которых есть подкатегории, в этом случае возникает код ошибки 'denied'. В этом случае, сперва надо удалить все подкатегории.

Параметры:

  • id - id категории

Возвращает:

В случае успеха, возвращает true.

Пример http-запроса:

http://demo.task24.pro/data/categories/delete?
    token=demo
    &id=9db92ac6-ea74-11e3-9168-f46d0485af38
      

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

data: true

Users (пользователи)

Метод Описание

add

Создать нового пользователя.

Параметры:

  • name - имя пользователя
  • state - Состояние пользователя:
    • "draft" - Кандидат (анкета)
    • "active" - Активный
    • "suspended" - Приостановлен
    • "fired" - Уволен
    • "blocked" - В черном списке
    Для активного пользователя ("active") поизойдет списание абонплаты согласно тарифам.
  • phone - сотовый телефон, в формате +<код страны><оператор><номер> (+79294001122)
  • email - Email пользователя
  • password - пароль
  • role - роль пользователя, доступны "worker", "oprerator"
  • processinglimit - персональный лимит заявок на исполнении (если не задан, то общий лимит)
  • workerpercent - задает персональный % сделки специалиста, указывается в процентах (например, 70)
  • comment - комментарий, сохраняется в карочке сотрудника
  • properties - служебная структура свойств сотрудника, формат JSON:
    {
    	categories:"ced9..f02be,23cd..4f01" //разрешенные категории (через запятую)
    }

Возвращает:

В результате возвращается структура с полями созданной записи

Пример http-запроса:

http://demo.task24.pro/data/users/add?
    token=demo
    &name=Петрович
    &role=worker
    &phone=%2B79042115020
    &comment=Опыт 12 лет по холодильникам, есть авто
    &workerpercent=60
    &properties={"categories":"232758ee-10dc-11e4-8301-f4de7aca8743"}

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

data:{
	state: "draft",
	comment: "Опыт 12 лет по холодильникам, есть авто",
	id: "4e10d7b5-b7f7-4acb-826a-92b25353fb94",
	name: "Петрович",
	paid: "0",
	phone: "+79042115020",
	photoloaded: "0",
	processingcount: "0",
	processinglimit: "",
	properties: "{"categories":"232758ee-10dc-11e4-8301-f4de7aca8743"}",
	regdate: "2014-12-04 14:57:13",
	role: "worker",
	smscount: "0",
	view: "Петрович",
	workerpercent: "60"
}
  

get

Получить данные пользователя по его id.

Параметры:

  • id - id пользователя

Возвращает:

В результате возвращается структура записи

Пример http-запроса:

http://demo.task24.pro/data/users/get?
    token=demo
    &id=4e10d7b5-b7f7-4acb-826a-92b25353fb94
  

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

data:{
	state: "active",
	comment: "Опыт 12 лет по холодильникам, есть авто",
	id: "4e10d7b5-b7f7-4acb-826a-92b25353fb94",
	name: "Петрович",
	paid: "0",
	phone: "+79042115020",
	photoloaded: "0",
	processingcount: "0",
	processinglimit: "",
	properties: "{"categories":"232758ee-10dc-11e4-8301-f4de7aca8743"}",
	regdate: "2014-12-04 14:57:13",
	role: "worker",
	smscount: "0",
	view: "Петрович",
	workerpercent: "60"
}

items

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

Параметры:

  • filter - JSON-структура значений фильтра по полям

Возвращает:

Возвращает массив записей

Пример http-запроса:

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

http://demo.task24.pro/data/users/items?
    token=demo
    &filter={"state": "active"}

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

data:[{
	state: "active",
	comment: "Опыт 12 лет по холодильникам, есть авто",
	id: "4e10d7b5-b7f7-4acb-826a-92b25353fb94",
	name: "Петрович",
	paid: "0",
	phone: "+79042115020",
	photoloaded: "0",
	processingcount: "0",
	processinglimit: "",
	properties: "{"categories":"232758ee-10dc-11e4-8301-f4de7aca8743"}",
	regdate: "2014-12-04 14:57:13",
	role: "worker",
	smscount: "0",
	view: "Петрович",
	workerpercent: "60"
}]

save

Изменить запись по ее id

Параметры:

  • id - id пользователя, данные которого необходимо изменить

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

  • name - имя пользователя
  • state - Состояние пользователя:
    • "draft" - Кандидат (анкета)
    • "active" - Активный
    • "suspended" - Приостановлен
    • "fired" - Уволен
    • "blocked" - В черном списке
    Для активного пользователя ("active") поизойдет списание абонплаты согласно тарифам.
  • phone - сотовый телефон, в формате +<код страны><оператор><номер> (+79294001122)
  • email - Email пользователя
  • password - пароль
  • role - роль пользователя, доступны "worker", "oprerator"
  • processinglimit - персональный лимит заявок на исполнении (если не задан, то общий лимит)
  • workerpercent - задает персональный % сделки специалиста, указывается в процентах (например, 70)
  • comment - комментарий, сохраняется в карочке сотрудника
  • properties - служебная структура свойств сотрудника, формат JSON:
    {
    	categories:"ced9..f02be,23cd..4f01" //разрешенные категории (через запятую)
    }

Возвращает:

В результате возвращается структура с полями измененной записи

Пример http-запроса:

Изменим % исполнителя. Так же, установим новый состав доступных категорий (добавим грузоперевозки)

http://demo.task24.pro/data/users/save?
    token=demo
    &id=4e10d7b5-b7f7-4acb-826a-92b25353fb94
    &workerpercent=50
    &properties={"categories":"232758ee-10dc-11e4-8301-f4de7aca8743,a3088d52-4e22-11e4-8301-f4de7aca8743"}

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

data:{
	state: "active",
	comment: "Опыт 12 лет по холодильникам, есть авто",
	id: "4e10d7b5-b7f7-4acb-826a-92b25353fb94",
	name: "Петрович",
	paid: "0",
	phone: "+79042115020",
	photoloaded: "0",
	processingcount: "0",
	processinglimit: "",
	properties: "{"categories":"232758ee-10dc-11e4-8301-f4de7aca8743,a3088d52-4e22-11e4-8301-f4de7aca8743"}",
	regdate: "2014-12-04 14:57:13",
	role: "worker",
	smscount: "0",
	view: "Петрович",
	workerpercent: "50"
}

delete

Удалить запись по id.

Параметры:

  • id - id пользователя

Возвращает:

В случае успеха, возвращает true.

Пример http-запроса:

http://demo.task24.pro/data/users/delete?
    token=demo
    &id=4e10d7b5-b7f7-4acb-826a-92b25353fb94
      

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

data: true

Clients (клиенты)

Метод Описание

add

Создать нового клиента.

Параметры:

  • name - имя клиента
  • phone - телефон(ы) клиента
  • address - адрес клиента. По адресу вычисляются координаты местонахождения клиента для дальнейшего отображения на карте.
  • lat - координата местонахождения клиента - широта
  • lng - координата местонахождения клиента - долгота
  • email - Email клиента
  • contact - контактное лицо клиента
  • info - заметки по клиенту (видны только сотрудникам)
  • rank - категория клиента, доступны "normal" (обычный), "vip" (вип-клиент), "blocked" (в черном списке)
  • accessweb - выслать приглашение на Email клиента, чтобы он получил доступа в кабинет

Возвращает:

В результате возвращается структура с полями созданной записи

Пример http-запроса:

http://demo.task24.pro/data/clients/add?
    token=demo
    &name=Строймонтаж №6
    &rank=vip
    &phone=203-12-33
    &address=Мельникова, 24
    &contact=Красин Николай
    &info=Обед с 12:30 до 13:30

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

data:{
	accessweb: "0",
	address: "Мельникова, 24",
	id: "0da8d106-7bad-11e4-8612-f46d0485af38",
	info: "Обед с 12:30 до 13:30",
	lat: "55.736770452865755",
	lng: "37.63461969818111",
	name: "Строймонтаж №6",
	phone: "203-12-33",
	rank: "vip",
	regdate: "2014-12-04 15:59:51",
	view: "Строймонтаж №6"
}
  

get

Получить данные клиента по его id.

Параметры:

  • id - id клиента

Возвращает:

В результате возвращается структура записи

Пример http-запроса:

http://demo.task24.pro/data/clients/get?
    token=demo
    &id=0da8d106-7bad-11e4-8612-f46d0485af38
  

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

data:{
	accessweb: "0",
	address: "Мельникова, 24",
	id: "0da8d106-7bad-11e4-8612-f46d0485af38",
	info: "Обед с 12:30 до 13:30",
	lat: "55.736770452865755",
	lng: "37.63461969818111",
	name: "Строймонтаж №6",
	phone: "203-12-33",
	rank: "vip",
	regdate: "2014-12-04 15:59:51",
	view: "Строймонтаж №6"
}

items

Получить список записей клиентов

Параметры:

  • filter - JSON-структура значений фильтра по полям

Возвращает:

Возвращает массив записей

Пример http-запроса:

Получим список VIP-клиентов

http://demo.task24.pro/data/clients/items?
    token=demo
    &filter={"rank": "vip"}

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

data:[{
	accessweb: "0",
	address: "Мельникова, 24",
	id: "0da8d106-7bad-11e4-8612-f46d0485af38",
	info: "Обед с 12:30 до 13:30",
	lat: "55.736770452865755",
	lng: "37.63461969818111",
	name: "Строймонтаж №6",
	phone: "203-12-33",
	rank: "vip",
	regdate: "2014-12-04 15:59:51",
	view: "Строймонтаж №6"
}]

save

Изменить запись по ее id

Параметры:

  • id - id клиента, данные которого необходимо изменить

Далее идет список полей, которые можно изменять:

  • name - имя клиента
  • phone - телефон(ы) клиента
  • address - адрес клиента. По адресу вычисляются координаты местонахождения клиента для дальнейшего отображения на карте.
  • lat - координата местонахождения клиента - широта
  • lng - координата местонахождения клиента - долгота
  • email - Email клиента
  • contact - контактное лицо клиента
  • info - заметки по клиенту (видны только сотрудникам)
  • rank - категория клиента, доступны "normal" (обычный), "vip" (вип-клиент), "blocked" (в черном списке)
  • accessweb - выслать приглашение на Email клиента, чтобы он получил доступа в кабинет

Возвращает:

В результате возвращается структура с полями измененной записи

Пример http-запроса:

Изменим статус и адрес клиента.

http://demo.task24.pro/data/clients/save?
    token=demo
    &id=4e10d7b5-b7f7-4acb-826a-92b25353fb94
    &rank=normal
    &address=Крутицкая, 11

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

data:{
	accessweb: "0",
	address: "Крутицкая 11",
	id: "0da8d106-7bad-11e4-8612-f46d0485af38",
	info: "Обед с 12:30 до 13:30",
	lat: "55.72828932072981",
	lng: "37.65988186508178",
	name: "Строймонтаж №6",
	phone: "203-12-33",
	rank: "normal",
	regdate: "2014-12-04 15:59:51",
	view: "Строймонтаж №6"
}

delete

Удалить запись по id.

Параметры:

  • id - id клиента

Возвращает:

В случае успеха, возвращает true.

Пример http-запроса:

http://demo.task24.pro/data/clients/delete?
    token=demo
    &id=4e10d7b5-b7f7-4acb-826a-92b25353fb94
      

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

data: true

Tickets (заявки)

Метод Описание

add

Создать новую заявку на сервере.

Параметры:

  • date - планируемое дата и время выполнения заявки
  • regdate - дата регистрации заявки. Если не указано - текущее время.
  • acceptdate - дата и время взятия заявки исполнителем
  • enddate - дата и время завершения заявки
  • priority - приоритет: "wait" - низкий (подождёт), "normal" - обычный, "high" - высокий
  • state - состояние заявки: "opened" - редактируется (черновик), "distributing" - на раздаче, "processing" - на исполнении, "completed" - выполнена, "cancelled" - отменена
  • category - id категории (guid)
  • subject - строка. Произвольное описание подкатегории, как уточнение к категории.
  • description - описание заявки, html-формат
  • client - id клиента (guid) из таблицы Clients. Если задан этот параметр, будет осуществлен поиск клиента из справочника по его id. При этом, поля name, phone, email, contact, address, lat, lng, не указанные в запросе, будут заполнены из карточки клиента.
  • name - наименование клиента. Указывается если клиента нет в справочнике.
  • phone - телефонный номер клиента. Если указан вместо поля client, будет осуществлен поиск клиента из справочника по его телефону. При этом, поля name, phone, email, contact, address, lat, lng, не указанные в запросе, будут заполнены из карточки клиента.
  • email - Email клиента. Если указан вместо поля client, будет осуществлен поиск клиента из справочника по его Email. При этом, поля client, name, phone, contact, address, comment, lat, lng будут заполнены из справочника.
  • contact - контактное лицо клиента. Указывается если клиента нет в справочнике.
  • address - адрес клиента. Указывается если клиента нет в справочнике.
  • lat - широта (для карты)
  • lng - долгота (для карты)
  • author - id автора задания, из таблицы Users (guid). Если не указан - будет владелец портала.
  • worker - id сотрудника, из таблицы Users (guid).
  • comment - строка, для создания комментария к созданию документа/изменению состояния.
  • planamount - планируемое количество работы (по нормативу, прайса)
  • plansum - планируемая стоимость работ (по нормативу, прайсу)
  • amount - количество выполненной работы (число)
  • sum - сумма оплаты, взятая с клинта (число)
  • supplysum - сумма расходников (затрат)
  • total - сумма за вычетом затрат: total = sum - supplysum
  • workerpercent - %исполнителя, указывается как число проценотов, например, 70
  • workersum - сумма дохода исполнителя
  • profitsum - сумма дохода фирмы

Возвращает:

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

 

Пример http-запроса:

http://demo.task24.pro/data/tickets/add?token=demo
	&testmode=1
	&state=opened
	&category=net
	&description=<p>Тестовая заявка</p>
	&date=2014-11-28
			

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

data: {
	acceptdate: null,
	amount: 0,
	author: "operator",
	category: "net",
	date: "2014-11-28",
	description: "<p>Тестовая заявка</p>",
	enddate: null,
	id: "0f9897aa-810e-11e4-9351-f01cb848416d",
	number: "32",
	planamount: 0,
	plansum: 0,
	priority: "normal",
	profitsum: 0,
	regdate: "2014-12-11 12:16:51",
	state: "opened",
	subject: null,
	sum: 0,
	supplysum: 0,
	total: 0,
	view: "№32 от 28.11.14 00:00:00",
	workerpercent: 0,
	workersum: 0
}	  
	  

get

Получить данные заявки по ее id.

Параметры:

  • id - id заявки

Возвращает:

В результате возвращается структура записи

Пример http-запроса:

http://demo.task24.pro/data/tickets/get?
    token=demo
    &id=0da8d106-7bad-11e4-8612-f46d0485af38
        

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

{
	__author: "Оператор Наталья",
	__category: "Грузоперевозки",
	__client: "Альянс",
	__owner: "Директор",
	__worker: "Алексей (водила)",
	acceptdate: "2014-10-08 14:50:03",
	amount: "0.0",
	author: "operator",
	category: "a3088d52-4e22-11e4-8301-f4de7aca8743",
	client: "d014dece-4ed4-11e4-8301-f4de7aca8743",
	address: "Остаповский проезд, 3 ст23",
	contact: "",
	email: "",
	name: "Альянс",
	phone: "620-69-30",
	clientrank: "normal",
	comment: null,
	date: "2014-10-08 14:48:00",
	description: "<p>Перевезти сейф + персонал. Сами погрузят/разгрузят</p>",
	enddate: null,
	history: [{id: "dc0a64ca-4ed8-11e4-8301-f4de7aca8743", view: "2014-10-08 14:50:03", owner: "demo",…},…],
	id: "d1de2e3c-4ed8-11e4-8301-f4de7aca8743",
	number: "23",
	planamount: "0.0",
	plansum: "1500.00",
	priority: "normal",
	profitsum: "0.00",
	properties: "{"style":""}",
	regdate: "2014-10-08 14:49:46",
	state: "processing",
	subject: "Крупногабаритные",
	sum: "0.00",
	supplysum: "0.00",
	total: "0.00",
	view: "№23 от 08.10.14 14:48:00",
	worker: "2979ce82-20e8-422d-bc8b-3edbf2a688d0",
	workerpercent: "0.0",
	workersum: "0.00"
}
			

items

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

Параметры:

  • filter - JSON-структура значений фильтра по полям

Особенности фильтра:
Можно задать временной интервал - поля фильтра from, to:

  • filter:{'from':'2014-11-01'} //с начала ноября 2014
  • filter:{'to:'2014-11-15'} //по 15 ноября 2014
  • filter:{'from':'2014-11-01','to': '2014-11-30'} //за ноябрь 2014

Если задан фильтр по состоянию документа state, то поля from, to будут работать по разному, в зависимости от состояния:

  • state="processing" (на исполнении) - поля from, to будут задавать фильтр по полю acceptdate
  • state="completed" (завершена) - поля from, to будут задавать фильтр по полю enddate
  • прочие state - поля from, to будут задавать фильтр по полю date (запланированное время выполнения заявки)

Возвращает:

Возвращает массив записей в data.

Так же, возвращается итоговое количесто заявок, по состояниям - структура stat

Пример http-запроса:

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

http://demo.task24.pro/data/tickets/items?
    token=demo
    &filter={"state": "distributing"}

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

data: [{id: "0e80f094-758b-11e4-9351-f01cb848416d", view: "№27 от 26.11.14 20:41:00", number: "27",…},…]
stat: {all: 27, opened: 0, distributing: 17, processing: 5, completed: 5, cancelled: 0}
	  

save

Изменить запись по ее id

Параметры:

  • id - id заявки, данные которой необходимо изменить

Далее идет список полей, которые можно изменять:

  • date - планируемое дата и время выполнения заявки
  • acceptdate - дата и время взятия заявки исполнителем
  • enddate - дата и время завершения заявки
  • priority - приоритет: "wait" - низкий (подождёт), "normal" - обычный, "high" - высокий
  • state - состояние заявки: "opened" - редактируется (черновик), "distributing" - на раздаче, "processing" - на исполнении, "completed" - выполнена, "cancelled" - отменена
  • category - id категории (guid)
  • subject - строка. Произвольное описание подкатегории, как уточнение к категории.
  • description - описание заявки, html-формат
  • client - id клиента (guid) из таблицы Clients. Если задан этот параметр, будет осуществлен поиск клиента из справочника по его id. При этом, поля name, phone, email, contact, address, lat, lng, не указанные в запросе, будут заполнены из карточки клиента.
  • name - наименование клиента. Указывается если клиента нет в справочнике.
  • phone - телефонный номер клиента. Если указан вместо поля client, будет осуществлен поиск клиента из справочника по его телефону. При этом, поля name, phone, email, contact, address, lat, lng, не указанные в запросе, будут заполнены из карточки клиента.
  • email - Email клиента. Если указан вместо поля client, будет осуществлен поиск клиента из справочника по его Email. При этом, поля client, name, phone, contact, address, comment, lat, lng будут заполнены из справочника.
  • contact - контактное лицо клиента. Указывается если клиента нет в справочнике.
  • address - адрес клиента. Указывается если клиента нет в справочнике.
  • lat - широта (для карты)
  • lng - долгота (для карты)
  • worker - id сотрудника, из таблицы Users (guid).
  • comment - строка, для создания комментария к созданию документа/изменению состояния. При изменении состояния state, будет создан новый комментарий в истории заявки
  • planamount - планируемое количество работы (по нормативу, прайса)
  • plansum - планируемая стоимость работ (по нормативу, прайсу)
  • amount - количество выполненной работы (число)
  • sum - сумма оплаты, взятая с клинта (число)
  • supplysum - сумма расходников (затрат)
  • total - сумма за вычетом затрат: total = sum - supplysum
  • workerpercent - %исполнителя, указывается как число проценотов, например, 70
  • workersum - сумма дохода исполнителя
  • profitsum - сумма дохода фирмы

Возвращает:

В результате возвращается структура с полями измененной записи

Пример http-запроса:

Изменим состояние заявки.

http://demo.task24.pro/data/tickets/save?
	token=demo
	&testmode=1
	&id=d1de2e3c-4ed8-11e4-8301-f4de7aca8743
	&state=opened

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

{
	acceptdate: "2014-10-08 14:50:03",
	amount: "0.0",
	author: "operator",
	category: "a3088d52-4e22-11e4-8301-f4de7aca8743",
	client: "d014dece-4ed4-11e4-8301-f4de7aca8743",
	address: "Остаповский проезд, 3 ст23",
	contact: "",
	email: "",
	name: "Альянс",
	phone: "620-69-30",
	comment: null,
	date: "2014-10-08 14:48:00",
	description: "<p>Перевезти сейф + персонал. Сами погрузят/разгрузят</p>",
	enddate: null,
	id: "d1de2e3c-4ed8-11e4-8301-f4de7aca8743",
	number: "23",
	planamount: "0.0",
	plansum: "1500.00",
	priority: "normal",
	profitsum: "0.00",
	regdate: "2014-10-08 14:49:46",
	state: "opened",
	subject: "Крупногабаритные",
	sum: "0.00",
	supplysum: "0.00",
	total: "0.00",
	view: "№23 от 08.10.14 14:48:00",
	worker: "2979ce82-20e8-422d-bc8b-3edbf2a688d0",
	workerpercent: "0.0",
	workersum: "0.00"
}

delete

Удалить запись по id.

Параметры:

  • id - id заявки

Возвращает:

В случае успеха, возвращает true.

Пример http-запроса:

http://demo.task24.pro/data/tickets/delete?
	token=demo
	&testmode=1
	&id=d1de2e3c-4ed8-11e4-8301-f4de7aca8743
        

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

data: true