Skip to main content

API для получения заявок с сайта

AddStudyRequest: Добавление заявки на обучение

Ни один из приведённых в примере параметров не является обязательным.

Принимается как GET-, так и POST-запрос. GET желательно использовать только для JSONP.

POST-запрос можно отправлять как в обычном (x-www-form-urlencoded), так и в JSON-формате (однако extraFields при использовании x-www-form-urlencoded всё равно необходимо отправлять в JSON, например:
extraFields: JSON.stringify({customField1: "CustomValue1"})).

Если UTM-метки содержатся в обратной ссылке (HTTP-заголовок Referer), то добавлять их в качестве параметров нет необходимости. Однако если таковые параметры есть, они сильнее соответствующих параметров из ссылки.

Также имеется возможность указывать дополнительные произвольные параметры. Они будут сохранены в базе данных и будут отображены в CRM в подсказке при наведении мышью на дату заявки.

Вместе с данными заявки CRM сохраняет (и отображает) также и значение HTTP-заголовка Referer. Если AddStudyRequest вызывается из клиентского кода (js), то браузер сам передаст этот заголовок. Если же из серверного, то не забудьте передать с запросом и заголовок Referer, если в том есть необходимость. На PHP+CURL это можно сделать вот так:
curl_setopt($curlDecriptor, CURLOPT_REFERER, $refererValue);

Пример POST-вызова с использованием jQuery
$.ajax({
	url: "http://schooldomain.t8s.ru/Api/V2/AddStudyRequest",
	data: JSON.stringify({
		id: null, // Идентификатор заявки (используется только для обновления существующей заявки)
		fullName: "Иванов Иван Иванович",
		eMail: "ivanov@mail.ru",
		phone: "+712312312312",
		birthday: "1984-02-25",
		agentFullName: "ФИО конт. лица",
		agentEMail: "ivanov-father@mail.ru",
		agentPhone: "+72342342323",
		discipline: "Английский",
		level: "Средний",
		maturity: "Дошкольники",
		location: "Тверь",
		office: "Главный филиал",
		extraFields: { // Пользовательские поля (при подтверждении заявки переносятся в лида/ученика, но только те поля, что есть в настройках)
			customField1: "CustomValue1",
			customField2: "True"
		},
		teacher: "Петров Пётр Петрович",
		beginDate: "17.03",
		endDate: "20.04",
		weekdays: "ср/чт",
		beginTime: "15:30",
		endTime: "16:10",
		edUnitId: null, // Идентификатор уч. единицы
		type: "Заявка на обучение", // Тип заявки
		description: "Примечание к заявке",
		utm_source: "Yandex-Direct", // UTM-метка «Рекламная система»
		utm_medium: "CPC", // UTM-метка «Тип трафика»
		utm_campaign: "Первая рекламная кампания", // UTM-метка «Обозначение рекламной кампании»
		utm_term: "Ключевое слово", // UTM-метка «Условие поиска кампании»
		utm_content: "red-button", // UTM-метка «Содержание кампании»
		extraData: "someData", // Произвольные пользовательские данные, доступные при экспорте заявок
		deleted: false, // Если true, заявка создаётся сразу как удалённая и помещается в архив заявок
		roistat: getCookie("roistat_visit"), // Для интеграции с системой Roistat (ф-ция «getCookie» реализуется самостоятельно)
		...
	}),
	contentType: "application/json;charset=utf-8",
	type: "post",
	success: function (result) {
		if (result.Error) alert("Ошибка: " + result.Error);
		else alert("Успешно: " + result.Id);
	},
	error: function (jqXhr) {
		try {
			alert("Ошибка: " + $.parseJSON(jqXhr.responseText).Error);
		} catch (e) {
			alert("Ошибка: " + jqXhr.statusText + " (" + jqXhr.readyState + ", " + jqXhr.status + ", " + jqXhr.responseText + ")");
		}
	}
});