MapAdmin — rest — news-info

Формат ответа:

{
	res: 1,
	resText: "",
	news_data: {
		id: "18766",
		user_id: "1230",
		user_fio: "Пользователь1",
		department_id: "493",
		department_logo: "logo_493.png",
		department_title: "Организация1",
		news_date: "2014-11-06 14:05:00",
		title: "Тест",
		text: "Тест1",
		num_main_photo: "1",
		archive: "f",
		confirmed: "1",
		confirmed_comment: null,
		news_type_id: "1",
		system_data: "",
		restricted: "f",
		notice: "1",
		assigned_to: "493",
		assigned_department_name: "Организация2",
		assigned_to_user: "1230",
		assigned_user_fio: "Пользователь2",
		news_type_logo: "icon3d_1.png",
		news_type_icon: "icon3d_1.png",
		news_type_name: "происшествие",
		assigned_change_date: "2014-11-06 15:38:55",
		assigned_status: "3",
		category_id: "1",
		custom_fields: "{"logika":{"value":true,"field_id":41}}",
		category_name: "информационная",
		status_name: "обратная связь",
		lon: "49.1421427",
		lat: "55.7744393",
		zoom: null,
		update_date: "2014-11-07 15:36:15"
	}
}




// id сообщения
// id создателя
// ФИО создателя
// id ведомства
// логотип ведомства
// заголовок ведомства
// дата сообщения
// заголовок сообщения
// текст сообщения
// текстовое поле
// в архиве сообщение или нет (t или f)
// 0 - не просмотрена, 1 - утверждена, 2 - не утверждена
// комментарий к подтверждению
// id типа сообщения
// данные
// ограниченные или нет (t или f)
// оповещение
// кому назначено
// какому ведомству назначено
// какому пользователю назначено
// ФИО пользователя, которому назначено
// логотип типа
// иконка типа
// название типа
// дата назначения
// статус назначения
// id категории
// дополнительные поля
// название категории
// название статуса
// долгота
// широта
// увеличение
// дата обновления

POST /news/{newsId}/

Формат входных параметров:

{
    "action": "delete" 
}

Формат ответа:

{
    "res": 1,
    "resText": "" 
}

GET /news/{newsId}/shortdata

Формат ответа:

{
    "res": 1,
    "news": {
        "id": ,
        "news_date": ,
        "date": ,
        "title": ,
        "shorttext": ,
        "department_id": ,
        "system_data": ,
        "archive": ,
        "photos": ,
        "files": ,
        "sounds": ,
        "video": ,
        "point":  
    },
    "resText": "" 
}



// id сообщения
// дата
// дата в формате дд.мм.гггг чч:мм
// заголовок
// текст
// id ведомства
// текстовое поле
// находится ли сообщение в архиве | t или f
// количество фотографий
// количество файлов
// количество звуковых файлов
// количество видео в формате flv
// 1 - есть точка, 0 - нет точки

GET /news/{newsId}/text

Формат ответа:

{
    "res": 1,
    "text": "{Текст}" 
}

Путь к фотографиям сообщения: /department_files/photos

Название: photo_{department_id}_{newsId}_{num}.{ext};

Путь к видео сообщения: /department_files/video

Название: video_{department_id}_{newsId}_{num}.flv;

Путь к звуковым файлам сообщения: /department_files/sounds

Название: sounds_{department_id}_{newsId}_{num}.{ext};

Путь к файлам сообщения: /department_files/dif_files

Название: files_{department_id}_{newsId}_{num}.{ext};

GET /news/{newsId}/photos

Формат ответа:

{
    "res": 1,
    "photos": [{
        "id": ,
        "num": ,
        "name": ,
        "description": ,
        "extension": ,
        "file_name": ,
        "link":  
    }],
    "resText": "" 
}



// id фотографии
// порядковый номер
// исходное название
// описание
// расширение
// название файла на сервера
// для фотографий всегда null

POST /news/{newsId}/photos/{fileId}

fileId — id фотографии

Тело запроса:

{
    "action": "delete" 
}

Формат ответа:

{
    "res": 1,
    "resText": "" 
}

GET /news/{newsId}/video

Формат ответа:

{
    "res": 1,
    "video": [{
        "id": ,
        "num": ,
        "description": ,
        "extension": ,
        "file_name": ,
        "link": 
    }],
    "resText": "" 
}



// id
// порядковый номер
// описание
// расширение
// название файла на сервере
// ссылка, если видео находится не на сервере

POST /news/{newsId}/video/{fileId}

fileId — id видео

Тело запроса:

{
    "action": "delete" 
}

Формат ответа:

{
    "res": 1,
    "resText": "" 
}

GET /news/{newsId}/files

Формат ответа:

{
    "res": 1,
    "files": [{
        "id": ,
        "num": ,
        "name": ,
        "description": ,
        "extension": ,
        "file_name": ,
        "link": 
    }],
    "resText": "" 
}



// id
// порядковый номер
// исходное название
// описание
// расширение
// название файла на сервере
// для файлов всегда null

POST /news/{newsId}/files/{fileId}

fileId — id файла

Тело запроса:

{
    "action": "delete" 
}

Формат ответа:

{
    "res": 1,
    "resText": "" 
}

GET /news/{newsId}/sounds

Формат ответа:

{
    "res": 1,
    "sounds": [{
        "id": ,
        "num": ,
        "name": ,
        "description": ,
        "extension":  ,
        "file_name": ,
        "link":  
    }],
    "resText": "",
    "sounds_converted": [ ]
}



// id
// порядковый номер
// исходное название
// описание
// расширение
// название файла на сервере
// для аудио всегда null


// массив названий сконвертированных файлов

POST /news/{newsId}/sounds/{fileId}

fileId — id аудио

Тело запроса:

{
    "action": "delete" 
}

Формат ответа:

{
    "res": 1,
    "resText": "" 
}

GET /news/{newsId}/point

Формат ответа:

{
    "res": 1,
    "point": ["{lon}","{lat}"],
    "resText": "" 
}

GET /news/{newsId}/pdf

POST /news/{newsId}/update

Параметры:

assigned_status — статус. Цифра 1-новый, 2-назначено, 3-обратная связь, 3-выполнено

assigned_organization_id — id назначенной организации

assigned_user_id — id назначенного пользователя

category_id — id категории

news_type_id — id типа сообщения

confirmed — 1-утверждено, 2-не утверждено, 0 — новое

restricted — true/false ограниченный доступ

archive — true/false в архиве

system_data — текстовое поле

text — текст сообщения

title — заголовок сообщения

point — массив из двух элементов, координаты x и y

pointZoom — зум, на котором будет отображаться точка, можно отправить null, тогда будет взят зум по умолчанию

custom_fields — json объект, состоящий из списка дополнительных полей с их значениями

Формат:

custom_fields: "{\"translit_name1\": {\"field_id\": 12, \"value\": "Hello"}, \"translit_name2\": {\"field_id\": 14, \"value\": true}}" 

photos — массив прикрепленных фотографий, где каждый элемент — это объект с полями: file — название захваченного файла, fileName — оригинальное название файла

Формат:

"photos": [
     {"file":"naaethsde56gh.jpg","fileName":"photo1.jpg"},
     {"file":"sdbvr54456fc4.png","fileName":"photo2.png"}
   ]

videos — массив прикрепленных видео (формат, как у фотографий)

files — массив прикрепленных файлов (формат, как у фотографий)

update_comments — комментарий обновления статуса

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

updatecomment_visible_all — виден всем

updatecomment_visible_user — виден только автору сообщения

updatecomment_visible_assigned_to — виден админам назначенного ведомства

updatecomment_visible_assigned_to_user — виден назначенному пользователю

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

{
  "assigned_user_id": 1,
  "assigned_status": 3,
  "system_data": "обновление от 12.12.2013",
  "photos": [
          {"file":"naaethsde56gh.jpg","fileName":"photo1.jpg"},
          {"file":"sdbvr54456fc4.png","fileName":"photo2.png"}
  ],
  "update_comments": "Сообщение была назначена",
  "updatecomment_visible_user": true,
  "updatecomment_visible_assigned_to_user": true,
  "text": "Это текст сообщения",
  "point": [46.197509765625,56.480695390196296],
  "pointZoom": 14,
   "custom_fields":"{\"imia\":{\"field_id\":1,\"value\":\"неек\"},\"test4\":{\"field_id\":8,\"value\":\"значение2\"}}" 
}

Формат ответа:

{
    "res": 1,
    "resText": "" 
}