Базовая ссылка вебсервиса

https://www.zzap.ru/webservice/datasharing.asmx


Получить api_key

Для того, чтобы воспользоваться ниже описанными методами выгрузки данных, необходимо получить api_key
  • Если вы покупатель, напишите нам на почту support@zzap.pro или создайте заявку в разделе "Заявки на тех.поддержку", и вам пришлют api_key
  • Если вы продавец и знаете, кто ваш менеджер, обратитесь к нему - менеджер вышлет вам api_key
  • Если вы продавец, но по каким-то причинам не знаете, кто ваш менеджер, или на данный момент к вам не прикреплён ни один из наших менеджеров, поступайте, как покупатель

Правила работы


История изменений

версия 1.1 начальный выпуск - методы GetSearchSuggest, GetSearchResult, GetUserData, GetRegions
версия 1.2 добавлены методы MakeRegistration, MakeOrder, GetRatings, MakeOrderRating, GetMyOrders
версия 1.3 добавлена возможность отправки заказа от покупателя на сайт продавца, метод SetOrderStatus
версия 1.4 добавлены методы GetSellerOrders, GetMyInfo
версия 1.5 в методах GetSearchSuggest, GetSearchResult добавлено поле logopath (логотип производителя)
версия 1.6 добавлен метод GetStatPrices
версия 1.7 добавлен метод MakeRegistrationOrder
версия 1.8 добавлен метод MakeVinRequest
версия 1.9 добавлен метод GetBrands и поля addr_map_geo1 и addr_map_geo2 в метод GetSearchResult
версия 1.10 добавлены методы GetMyVinRequests, GetMyVinRequestReplies
версия 1.11 добавлен метод GetUserInfo, в методах GetMyOrders и GetMyVinRequestReplies добавлено поле user_key
версия 1.12 добавлены поля (на выход):
seller_rating_count, seller_rating, seller_address, seller_phone, seller_phone2, descr_price - в метод GetMyOrders
seller_rating_count, seller_rating, seller_address, seller_phone2 - в метод GetMyVinRequestReplies
версия 1.13 добавлены методы GetMySearchHistory, SetVinRequestStatus, GetSellerVinRequests; добавлено поле is_seller в метод GetMyInfo
версия 1.14 добавлен метод SendAppErrorMessage
версия 1.15 добавлены методы GetMyFavoritesSearch, AddFavoriteSearch, DeleteFavoriteSearch
версия 1.16 метод GetUserData "одно предложение" устарел, добавлен новый метод GetSearchResultOne
версия 1.17 методы GetMinPrices и GetAvgPrices устарели, пользуйтесь вместо них GetStatPrices
версия 1.18 добавлен метод GetSearchResultInfo
версия 1.19 добавлены методы GetSearchSuggestV2 (принимает новый параметр type_request) и GetSearchResultV2 (принимает новые параметры type_request и search_text)
GetSearchSuggestV2 и GetSearchResultV2 возвращают новое поле type_search
версия 1.20 добавлено поле (на выход) terms в метод GetSearchResultV2
версия 1.21 добавлен метод GetMyStatCustomers
версия 1.22 добавлено поле used в методы GetSearchResultV2, GetSearchResultOne, GetMyOrders, GetSellerOrders, GetSearchResult
версия 1.23 добавлены поля code_template и price_name в метод GetSellerOrders
версия 1.24 добавлены методы GetMyMessagesThreads, GetMyMessages, SendMessage и поле user_key в GetMyInfo
версия 1.25 добавлено поле accept_messages в методы GetUserInfo, GetSearchResultOne


Поиск

Метод "подсказка" (GetSearchSuggest)

Аналогично тому, что можно видеть на заглавной странице, когда набираешь поиск
GetSearchSuggest
https://www.zzap.ru/webservice/datasharing.asmx/GetSearchSuggest

Необходимо отправить POST запрос:
POST /webservice/datasharing.asmx/GetSearchSuggest
HTTP/1.1
Host: www.zzap.ru
Content-Type: application/x-www-form-urlencoded
Content-Length: length

search_text=string&row_count=int&api_key=string

Где
search_text – произвольная строка поиска,
row_count – сколько максимально записей возвращать. Если сеть или Wifi то 100 если 3G то 20, по умолчанию 50 максимум 100,
api_key - нужно попросить у нас

В ответ поступит JSON, что-то вроде (данные условны)
{
"error": "" // если пусто, ошибок нет
"row_count": 50, // сколько строк вернулось
"terms": "колодок;колодку;колодкою;колодкой;колодке;колодках;колодками;колодкам;колодка;колодки;колодки",
"table":
[
{
"class_man": "BMW", // производитель
"logopath": "", // картинка
"partnumber": "34116769951", // номер
"class_cat": "КОЛОДКИ ПЕРЕД Е90 318", // наименование
"code_cat": 115835062, // внутренний уникальный код позиции
"imagepath":"http://i.zzap.ru/i/t4q3/39/p710476.jpg" // превью картинки 60px на 60px
},
{
...
}
]
}

Поле terms нужно для того что бы выделять желтым цветом, что найдено. Т.к. сервер может искать с учетом склонений.
На С# в html это выглядит так
Regex.Replace(content, terms.Replace(';', '|'), match => string.Format("{0}", match), RegexOptions.IgnoreCase);


Другой вариант отправки запроса - JSON запрос:
request.Method = "POST";
request.ContentType = "application/json";
Например { "search_text": "колодки", "row_count": "50", "api_key": "?????????????????" }


Метод "подсказка" (GetSearchSuggestV2)

Аналогично GetSearchSuggest, но с дополнительным параметром type_request
GetSearchSuggestV2
https://www.zzap.ru/webservice/datasharing.asmx/GetSearchSuggestV2

search_text=string&row_count=int&type_request=int&api_key=string

Где
search_text – произвольная строка поиска,
row_count – сколько максимально записей возвращать. Если сеть или Wifi то 100 если 3G то 20, по умолчанию 50 максимум 100,
type_request - тип поискового запроса: 0 - поиск любых запчастей по номеру, 1 - поиск только новых запчастей по номеру, 2 - поиск по б/у и уценке (по введённым в поисковую строку словам),
api_key - нужно попросить у нас

В ответ поступит JSON, что-то вроде (данные условны)
{
"error": "" // если пусто, ошибок нет
"row_count": 50, // сколько строк вернулось
"terms": "колодок;колодку;колодкою;колодкой;колодке;колодках;колодками;колодкам;колодка;колодки;колодки",
"table":
[
{
"class_man": "BMW", // производитель
"logopath": "", // картинка
"partnumber": "34116769951", // номер
"class_cat": "КОЛОДКИ ПЕРЕД Е90 318", // наименование
"code_cat": 115835062, // внутренний уникальный код позиции
"imagepath":"http://i.zzap.ru/i/t4q3/39/p710476.jpg" // превью картинки 60px на 60px
},
{
...
}
]
}

Поле terms нужно для того что бы выделять желтым цветом, что найдено. Т.к. сервер может искать с учетом склонений.
На С# в html это выглядит так
Regex.Replace(content, terms.Replace(';', '|'), match => string.Format("{0}", match), RegexOptions.IgnoreCase);


Метод "результат поиска" (GetSearchResult)

GetSearchResult
https://www.zzap.ru/webservice/datasharing.asmx/GetSearchResult

Необходимо отправить POST запрос:
POST /webservice/datasharing.asmx/GetSearchResult
HTTP/1.1
Host: www.zzap.ru
Content-Type: application/x-www-form-urlencoded
Content-Length: length

login=string&password=string&partnumber=string&class_man=string&location=string&row_count=int&api_key=string

Где login и password, location – могут быть пустые, но могут быть и данными при регистрации на zzap.ru,
location - code_region из метода GetRegion,
partumber и class_man - номер и производитель запчасти (из предыдущего экрана),
row_count – ограничение по кол-ву строк по умолчанию 100 максимум 500,
api_key тот же что и в GetSearchSuggest

В ответ поступит JSON (уже как надо отсортированный)
{
"error":"", // если пусто, ошибок нет
"row_count": 100, // сколько строк вернулось
"table": [ {
"code_doc_b": 5302993876, // внутренний уникальный код предложения (нужно передавать в GetSearchResultOne)
"code_cat": 1116901944 // внутренний уникальный код позиции
"descr_type_search": "Запрошенный номер (специальные предложения)", // тип предложения
"class_man": "Mitsubishi", // производитель
"logopath": "", // логотип производителя
"partnumber": "MR245368", // номер
"class_cat": "МОТОР ОМЫВАТЕЛЯ ЛОБОВОГО СТЕКЛА LANCER03-", // наименование
"imagepath":"" // изображение/фото запчасти
"qty": "10 шт. ", // кол-во, текст!
"instock": 0, // наличие на складе если 1 то надо зеленым подсвечивать квадратик с кол-вом
"wholesale": 0, // тип цены,опт или розница, если 1 то надо желтым подсвечивать квадратик с ценой
"local": 0, // если 1 то предложение локальное, если 0 то из другого региона
"price": "400р.", // цена, текст!
"price_date":"2015-02-16T00:09:55" // дата публикации
"descr_price": " / (Цена для покупателей ZZap) / Заказ от 1000р." // тип прайс-листа ("Только для юр. лиц и ИП", если оптовый прайс-лист, или пусто, если розничный прайс-лист), условия продажи, если указаны продавцом (например, "(Цена для покупателей ZZap)"), минимальная сумма заказа, если указана продавцом ("Заказ от 1000р.")
"descr_qty": "заказ 1 день", // подпись под кол-вом
"class_user": "Repart", // наименование продавца
"descr_rating_count": "5 отзывов", // сколько отзывов
"rating": 2, // рейтинг если 0 - ничего не показывать, если от 1 до 5 то показывать 5 звезд, заливая соотв. кол-во звезд
"descr_address": "Москва п.Внуково, м.Юго-Западная", //местоположение
"phone1": "8(926)103-45-33", //телефон
"order_text": "Заказать", //три варианта: "Заказать" (можно оформить заказ у продавца через сайт ZZap), "Купить" (товар есть в наличии у данного продавца, можно совершить покупку в этот же день, оформить покупку можно на сайте ZZap) или "" (нет возможности заказать через сайт ZZap, необходимо связаться с продавцом)
"user_key": "?????????????????", // "ключ" продавца, с помощью которого Вы сможете оставить отзыв по заказу, оформленному на сайте ZZap (метод MakeOrderRating), а также можете посмотреть информацию о продавце (метод GetUserInfo)
"addr_map_geo1": 55.5959324577887, // широта (координаты местонахождения продавца)
"addr_map_geo2": 37.513069357681161, // долгота (координаты местонахождения продавца)
"type_search": 10, // 10 - Запрошенный номер (cпец. предложения), 13 - Запрошенный номер, 21- Замены (cпец. предложения), 31 - Замены, 50 - Запрошенный номер (недостоверные предложения), 34 - Деталь, как составляющие, 54 - Детали, как составляющие (недостоверные предложения), 14 - Запрошенный номер б/у и уценка, 15 - Результат поиска по б/у и уценке
"used": 0 // тип предложения: 0 - обычное, 1 - б/у и уценка
}
{
...
}
]
}


Другой вариант отправки запроса - JSON запрос:
request.Method = "POST";
request.ContentType = "application/json";
{ "login": "", "password": "", "partumber": " MR245368", "class_man": "MITSUBISHI", "location": "", "row_count": "100", "api_key": "?????????????????"}


Метод "результат поиска" (GetSearchResultV2)

Аналогично GetSearchResult, но с дополнительными параметрами search_text и type_request GetSearchResultV2
https://www.zzap.ru/webservice/datasharing.asmx/GetSearchResultV2

Необходимо отправить POST запрос:
POST /webservice/datasharing.asmx/GetSearchResultV2
HTTP/1.1
Host: www.zzap.ru
Content-Type: application/x-www-form-urlencoded
Content-Length: length

login=string&password=string&search_text=string&partnumber=string&class_man=string&location=string&row_count=int&type_request=int&api_key=string

Где login и password, location – могут быть пустые, но могут быть и данными при регистрации на zzap.ru,
location - code_region из метода GetRegion,
search_text - произвольная строка поиска,
partumber и class_man - номер и производитель запчасти (из предыдущего экрана),
row_count – ограничение по кол-ву строк по умолчанию 100 максимум 500,
type_request - тип поискового запроса: 0 - поиск любых запчастей по номеру, 1 - поиск только новых запчастей по номеру, 2 - поиск по б/у и уценке (по введённым в поисковую строку словам),
api_key тот же что и в GetSearchSuggest

В ответ поступит JSON (уже как надо отсортированный)
{
"error":"", // если пусто, ошибок нет
"row_count": 100, // сколько строк вернулось
"table": [ {
"code_doc_b": 5302993876, // внутренний уникальный код предложения (нужно передавать в GetSearchResultOne)
"code_cat": 1116901944 // внутренний уникальный код позиции
"descr_type_search": "Запрошенный номер (специальные предложения)", // тип предложения
"class_man": "Mitsubishi", // производитель
"logopath": "", // логотип производителя
"partnumber": "MR245368", // номер
"class_cat": "МОТОР ОМЫВАТЕЛЯ ЛОБОВОГО СТЕКЛА LANCER03-", // наименование
"imagepath":"" // изображение/фото запчасти
"qty": "10 шт. ", // кол-во, текст!
"instock": 0, // наличие на складе если 1 то надо зеленым подсвечивать квадратик с кол-вом
"wholesale": 0, // тип цены,опт или розница, если 1 то надо желтым подсвечивать квадратик с ценой
"local": 0, // если 1 то предложение локальное, если 0 то из другого региона
"price": "400р.", // цена, текст!
"price_date":"2015-02-16T00:09:55" // дата публикации
"descr_price": " / (Цена для покупателей ZZap) / Заказ от 1000р." // тип прайс-листа ("Только для юр. лиц и ИП", если оптовый прайс-лист, или пусто, если розничный прайс-лист), условия продажи, если указаны продавцом (например, "(Цена для покупателей ZZap)"), минимальная сумма заказа, если указана продавцом ("Заказ от 1000р.")
"descr_qty": "заказ 1 день", // подпись под кол-вом
"class_user": "Repart", // наименование продавца
"descr_rating_count": "5 отзывов", // сколько отзывов
"rating": 2, // рейтинг если 0 - ничего не показывать, если от 1 до 5 то показывать 5 звезд, заливая соотв. кол-во звезд
"descr_address": "Москва п.Внуково, м.Юго-Западная", //местоположение
"phone1": "8(926)103-45-33", //телефон
"order_text": "Заказать", //три варианта: "Заказать" (можно оформить заказ у продавца через сайт ZZap), "Купить" (товар есть в наличии у данного продавца, можно совершить покупку в этот же день, оформить покупку можно на сайте ZZap) или "" (нет возможности заказать через сайт ZZap, необходимо связаться с продавцом)
"user_key": "?????????????????", // "ключ" продавца, с помощью которого Вы сможете оставить отзыв по заказу, оформленному на сайте ZZap (метод MakeOrderRating), а также можете посмотреть информацию о продавце (метод GetUserInfo)
"addr_map_geo1": 55.5959324577887, // широта (координаты местонахождения продавца)
"addr_map_geo2": 37.513069357681161, // долгота (координаты местонахождения продавца)
"type_search": 10, // 10 - Запрошенный номер (cпец. предложения), 13 - Запрошенный номер, 21- Замены (cпец. предложения), 31 - Замены, 50 - Запрошенный номер (недостоверные предложения), 34 - Деталь, как составляющие, 54 - Детали, как составляющие (недостоверные предложения), 14 - Запрошенный номер б/у и уценка, 15 - Результат поиска по б/у и уценка,
"terms": "колодок;колодку;колодкою;колодкой;колодке;колодках;колодками;колодкам;колодка;колодки;колодки",
"used": 0 // тип предложения: 0 - обычное, 1 - б/у и уценка
}
{
...
}
]
}



Поле terms нужно для того что бы выделять желтым цветом, что найдено. Т.к. сервер может искать с учетом склонений.
На С# в html это выглядит так
Regex.Replace(content, terms.Replace(';', '|'), match => string.Format("{0}", match), RegexOptions.IgnoreCase);


Другой вариант отправки запроса - JSON запрос:
request.Method = "POST";
request.ContentType = "application/json";
{ "login": "", "password": "", "search_text": "Колодки Nissan", "partumber": " MR245368", "class_man": "MITSUBISHI", "location": "", "row_count": "100", "type_request": "0", "api_key": "?????????????????"}


Метод "одно предложение" (GetSearchResultOne)

GetSearchResultOne
https://www.zzap.ru/webservice/datasharing.asmx/GetSearchResultOne

Необходимо отправить POST запрос:
POST /webservice/datasharing.asmx/GetSearchResultOne
HTTP/1.1
Host: www.zzap.ru
Content-Type: application/x-www-form-urlencoded
Content-Length: length
login=string&password=string&code_doc_b=string&api_key=string

Где login и password - могут быть пустыми, но могут быть и данными при регистрации на zzap.ru,
code_doc_b - получен в методе GetSearchResult/GetSearchResultV2
api_key тот же что и в GetSearchSuggest

В ответ поступит JSON
{
"error": "", // не пустой если ошибка, надо каждый раз проверять
"code_doc_b": 5302993876, // внутренний уникальный код предложения
"code_cat": 1116901944 // внутренний уникальный код позиции
"class_man": "Mitsubishi", // производитель
"logopath": "", // логотип производителя
"partnumber": "MR245368", // номер
"class_cat": "МОТОР ОМЫВАТЕЛЯ ЛОБОВОГО СТЕКЛА LANCER03-", // наименование
"imagepath":"" // изображение/фото запчасти
"qty": "10 шт. ", // кол-во, текст!
"instock": 0, // наличие на складе если 1 то надо зеленым подсвечивать квадратик с кол-вом
"wholesale": 0, // тип цены, если 1 то надо желтым подсвечивать квадратик с ценой
"price": "400р.", // цена, текст
"descr_price": " / (Цена для покупателей ZZap) / Заказ от 1000р." // тип прайс-листа ("Только для юр. лиц и ИП", если оптовый прайс-лист, или пусто, если розничный прайс-лист), условия продажи, если указаны продавцом (например, "(Цена для покупателей ZZap)"), минимальная сумма заказа, если указана продавцом ("Заказ от 1000р.")
"descr_qty": "заказ 1 день", // подпись под кол-вом
"class_user": "Repart", // наименование продавца
"descr_rating_count": "5 отзывов", // сколько отзывов
"rating": 2, // рейтинг если 0 - ничего не показывать, если от 1 до 5 то показывать 5 звезд, заливая соотв. кол-во звезд
"descr_address": "Москва п.Внуково, м.Юго-Западная", //местоположение
"phone1": "8(926)103-45-33", //телефон 1
"phone2": "8(926)103-45-34", //телефон 2
"comment": "Отдел заказов работает с 9-19 часов, сервис работает каждый день с 9-20 часов", // часы работы и пр. желательно отрабатывать \n если он встречается
"info": "Публикуется в ZZap с 20-08-12", // когда началось сотрудничество с ZZap
"order_text": "Заказать", //три варианта: "Заказать" (можно оформить заказ у продавца через сайт ZZap), "Купить" (товар есть в наличии у данного продавца, можно совершить покупку в этот же день, оформить покупку можно на сайте ZZap) или "" (нет возможности заказать через сайт ZZap, необходимо связаться с продавцом)
"addr_map_geo1": 55.5959324577887, // широта (координаты местонахождения продавца)
"addr_map_geo2": 37.513069357681161, // долгота (координаты местонахождения продавца)
"user_key": "?????????????????", // "ключ" продавца, с помощью которого Вы сможете оставить отзыв по заказу, оформленному на сайте ZZap (метод MakeOrderRating), а также можете посмотреть информацию о продавце (метод GetUserInfo)
"used": 0 // тип предложения: 0 - обычное, 1 - б/у и уценка
"accept_messages": true // хочет ли продавец принимать сообщения
}


Другой вариант отправки запроса - JSON запрос:
request.Method = "POST";
request.ContentType = "application/json";
{ "login": "", "password": "", "code_doc_b": " 5662691197", "api_key": "?????????????????"}


Метод "информация о позиции" (GetSearchResultInfo)

GetSearchResultInfo
https://www.zzap.ru/webservice/datasharing.asmx/GetSearchResultInfo

Необходимо отправить POST запрос:
POST /webservice/datasharing.asmx/GetSearchResultInfo
HTTP/1.1
Host: www.zzap.ru
Content-Type: application/x-www-form-urlencoded
Content-Length: length
login=string&password=string&partnumber=string&class_man=string&currency=string&api_key=string

Где
login и password - могут быть пустыми, но могут быть и данными при регистрации на zzap.ru
partnumber - номер запчасти
class_man - производитель запчасти
currency - валюта - цифра от 1 до 5, где 1 - рубль, 2 - доллар, 3 - евро, 4 - гривна, 5 - белорусский рубль, 6 - казахстанский тенге
api_key - нужно попросить у нас

В ответ поступит JSON
{
"error": "", // не пустой если ошибка, надо каждый раз проверять
"class_man": "HEPU", // производитель
"logopath": "", // логотип производителя
"partnumber": "P049", // номер
"class_cat": "НАСОС ВОДЯНОЙ", // наименование
"imagepath": "" // изображение/фото запчасти
"code_cat": 1114507085 // внутренний уникальный код позиции
"class_cur": "б.р.", // валюта (например, белорусские рубли)
"price_count_instock": 13 // количество предложений в наличии
"price_min_instock": 56.35, // минимальная цена среди предложений в наличии
"price_avg_instock": 64.56, // средняя цена среди предложений в наличии
"price_max_instock": 75.16, // максимальная цена среди предложений в наличии
"price_count_order": 147 // количество предложений под заказ
"price_min_order": 56.35, // минимальная цена среди предложений под заказ
"price_avg_order": 66.06, // средняя цена среди предложений под заказ
"price_max_order": 92.42, // максимальная цена среди предложений под заказ
}

В приведённом примере цены в белорусских рублях
Для российских рублей действует округление цен до целого значения


Другой вариант отправки запроса - JSON запрос:
request.Method = "POST";
request.ContentType = "application/json";
{ "login": "", "password": "", "partnumber": "...", "class_man": "...", "currency": "...", "api_key": "?????????????????"}


Метод "моя история поиска" (GetMySearchHystory)

GetMySearchHistory
https://www.zzap.ru/webservice/datasharing.asmx/GetMySearchHistory

Необходимо отправить POST запрос:
POST /webservice/datasharing.asmx/GetMySearchHistory
HTTP/1.1
Host: www.zzap.ru
Content-Type: application/x-www-form-urlencoded
Content-Length: length

login=string&password=string&code_order=string&api_key=string

Где
login - e-mail, указанный при регистрации на сайте ZZap
password - пароль
api_key - нужно попросить у нас


В ответ поступит JSON
{ "error": "", // если пусто, ошибок нет
"row_count": 10, // сколько строк вернулось
"table": [ {
"create_date": "2013-10-20 00:00:00", // дата поиска запчасти (информативна только дата, учитываем неповторяющиеся позиции за день, время всегда 00:00:00)
"class_man": "HEPU", // производитель
"logopath": "", // логотип производителя
"partnumber": "P049", // номер
"class_cat": "Помпа", // наименование запчасти
"imagepath":"" // изображение/фото запчасти
}
{
...
}
]
}


Другой вариант запроса - JSON запрос:
request.Method = "POST";
request.ContentType = "application/json";
{ "login": "...", "password": "...", "api_key": "?????????????????"}


Информация

Метод "регионы поиска" (GetRegions)

GetRegions // доступные регионы для поиска
https://www.zzap.ru/webservice/datasharing.asmx/GetRegions

Вернувшееся значение code_region передавать в параметре location в GetSearchResult

Необходимо отправить POST запрос:
POST /webservice/datasharing.asmx/GetRegions
HTTP/1.1
Host: www.zzap.ru
Content-Type: application/x-www-form-urlencoded
Content-Length: length

api_key=string

Ответ
{ "error": "", // если пусто, ошибок нет
"row_count": 5, // сколько строк вернулось
"table": [
{"code_region": -1, "class_region": "Любой" },
{ "code_region": 1, "class_region": "Москва и область" },
{ "code_region": 11151, "class_region": "Владивосток и Приморский край" },
{ "code_region": 11159, "class_region": "Екатеринбург и Свердловская область" },
{ "code_region": 11135, "class_region": "Санкт-Петербург и область" }
]
}

Другой вариант отправки запроса - JSON запрос:
request.Method = "POST";
request.ContentType = "application/json";
{"api_key": "?????????????????"}


Метод "производители авто" (GetBrands)

GetBrands // доступные производители авто
https://www.zzap.ru/webservice/datasharing.asmx/GetBrands

Вернувшееся значение class_man можно передавать в параметре car_brand в MakeVinRequest

Необходимо отправить POST запрос:
POST /webservice/datasharing.asmx/GetBrands
HTTP/1.1
Host: www.zzap.ru
Content-Type: application/x-www-form-urlencoded
Content-Length: length

api_key=string

Ответ
{ "error": "", // если пусто, ошибок нет
"row_count": ..., // сколько строк вернулось
"table": [
{"code_man":3600,"class_man":"ALFA ROMEO"},
{"code_man":2162,"class_man":"ARCTIC CAT"},
{"code_man":3408,"class_man":"AUDI"},
{"code_man":677,"class_man":"AVIA"},
... ]
}

Другой вариант отправки запроса - JSON запрос:
request.Method = "POST";
request.ContentType = "application/json";
{"api_key": "?????????????????"}


Метод "статистика цен" (GetStatPrices)

GetStatPrices
https://www.zzap.ru/webservice/datasharing.asmx/GetStatPrices

Необходимо отправить POST запрос:
POST /webservice/datasharing.asmx/GetStatPrices
HTTP/1.1
Host: www.zzap.ru
Content-Type: application/x-www-form-urlencoded
Content-Length: length

codes_cat=string&code_region=string&instock=string&wholesale=string&api_key=string

Где
codes_cat - перечисление через точку с запятой внутренних уникальных кодов запчастей code_cat (code_cat можно получить с помощью метода GetSearchSuggest)
например, "1114507085;118182355;114720089"
максимально возможное количество запрашиваемых уникальных кодов - 100
code_region - выбранный вами регион (числовое значение региона определите с помощью метода GetRegion) (code_region = 1, если не задан)
instock - найти запчасть в наличии или под заказ - 0 - под заказ, 1 - в наличии (instock = 1, если не задан)
wholesale - покупаете в розницу или оптом - 0 - в розницу, 1 - оптом (wholesale = 0, если не задан)
api_key - нужно попросить у нас

обязательные для заполнения все поля


В ответ поступит JSON
{ "error": "", // если пусто, ошибок нет
"row_count": 10, // сколько строк вернулось
"table": [ {
"code_cat": 1114507085, // уникальный код запасти
"price_min": 1596.83, // минимальная цена запчасти
"price_med": 1829.17, // средняя цена запчасти
"price_max": 2096.54 // максимальная цена запчасти
}
{
...
}
]
}

Важно: цены указываются в рублях


Другой вариант запроса - JSON запрос:
request.Method = "POST";
request.ContentType = "application/json";
{ "codes_cat": "...;...;...", "code_region": "...", "instock": "", "wholesale": "", "api_key": "?????????????????"}


Метод "мои данные" (GetMyInfo)

GetMyInfo
https://www.zzap.ru/webservice/datasharing.asmx/GetMyInfo

Необходимо отправить POST запрос:
POST /webservice/datasharing.asmx/GetMyInfo
HTTP/1.1
Host: www.zzap.ru
Content-Type: application/x-www-form-urlencoded
Content-Length: length

login=string&password=string&api_key=string

Где
login - e-mail, указанный при регистрации на сайте ZZap
password - пароль
api_key - нужно попросить у нас


В ответ поступит JSON
{
"error": "", // если пусто, ошибок нет
"name_first": "Имя", // имя, указанное при регистрации
"name_second": "Отчество", // отчество, указанное при регистрации
"name_last": "Фамилия", // фамилия, указанная при регистрации
"email": "email", // e-mail, указанная при регистрации (логин)
"company_nick": "...", // название компании
"phone_code_country": "8", // код страны
"phone_code_city": "000", // код города
"phone": "111-11-11", // телефон
"phone_add": "11", // добавочный телефон
"code_region": "30100", // код региона
"is_seller": false, // true - продавец, false - не продавец
"user_key": "??????????????????????????????" //"ключ" собеседника, аналогичный в методах GetMyMessagesThreads (или в методах GetSearchResult, GetSearchResultOne, GetMyOrders, GetMyVinRequestReplies)
}


Другой вариант отправки запроса - JSON запрос:
request.Method = "POST";
request.ContentType = "application/json";
{ "login": "...", "password": "...", "api_key": "?????????????????"}


Метод "мои данные" (GetMyInfoV2)

GetMyInfoV2
https://www.zzap.ru/webservice/datasharing.asmx/GetMyInfoV2

Необходимо отправить POST запрос:
POST /webservice/datasharing.asmx/GetMyInfoV2
HTTP/1.1
Host: www.zzap.ru
Content-Type: application/x-www-form-urlencoded
Content-Length: length

login=string&password=string&login_info=string&api_key=string

Где
login - e-mail, указанный при регистрации на сайте ZZap
password - пароль
login_info - для внутренних целей, передавать пустое значение
api_key - нужно попросить у нас
В ответ поступит JSON
{
"error": "", // если пусто, ошибок нет
"name_first": "Имя", // имя, указанное при регистрации
"name_second": "Отчество", // отчество, указанное при регистрации
"name_last": "Фамилия", // фамилия, указанная при регистрации
"email": "email", // e-mail, указанная при регистрации (логин)
"company_nick": "...", // название компании
"phone_code_country": "8", // код страны
"phone_code_city": "000", // код города
"phone": "111-11-11", // телефон
"phone_add": "11", // добавочный телефон
"code_region": "30100", // код региона
"is_seller": false, // true - продавец, false - не продавец
"user_key": "??????????????????????????????" //"ключ" собеседника, аналогичный в методах GetMyMessagesThreads (или в методах GetSearchResult, GetSearchResultOne, GetMyOrders, GetMyVinRequestReplies)
}


Другой вариант отправки запроса - JSON запрос:
request.Method = "POST";
request.ContentType = "application/json";
{ "login": "...", "password": "...", "api_key": "?????????????????"}


Метод "информация о продавце" (GetUserInfo)

GetUserInfo
https://www.zzap.ru/webservice/datasharing.asmx/GetUserInfo

Необходимо отправить POST запрос:
POST /webservice/datasharing.asmx/GetUserInfo
HTTP/1.1
Host: www.zzap.ru
Content-Type: application/x-www-form-urlencoded
Content-Length: length

login=string&password=string&user_key=string&api_key=string

Где
login - e-mail, указанный при регистрации на сайте ZZap
password - пароль
user_key - "ключ" продавца, полученный в методах GetSearchResult, GetSearchResultOne, GetMyOrders, GetMyVinRequestReplies
api_key - нужно попросить у нас


В ответ поступит JSON
{
"error": "", // не пустой если ошибка, надо каждый раз проверять
"class_user": "Repart", // наименование продавца
"descr_rating_count": "5 отзывов", // сколько отзывов
"rating": 2, // рейтинг если 0 - ничего не показывать, если от 1 до 5 то показывать 5 звезд, заливая соотв. кол-во звезд
"descr_address": "Москва п.Внуково, м.Юго-Западная", //местоположение
"phone1": "8(926)103-45-33", //телефон 1
"phone2": "8(926)103-45-34", //телефон 2
"comment": "Отдел заказов работает с 9-19 часов, сервис работает каждый день с 9-20 часов", // часы работы и пр. желательно отрабатывать \n если он встречается
"info": "Публикуется в ZZap с 20-08-12", // когда началось сотрудничество с ZZap
"addr_map_geo1": 55.5959324577887, // широта (координаты местонахождения продавца)
"addr_map_geo2": 37.513069357681161 // долгота (координаты местонахождения продавца)
"accept_messages": true // хочет ли продавец принимать сообщения
}

Другой вариант запроса - JSON запрос:
request.Method = "POST";
request.ContentType = "application/json";
{ "login": "...", "password": "...", "user_key": "...", "api_key": "?????????????????"}


Метод "отзывы о продавце" (GetRatings)

GetRatings
https://www.zzap.ru/webservice/datasharing.asmx/GetRatings

Необходимо отправить POST запрос:
POST /webservice/datasharing.asmx/GetRatings
HTTP/1.1
Host: www.zzap.ru
Content-Type: application/x-www-form-urlencoded
Content-Length: length

user_key=string&row_count=int&api_key=string

Где
user_key - "ключ" продавца, полученный в методах GetSearchResult, GetSearchResultOne, GetMyOrders, GetMyVinRequestReplies
row_count - сколько максимально записей возвращать (максимум 500)
api_key - нужно попросить у нас

В ответ поступит JSON
{ "error": "", // если пусто, ошибок нет
"row_count": 100, // сколько строк вернулось
"table": [ {
"create_date": "2015-03-15T14:26:28.76",
"message": "Номер заказа: \\n1111111\\nПозиция: \\nRENAULT 7701070525 ФИЛЬТР ВОЗД. КАНГУ КЛИО E7J, K7J, LB03, заказано: 1шт., по 632.00р.\\n\\nЗамечаний нет!\\n\\nКомментарии:\\nотзыв о покупателе (по заказу)\\nпокупатель - ok", //полный текст отзыва
"rating": 5.0, //оценка от 1 до 5 баллов
"client_info": "Имя Фамилия Телефон", //имя того, кто оставил отзыв и телефон (скрытый)
"rating_type": "Отзыв" // "Отзыв" (отзыв о продавце) или "Ответ на отзыв" (ответ продавца на отзыв)
}
{
...
}
]
}


Другой вариант отправки запроса - JSON запрос:
request.Method = "POST";
request.ContentType = "application/json";
{ "user_key": "?????????????????", "row_count": 100, "api_key": "?????????????????"}


Регистрация

Метод "регистрация" (MakeRegistration)

MakeRegistration
https://www.zzap.ru/webservice/datasharing.asmx/MakeRegistration

Необходимо отправить POST запрос:
POST /webservice/datasharing.asmx/MakeRegistration
HTTP/1.1
Host: www.zzap.ru
Content-Type: application/x-www-form-urlencoded
Content-Length: length

email=string&password=string&code_region=string&name_first=string&name_second=string&name_last=string&company_nick=string &phone_code_country=string&phone_code_city=string&phone=string&phone_add=string&email_old=string&password_old=string&api_key=string

Где
email - e-mail, который будет использоваться в дальнейшем как Ваш login на сайте ZZap
password - ваш пароль - пароль должен состоять как минимум из 4 символов
code_region - выбранный вами регион - числовое значение региона определите с помощью метода GetRegions
name_first - имя
name_second - отчество (не обязательно для заполнения)
name_last - фамилия
company_nick - ник Вашей компании (не обязательно для заполнения) - если заполните поле, Вы - юр.лицо, если поле останется пустым, Вы - физ.лицо
phone_code_country - код страны
phone_code_city - код города
phone - телефон
phone_add - добавочный
email_old - e-mail, указанный при регистрации
password_old - пароль
api_key - нужно попросить у нас


Для регистрации не надо заполнять email_old и password_old
все остальные поля, кроме name_second и company_nick, обязательны для заполнения


Для изменения данных обязательно надо заполнить email_old и password_old,
обязательны для заполнения все поля, кроме name_second, company_nick и password


Если регистрация прошла успешно, в ответ поступит JSON
{
"error": "", // если пусто, ошибок нет
}


Другой вариант отправки запроса - JSON запрос:
request.Method = "POST";
request.ContentType = "application/json";
{ "email": "...", "password": "...", "code_region": "30100", "name_first": "...", "name_second": "...", "name_last": "", "company_nick": "", "phone_code_country": "...", "phone_code_city": "...", "phone": "...", "phone_add": "...", "email_old": "...", "password_old": "...", "api_key": "?????????????????"}


Заказ и регистрация

Метод "заказ и регистрация" (MakeRegistrationOrder)

MakeRegistrationOrder
https://www.zzap.ru/webservice/datasharing.asmx/MakeRegistrationOrder

Необходимо отправить POST запрос:
POST /webservice/datasharing.asmx/MakeRegistrationOrder
HTTP/1.1
Host: www.zzap.ru
Content-Type: application/x-www-form-urlencoded
Content-Length: length

login=string&password=string&name_first=string&name_second=string&name_last=string&company_nick=string&phone_code_country=string &phone_code_city=string&phone=string&phone_add=string&client_code_region=string&code_doc_b=string&qty_order=string &comment=string&notify_sms=string&currency=string&api_key=string&test=string

Где
login - e-mail для регистрации на сайте ZZap
password - пароль
name_first - имя
name_second - отчество (не обязательно для заполнения)
name_last - фамилия
company_nick - ник компании (не обязательно для заполнения) - если заполнено поле, пользователь - юр.лицо, если поле останется пустым, пользователь - физ.лицо
phone_code_country - код страны
phone_code_city - код города
phone - телефон
phone_add - добавочный (не обязательно для заполнения)
client_code_region - регион покупателя - числовое значение региона определите с помощью метода GetRegions
code_doc_b - внутренний уникальный код предложения (для определения кода используйте метод GetSearchResult)
qty_order - кол-во заказываемой позиции
comment - дополнительные комментарии относительно заказа (не обязательно для заполнения)
notify_sms - оповещение по смс - 0 - не оповещать, 1 - оповещать
currency - валюта - цифра от 1 до 5, где 1 - рубль, 2 - доллар, 3 - евро, 4 - гривна, 5 - белорусский рубль, 6 - казахстанский тенге
api_key - нужно попросить у нас
test - 1 - режим теста, новый пользователь зарегистрирован не будет, заказ не будет сформирован, остальные значения - 0 (обычный режим) новый пользователь будет зарегистрирован, заказ будет сформирован и отправлен продавцу


Необязательные для заполнения поля: comment, name_second, company_nick (если вы физ. лицо), phone_add
Остальные поля обязательны для заполнения при оформлении заказа

Очень важно!!! Партнёры, реализующие на своём сайте трансляцию выдачи ZZap с возможностью оформить на их же сайте заказ, для корректного учёта таких заказов в партнёрской статистике должны передавать из данных своего партнёрского аккаунта на ZZap только api_key, а остальные данные запрашивать у пользователя, оформляющего заказ на их сайте.

Если заказ успешно оформлен, в ответ поступит JSON вида (данные условны)
{
"error": "", // если пусто, ошибок нет
"code_order": 999999999 // номер сформированного заказа (999999999 - если оформление происходит в режиме теста)
}


Другой вариант отправки запроса - JSON запрос:
request.Method = "POST";
request.ContentType = "application/json";
{ "login": "...", "password": "...", "name_first": "...", "name_second": "...", "name_last": "", "company_nick": "", "phone_code_country": "...", "phone_code_city": "...", "phone": "...", "phone_add": "...", "client_code_region ": "30100", "code_doc_b": "...", "qty_order": "...", "comment": "", "notify_sms": "...", "currency": "...", "api_key": "?????????????????", "test": "0"}


Для покупателей


Заказы покупателя

Метод "сделать заказ" (MakeOrder)

MakeOrder
https://www.zzap.ru/webservice/datasharing.asmx/MakeOrder

Необходимо отправить POST запрос:
POST /webservice/datasharing.asmx/MakeOrder
HTTP/1.1
Host: www.zzap.ru
Content-Type: application/x-www-form-urlencoded
Content-Length: length

login=string&password=string&code_doc_b=string&qty_order=string&client_name=string&client_email=string&client_phone=string &comment=string&notify_sms=string&client_code_region=string&currency=string&api_key=string&test=string

Где
login - e-mail, указанный при регистрации на сайте ZZap
password - пароль
code_doc_b - внутренний уникальный код предложения (для определения кода используйте метод GetSearchResult)
qty_order - кол-во заказываемой позиции
client_name - ФИО заказчика (может отличаться от имени, указанного в аккаунте при регистрации)
client_email - e-mail заказчика (может отличаться от e-mail, указанного в аккаунте при регистрации)
client_phone - телефон заказчика (может отличаться от телефона, указанного в аккаунте при регистрации)
comment - дополнительные комментарии относительно заказа (не обязательно для заполнения)
notify_sms - оповещение по смс - 0 - не оповещать, 1 - оповещать
client_code_region - выбранный регион для заказа (может отличаться от региона, указанного при регистрации) - числовое значение региона определите с помощью метода GetRegions
currency - валюта - цифра от 1 до 5, где 1 - рубль, 2 - доллар, 3 - евро, 4 - гривна, 5 - белорусский рубль, 6 - казахстанский тенге
api_key - нужно попросить у нас
test - 1 - режим теста, заказ не будет сформирован, остальные значения - 0 (обычный режим) заказ будет сформирован и отправлен продавцу

Все поля, кроме comment, обязательны для заполнения при оформлении заказа

Если заказ успешно оформлен, в ответ поступит JSON вида (данные условны)
{
"error": "", // если пусто, ошибок нет
"code_order": "3923545" //номер сформированного заказа
}


Другой вариант отправки запроса - JSON запрос:
request.Method = "POST";
request.ContentType = "application/json";
{ "login": "...", "password": "...", "code_doc_b": "...", "qty_order": "...", "class_user_src": "...", "addr_email_src": "...", "phone_src": "...", "comment": "", "notify_sms": "...", "code_region_src": "30100", "currency": "...", "api_key": "?????????????????", "test": 0}


Метод "мои заказы" (GetMyOrders)

GetMyOrders
https://www.zzap.ru/webservice/datasharing.asmx/GetMyOrders

Необходимо отправить POST запрос:
POST /webservice/datasharing.asmx/GetMyOrders
HTTP/1.1
Host: www.zzap.ru
Content-Type: application/x-www-form-urlencoded
Content-Length: length

login=string&password=string&api_key=string

Где
login - e-mail, указанный при регистрации на сайте ZZap
password - пароль
api_key - нужно попросить у нас


В ответ поступит JSON
{ "error": "", // если пусто, ошибок нет
"row_count": 10, // сколько строк вернулось
"table": [ {
"code_order": 3930751, // номер заказа
"create_date": "2015-04-01 19:56:36.350", // время создания заказа
"class_man": "HEPU", // производитель заказанной запчасти
"logopath": "", // логотип производителя
"partnumber": "P049", // номер заказанной запчасти
"comment": "", // комментарий к заказу от покупателя
"class_cat": "ПОМПА", // наименование запчасти
"imagepath":"" // изображение/фото запчасти
"qty_order": "1", // кол-во заказанных позиций
"qty": "6 шт. ", // "В наличии", "Есть", "Заказ" или кол-во штук - то, что было указано у продавца в момент заказа
"descr_qty": "3-5 р.д.", // срок поставки (дополнение к информации о количестве)
"price": "3 292р.(56.97$ ПБ)", // цена, по которой заказана позиции + оригинальная цена из прайс-листа
"apply": "Скидка постоянным клиентам", // комментарии к цене, условия заказа
"client_name": "Фамилия Имя", // покупатель
"seller_name": "Компания", // продавец
"response": "Помпа в наличии - приезжайте!", // ответ на заказ от продавца
"rated_order": 0, // 0 - отзыв по заказу ещё не написан, 1 - отзыв по заказу уже написан
"user_key": "?????????????????", // "ключ" продавца, с помощью которого Вы сможете оставить отзыв по заказу, оформленному на сайте ZZap (метод MakeOrderRating), а также можете посмотреть информацию о продавце (метод GetUserInfo)
"seller_rating_count": "33 отзыва", // количество отзывов продавца
"seller_rating": "4", // рейтинг продавца
"seller_address": "Россия, Москва, пр-д. 4-й Рощинский проезд 19, м. Тульская", // полный адрес продавца
"seller_phone": "8(916)000-00-00", // телефон продавца
"seller_phone2": "8(000)111-11-11", // ещё один телефон продавца
"descr_price": " / (Цена только для пользователей ZZap) / Заказ от 1000р.", // тип прайс-листа ("Только для юр. лиц и ИП", если оптовый прайс-лист, или пусто, если розничный прайс-лист), условия продажи, если указаны продавцом (например, "Цена только для пользователей ZZap"), минимальная сумма заказа, если указана продавцом ("Заказ от 1000р.")
"used": 0 // тип предложения: 0 - обычное, 1 - б/у и уценка
}
{
...
}
]
}


Другой вариант запроса - JSON запрос:
request.Method = "POST";
request.ContentType = "application/json";
{ "login": "...", "password": "...", "api_key": "?????????????????"}


Метод "оставить отзыв по заказу" (MakeOrderRating)

MakeOrderRating
https://www.zzap.ru/webservice/datasharing.asmx/MakeOrderRating

Необходимо отправить POST запрос:
POST /webservice/datasharing.asmx/MakeOrderRating
HTTP/1.1
Host: www.zzap.ru
Content-Type: application/x-www-form-urlencoded
Content-Length: length

login=string&password=string&code_order=string&rating=string&message=string&phone=string&api_key=string&test=string

Где
login - e-mail, указанный при регистрации на сайте ZZap
password - пароль
code_order - номер заказа
rating - оценка от 1 до 5 баллов
message - комментарии по заказу
phone - телефон
api_key - нужно попросить у нас
test - 1 - режим теста, отзыв не будет сохранён, остальные значения - рабочий режим, отзыв будет сохранён


В ответ поступит JSON
{
"error": "" // если пусто, ошибок нет
"test": 1 // 1 или 0 - тестовый или обычный режим работы
}


Другой вариант отправки запроса - JSON запрос:
request.Method = "POST";
request.ContentType = "application/json";
{ "login": "", "password": "", "code_order": "...", "rating": "...", "message": "...", "phone": "...", "api_key": "?????????????????", "test": 0}


VIN запросы покупателя

Метод "VIN запрос" (MakeVinRequest)

MakeVinRequest
https://www.zzap.ru/webservice/datasharing.asmx/MakeVinRequest

Необходимо отправить POST запрос:
POST /webservice/datasharing.asmx/MakeVinRequest
HTTP/1.1
Host: localhost
Content-Type: application/x-www-form-urlencoded
Content-Length: length

login=string&password=string&vin_code=string&car_brand=string&car_model=string&car_year=string&engine=string&modification=string &request_text=string&name_first=string&name_second=string&name_last=string&company_nick=string&phone_code_country=string&phone_code_city=string &phone=string&client_code_region=string&notify_sms=string&api_key=string&test=string

Где
login - e-mail, указанный при регистрации на сайте ZZap
password - пароль
vin_code - VIN-код авто
car_brand - марка авто
car_model - модель авто
car_year - год выпуска
engine - двигатель (не обязательно для заполнения)
modification - модификация (не обязательно для заполнения)
request_text - описание запроса - какие запчасти необходимы
name_first - имя
name_second - отчество (не обязательно для заполнения)
name_last - фамилия
company_nick - ник вашей компании (не обязательно для заполнения) - если заполните поле, вы - юр.лицо, если поле останется пустым, вы - физ.лицо
phone_code_country - код страны
phone_code_city - код города
phone - телефон
client_code_region - выбранный вами регион - числовое значение региона определите с помощью метода GetRegions
notify_sms - оповещение по смс - 0 - не оповещать, 1 - оповещать
api_key - нужно попросить у нас
test - 1 - режим теста, новый пользователь зарегистрирован не будет, заказ не будет сформирован, остальные значения - 0 (обычный режим) новый пользователь будет зарегистрирован, заказ будет сформирован и отправлен продавцу


Необязательные для заполнения поля: name_second, engine, modification Остальные поля обязательны для формирования vin-запроса

Если vin-запрос успешно сформирован, в ответ поступит JSON вида
{
"error": "" // если пусто, ошибок нет
}


Другой вариант отправки запроса - JSON запрос:
request.Method = "POST";
request.ContentType = "application/json";
{ "login": "...", "password": "...", "vin_code": "VSKJVWR51U0262363", "car_brand": "NISSAN", "car_model": "PATHFINDER", "car_year": "2007", "engine": "TD 27T", "modification": "...", "request_text": "тормозные колодки", "name_first": "...", "name_second": "...", "name_last": "", "company_nick": "", "phone_code_country": "...", "phone_code_city": "...", "phone": "...", "client_code_region ": "30100", "notify_sms": "...", "api_key": "?????????????????", "test": "0"}


Метод "мои VIN запросы" (GetMyVinRequests)

GetMyVinRequests
https://www.zzap.ru/webservice/datasharing.asmx/GetMyVinRequests

Необходимо отправить POST запрос:
POST /webservice/datasharing.asmx/GetMyVinRequests
HTTP/1.1
Host: www.zzap.ru
Content-Type: application/x-www-form-urlencoded
Content-Length: length

login=string&password=string&api_key=string

Где
login - e-mail, указанный при регистрации на сайте ZZap
password - пароль
api_key - нужно попросить у нас


В ответ поступит JSON
{ "error": "", // если пусто, ошибок нет
"row_count": 10, // сколько строк вернулось
"table": [ {
"code_order": 3807443, // номер vin-запроса - это значение используйте для просмотра ответов по данному vin-запросу (см. комментарий ниже)
"create_date": "2013-09-02 11:07:45.050", // время создания vin-запроса
"client_name": "Фамилия Имя", // ФИО покупателя
"client_region": "Сыктывкар и Коми респ.", // регион покупателя
"client_email": "email", // e-mail покупателя
"client_phone": "8(000)111-11-11", // телефон покупателя
"notify_sms": false, // false - не оповещать по смс, true - оповещать по смс
"vin_number": "AA1AAAA11A1111111", // vin-номер автомобиля
"class_man": "OPEL", // марка автомобиля
"class_car_type": "VECTRA", // модель автомобиля
"submodel": "C18NZ", // модификация (если было заполнено)
"engine_type": "1.8", // двигатель
"man_date": "1992", // год выпуска автомобиля
"vin_info": "...", // модельный год, завод, страна и т.д. (если было заполнено)
"imagepath": "", // ссылка на фото (если было прикреплено)
"comment": "шаровая опора левая, амортизаторы задние, ремень генератора", // комментарий покупателя к vin-запросу
"responses": "3" // количество ответов на vin-запросов от разных продавцов
}
{
...
}
]
}


Вернувшиеся значения code_order используйте для передачи в параметр code_order в методе GetMyVinRequestReplies

Другой вариант запроса - JSON запрос:
request.Method = "POST";
request.ContentType = "application/json";
{ "login": "...", "password": "...", "api_key": "?????????????????"}


Метод "ответы на мои VIN запросы" (GetMyVinRequestReplies)

GetMyVinRequestReplies
https://www.zzap.ru/webservice/datasharing.asmx/GetMyVinRequestReplies

Необходимо отправить POST запрос:
POST /webservice/datasharing.asmx/GetMyVinRequestReplies
HTTP/1.1
Host: www.zzap.ru
Content-Type: application/x-www-form-urlencoded
Content-Length: length

login=string&password=string&code_order=string&api_key=string

Где
login - e-mail, указанный при регистрации на сайте ZZap
password - пароль
code_order - код vin-запроса - определите с помощью метода GetMyVinRequests
api_key - нужно попросить у нас


В ответ поступит JSON
{ "error": "", // если пусто, ошибок нет
"row_count": 10, // сколько строк вернулось
"table": [ {
"code_order": 3930751, // номер vin-запроса
"response_date ": "2013-10-20 16:42:53.783", // время получения ответа на vin-запрос
"seller_name": "Компания", // название ответившего продавец
"seller_phone": "8(000)222-22-22", // телефон продавца
"seller_region": "Сыктывкар и Коми респ.", // регион продавца
"seller_city": "Ижма", // город
"seller_metro": "", // метро, если указано
"response": "...", // ответ по vin-запросу
"user_key": "?????????????????", // "ключ" продавца, с помощью которого Вы сможете оставить отзыв по заказу, оформленному на сайте ZZap (метод MakeOrderRating), а также можете посмотреть информацию о продавце (метод GetUserInfo)
"seller_rating_count": "33 отзыва", // количество отзывов продавца
"seller_rating": "4", // рейтинг продавца
"seller_address": "Россия, Москва, пр-д. 4-й Рощинский проезд 19, м. Тульская", // полный адрес продавца
"seller_phone2": "8(000)111-11-11" // ещё один телефон продавца
}
{
...
}
]
}


Другой вариант запроса - JSON запрос:
request.Method = "POST";
request.ContentType = "application/json";
{ "login": "...", "password": "...", "code_order": "...", "api_key": "?????????????????"}


Для продавцов


Заказы продавца

Метод "заказы продавца" (GetSellerOrders)

GetSellerOrders
https://www.zzap.ru/webservice/datasharing.asmx/GetSellerOrders

Необходимо отправить POST запрос:
POST /webservice/datasharing.asmx/GetSellerOrders
HTTP/1.1
Host: www.zzap.ru
Content-Type: application/x-www-form-urlencoded
Content-Length: length

login=string&password=string&row_count=int&api_key=string

Где
login - e-mail, указанный при регистрации на сайте ZZap
password - пароль
row_count - сколько максимально записей возвращать (если не задано или равно 0, выдаём 100 последних заказов)
api_key - нужно попросить у нас


В ответ поступит JSON
{ "error": "", // если пусто, ошибок нет
"row_count": 10, // сколько строк вернулось
"table": [ {
"code_order": 3930751, // номер заказа
"create_date": "2015-04-01 19:56:36.350", // время создания заказа
"class_man": "HEPU", // производитель заказанной запчасти
"logopath": "", // логотип производителя
"partnumber": "P049", // номер заказанной запчасти
"comment": "", // комментарий к заказу от покупателя
"class_cat": "ПОМПА", // наименование запчасти
"imagepath":"" // изображение/фото запчасти
"qty_order": "1", // кол-во заказанных позиций
"qty": "6 шт. ", // "В наличии", "Есть", "Заказ" или кол-во штук - то, что было указано у продавца в момент заказа
"descr_qty": "3-5 р.д.", // срок поставки (дополнение к информации о количестве)
"price": "3 292р.(56.97$ ПБ)", // цена, по которой заказана позиции + оригинальная цена из прайс-листа
"apply": "Скидка постоянным клиентам", // комментарии к цене, условия заказа
"client_name": "Фамилия Имя", // ФИО покупателя
"client_email": "email", // e-mail покупателя
"client_phone": "8(000)111-11-11", // телефон покупателя
"client_code_region": "30100", // код региона покупателя
"client_id_hash": "...", // хэш от уникального кода покупателя (удобно использовать для группировки полученных данных по покупателю)
"seller_name": "Компания", // продавец
"response": "Помпа в наличии - приезжайте!" // ответ на заказ от продавца
"client_rating_count": "33 отзыва", // количество отзывов покупателя
"client_rating": "4", // рейтинг покупателя
"user_key": "?????????????????", // "ключ" покупателя, с помощью которого Вы сможете оставить отзыв по заказу, оформленному на сайте ZZap (метод MakeOrderRating), а также можете посмотреть информацию о покупателе (метод GetUserInfo)
"used": 0 // тип предложения: 0 - обычное, 1 - б/у и уценка
"code_template": 111111 // код шаблона продавца, по которому был опубликован прайс-лист с заказанной позицией
"price_name": "Price.xls" // название прайс-листа с заказанной позицией
}
{
...
}
]
}

Важно!
При вызове GetSellerOrders и потом SetOrderStatus для новых заказов!
Лучше выполнять запрос SetOrderStatus только для заказов, сделанных более 5 минут назад.
Запросы через API обслуживаются группой серверов с балансированием нагрузки, и данные на них синхронизируются через репликацию.
Обычно требуется несколько секунд, чтобы изменение проявилось всюду, но в случае с SetOrderStatus лучше подождать с ответом несколько минут.


Другой вариант запроса - JSON запрос:
request.Method = "POST";
request.ContentType = "application/json";
{ "login": "...", "password": "...", "row_count": "...", "api_key": "?????????????????"}


Примечание:
метод GetSellerOrders выдаёт заказы от покупателей, созданные не ранее 3 месяцев назад от текущей даты


Метод "подтверждение продавцом получения заказа" (SetOrderStatus)

SetOrderStatus
https://www.zzap.ru/webservice/datasharing.asmx/SetOrderStatus

Необходимо отправить POST запрос:
POST /webservice/datasharing.asmx/SetOrderStatus
HTTP/1.1
Host: www.zzap.ru
Content-Type: application/x-www-form-urlencoded
Content-Length: length

login=string&password=string&code_order=string&response=string&api_key=string

login - e-mail, указанный при регистрации на сайте ZZap
password - пароль
code_order - номер заказа
response - ответ продавца на заказ
api_key - нужно попросить у нас


В ответ поступит JSON
{
"error": "" // если пусто, ошибок нет
}

Важно!
При вызове SetOrderStatus для новых заказов!
Лучше выполнять запрос SetOrderStatus только для заказов, сделанных более 5 минут назад.
Запросы через API обслуживается группой серверов с балансированием нагрузки, и данные на них синхронизируются через репликацию.
Обычно требуется несколько секунд, чтобы изменение проявилось всюду, но в случае с SetOrderStatus лучше подождать с ответом несколько минут.


Другой вариант запроса - JSON запрос:
request.Method = "POST";
request.ContentType = "application/json";
{ "login": "", "password": "", "code_order": "...", "response": "...", "api_key": "?????????????????"}


Отправка заказа от покупателя на сайт продавца

Более подробно можно почитать здесь:
Отправка заказа от покупателя на сайт продавца


VIN запросы продавца

Метод "VIN запросы продавца" (GetSellerVinRequests)

GetSellerVinRequests
https://www.zzap.ru/webservice/datasharing.asmx/GetSellerVinRequests

Необходимо отправить POST запрос:
POST /webservice/datasharing.asmx/GetMyVinRequests
HTTP/1.1
Host: www.zzap.ru
Content-Type: application/x-www-form-urlencoded
Content-Length: length

login=string&password=string&api_key=string

Где
login - e-mail, указанный при регистрации на сайте ZZap
password - пароль
api_key - нужно попросить у нас


В ответ поступит JSON
{ "error": "", // если пусто, ошибок нет
"row_count": 10, // сколько строк вернулось
"table": [ {
"code_order": 3807443, // номер vin-запроса - это значение используйте для просмотра ответов по данному vin-запросу (см. комментарий ниже)
"create_date": "2013-09-02 11:07:45.050", // время создания vin-запроса
"client_name": "Фамилия Имя", // ФИО покупателя
"client_region": "Сыктывкар и Коми респ.", // регион покупателя
"client_email": "email", // e-mail покупателя
"client_phone": "8(000)111-11-11", // телефон покупателя
"notify_sms": false, // false - не оповещать по смс, true - оповещать по смс
"vin_number": "AA1AAAA11A1111111", // vin-номер автомобиля
"class_man": "OPEL", // марка автомобиля
"class_car_type" : "VECTRA", // модель автомобиля
"submodel": "C18NZ", // модификация (если было заполнено)
"engine_type": "1.8", // двигатель
"man_date": "1992", // год выпуска автомобиля
"vin_info": "...", // модельный год, завод, страна и т.д. (если было заполнено)
"imagepath": "", // ссылка на фото (если было прикреплено)
"comment": "шаровая опора левая, амортизаторы задние, ремень генератора", // комментарий покупателя к vin-запросу
"response": "Уважаемый (покупатель)! По вашему запросу (номер) отвечаем: всё в наличии! приезжайте! (информация о продавце)" // ответ продавца на vin-запрос
"responses": "3" // количество ответов на vin-запросов от разных продавцов
}
{
...
}
]
}


Вернувшиеся значения code_order используйте для передачи в параметр code_order в методе SetVinRequestStatus

Другой вариант запроса - JSON запрос:
request.Method = "POST";
request.ContentType = "application/json";
{ "login": "...", "password": "...", "api_key": "?????????????????"}


Примечание:
метод GetSellerVinRequests выдаёт vin-запросы от покупателей, созданные не ранее месяца назад от текущей даты


Метод "подтверждение продавцом получения VIN запроса" (SetVinRequestStatus)

SetVinRequestStatus
https://www.zzap.ru/webservice/datasharing.asmx/SetVinRequestStatus

Необходимо отправить POST запрос:
POST /webservice/datasharing.asmx/SetVinRequestStatus
HTTP/1.1
Host: www.zzap.ru
Content-Type: application/x-www-form-urlencoded
Content-Length: length

login=string&password=string&code_order=string&response=string&api_key=string

login - e-mail, указанный при регистрации на сайте ZZap
password - пароль
code_order - номер vin-запроса
response - ответ продавца на vin-запрос
api_key - нужно попросить у нас


В ответ поступит JSON
{
"error": "" // если пусто, ошибок нет
}


Другой вариант запроса - JSON запрос:
request.Method = "POST";
request.ContentType = "application/json";
{ "login": "", "password": "", "code_order": "...", "response": "...", "api_key": "?????????????????"}


Статистика продавца

Метод "моя статистика" (GetMyStatCustomers)

GetMyStatCustomers
https://www.zzap.ru/webservice/datasharing.asmx/GetMyStatCustomers

Необходимо отправить POST запрос:
POST /webservice/datasharing.asmx/GetMyStatCustomers
HTTP/1.1
Host: www.zzap.ru
Content-Type: application/x-www-form-urlencoded
Content-Length: length

login=string&password=string&code_templ=int&api_key=string

Где
login - e-mail, указанный при регистрации на сайте ZZap
password - пароль
code_templ - код шаблона, если нужна статистика по конкретному шаблону (если не указан номер, выгрузится общая статистика по всем шаблонам клиента)
api_key - нужно попросить у нас


В ответ поступит JSON
{ "error": "", // если пусто, ошибок нет
"row_count": 495, // сколько строк вернулось
"table": [ {
"stat_date": "2015-07-01T00:00:00" // дата статистики
"descr_type_stat": "Переходы по ссылке" // тип статистики
"counter": "25" // количество совершения соответствующего действия (перехода по ссылке, например)
}
{
...
}
]
}


Другой вариант запроса - JSON запрос:
request.Method = "POST";
request.ContentType = "application/json";
{ "login": "...", "password": "...", "code_templ": "...", "api_key": "?????????????????"}


Примечание:
Дата всегда указана в виде первого числа месяца и времени 00:00:00, т.е., данные представлены за соответствующий месяц
Пример: "stat_date":"2015-07-01T00:00:00", "descr_type_stat":"Переходы по ссылке", "counter":"25" значит, что переходов по ссылке за июль 2015 года было 25


Избранные позиции

Метод "добавление позиции в избранные" (AddFavoriteSearch)

AddFavoriteSearch
https://www.zzap.ru/webservice/datasharing.asmx/AddFavoriteSearch

Необходимо отправить POST запрос:
POST /webservice/datasharing.asmx/AddFavoriteSearch
HTTP/1.1
Host: www.zzap.ru
Content-Type: application/x-www-form-urlencoded
Content-Length: length

login=string&password=string&code_cat=int&partnumber=string&class_man=string&class_cat=string&api_key=string

login - e-mail, указанный при регистрации на сайте ZZap
password - пароль
code_cat - внутренний уникальный код позиции
partnumber - номер
class_man - производитель
class_cat - наименование
api_key - нужно попросить у нас
поля login и password обязательны для заполнения

В ответ поступит JSON
{
"error": "" // если пусто, ошибок нет
"code_fav": "200000015" // внутренний уникальный код добавленной избранной позиции
}
Другой вариант запроса - JSON запрос:
request.Method = "POST";
request.ContentType = "application/json";
{ "login": "...", "password": "...", "code_cat": "...", "partnumber": "...", "class_man": "...", "class_cat": "...", "api_key": "?????????????????"}


Метод "удаление позиции из избранных" (DeleteFavoriteSearch)

DeleteFavoriteSearch
https://www.zzap.ru/webservice/datasharing.asmx/DeleteFavoriteSearch

Необходимо отправить POST запрос:
POST /webservice/datasharing.asmx/DeleteFavoriteSearch
HTTP/1.1
Host: www.zzap.ru
Content-Type: application/x-www-form-urlencoded
Content-Length: length

login=string&password=string&code_fav=int&api_key=string

login - e-mail, указанный при регистрации на сайте ZZap
password - пароль
code_fav - внутренний уникальный код избранной позиции
api_key - нужно попросить у нас

поля login и password обязательны для заполнения

В ответ поступит JSON
{
"error": "" // если пусто, ошибок нет
}


Другой вариант запроса - JSON запрос:
request.Method = "POST";
request.ContentType = "application/json";
{ "login": "...", "password": "...", "code_fav": "...", "api_key": "?????????????????"}


Метод "мои избранные позиции" (GetMyFavoritesSearch)

GetMyFavoritesSearch
https://www.zzap.ru/webservice/datasharing.asmx/GetMyFavoritesSearch

Необходимо отправить POST запрос:
POST /webservice/datasharing.asmx/GetMyFavoritesSearch
HTTP/1.1
Host: www.zzap.ru
Content-Type: application/x-www-form-urlencoded
Content-Length: length
login=string&password=string&api_key=string

login - e-mail, указанный при регистрации на сайте ZZap
password - пароль
api_key - нужно попросить у нас

поля login и password обязательны для заполнения

В ответ поступит JSON, что-то вроде (данные условны)
{
"error": "" // если пусто, ошибок нет
"row_count": 5, // сколько строк вернулось
"table":
[
{
"code_fav": 200000004, // внутренний уникальный код избранной позиции
"class_man": "BMW", // производитель
"logopath": "", // логотип производителя
"partnumber": "34116769951", // номер
"class_cat": "КОЛОДКИ ПЕРЕД Е90 318", // наименование
"imagepath": "" // изображение/фото запчасти
"code_cat": 115835062, // внутренний уникальный код позиции
},
{
...
}
]
}


Другой вариант запроса - JSON запрос:
request.Method = "POST";
request.ContentType = "application/json";
{ "login": "...", "password": "...", "api_key": "?????????????????"}


Сообщения

Метод "мои собеседники" (GetMyMessagesThreads)

GetMyMessagesThreads
https://www.zzap.ru/webservice/datasharing.asmx/GetMyMessagesThreads

Необходимо отправить POST запрос:
POST /webservice/datasharing.asmx/GetMyMessagesThreads
HTTP/1.1
Host: www.zzap.ru
Content-Type: application/x-www-form-urlencoded
Content-Length: length
login=string&password=string&login_info=string&api_key=string

login - e-mail, указанный при регистрации на сайте ZZap
password - пароль
login_info - для внутренних целей, передавать пустое значение
api_key - нужно попросить у нас

поля login и password обязательны для заполнения

В ответ поступит JSON, что-то вроде (данные условны)
{
"error": "" // если пусто, ошибок нет
"row_count": 5, // сколько строк вернулось
"table":
[
{
"user_name": "фамилия имя", // ФИО (или название компании) собеседника
"unread_count": 9, // количесто непрочитанных сообщений
"user_key": "?????????????????", // "ключ" собеседника, с помощью которого Вы сможете посмотреть полную переписку с этим собеседником (метод GetMyMessages), а также можете посмотреть информацию о продавце/покупателе (метод GetUserInfo)
"message_last_date": "2017-06-30T16:17:24", // дата последнего сообщения с этим собеседником
"message_last": "Текст последнего сообщения с этим собеседником"
"read_only": false, // можно ли этому собеседнику отсылать сообшения
},
{
...
}
]
}


Другой вариант запроса - JSON запрос:
request.Method = "POST";
request.ContentType = "application/json";
{ "login": "...", "password": "...", "api_key": "?????????????????"}


Метод "мои собеседники" (GetMyMessagesThreadsV2)

GetMyMessagesThreadsV2
https://www.zzap.ru/webservice/datasharing.asmx/GetMyMessagesThreadsV2

Необходимо отправить POST запрос:
POST /webservice/datasharing.asmx/GetMyMessagesThreadsV2
HTTP/1.1
Host: www.zzap.ru
Content-Type: application/x-www-form-urlencoded
Content-Length: length
login=string&password=string&login_info=string&code_object=&type_object=&api_key=string

login - e-mail, указанный при регистрации на сайте ZZap
password - пароль
login_info - для внутренних целей, передавать пустое значение
code_object - для внутренних целей, передавать пустое значение
type_object - для внутренних целей, передавать пустое значение
api_key - нужно попросить у нас

поля login и password обязательны для заполнения

В ответ поступит JSON, что-то вроде (данные условны)
{
"error": "" // если пусто, ошибок нет
"row_count": 5, // сколько строк вернулось
"table":
[
{
"user_name": "фамилия имя", // ФИО (или название компании) собеседника
"unread_count": 9, // количесто непрочитанных сообщений
"user_key": "?????????????????", // "ключ" собеседника, с помощью которого Вы сможете посмотреть полную переписку с этим собеседником (метод GetMyMessages), а также можете посмотреть информацию о продавце/покупателе (метод GetUserInfo)
"message_last_date": "2017-06-30T16:17:24", // дата последнего сообщения с этим собеседником
"message_last": "Текст последнего сообщения с этим собеседником"
"read_only": false, // можно ли этому собеседнику отсылать сообшения
},
{
...
}
]
}


Другой вариант запроса - JSON запрос:
request.Method = "POST";
request.ContentType = "application/json";
{ "login": "...", "password": "...", "api_key": "?????????????????"}


Метод "мои сообщения" (GetMyMessages)

GetMyMessages
https://www.zzap.ru/webservice/datasharing.asmx/GetMyMessages

Необходимо отправить POST запрос:
POST /webservice/datasharing.asmx/GetMyMessages
HTTP/1.1
Host: www.zzap.ru
Content-Type: application/x-www-form-urlencoded
Content-Length: length
login=string&password=string&login_info=string&row_count=string&user_key=string&api_key=string

login - e-mail, указанный при регистрации на сайте ZZap
password - пароль
login_info - для внутренних целей, передавать пустое значение
row_count - сколько максимально записей возвращать (не обязательно для заполнения - по умолчанию 100 записей)
user_key - "ключ" собеседника, полученный в методе GetMyMessagesThreads (или в методах GetSearchResult, GetSearchResultOne, GetMyOrders, GetMyVinRequestReplies)
api_key - нужно попросить у нас

все поля, кроме row_count, обязательны для заполнения

В ответ поступит JSON, что-то вроде (данные условны)
{
"error": "" // если пусто, ошибок нет
"row_count": 100, // сколько строк вернулось
"table":
[
{
"user_key": "?????????????????", // "ключ" отправителя сообщения
"user_name": "фамилия имя", // ФИО (или название компании) отправителя сообщения
"message_date": "2017-06-30T16:17:24", // дата сообщения
"message": "Текст сообщения"
"unread": true, // false - прочитано получателем, true - не прочитано получателем
},
{
...
}
]
}


Другой вариант запроса - JSON запрос:
request.Method = "POST";
request.ContentType = "application/json";
{ "login": "...", "password": "...", "row_count": "...", "user_key": "...", "api_key": "?????????????????"}


Метод "мои сообщения" (GetMyMessagesV2)

GetMyMessagesV2
https://www.zzap.ru/webservice/datasharing.asmx/GetMyMessagesV2

Необходимо отправить POST запрос:
POST /webservice/datasharing.asmx/GetMyMessagesV2
HTTP/1.1
Host: www.zzap.ru
Content-Type: application/x-www-form-urlencoded
Content-Length: length
login=string&password=string&login_info=string&row_count=string&user_key=string&code_object=&type_object=&api_key=string

login - e-mail, указанный при регистрации на сайте ZZap
password - пароль
login_info - для внутренних целей, передавать пустое значение
row_count - сколько максимально записей возвращать (не обязательно для заполнения - по умолчанию 100 записей)
user_key - "ключ" собеседника, полученный в методе GetMyMessagesThreads (или в методах GetSearchResult, GetSearchResultOne, GetMyOrders, GetMyVinRequestReplies)
code_object - для внутренних целей, передавать пустое значение
type_object - для внутренних целей, передавать пустое значение
api_key - нужно попросить у нас

все поля, кроме row_count, обязательны для заполнения

В ответ поступит JSON, что-то вроде (данные условны)
{
"error": "" // если пусто, ошибок нет
"row_count": 100, // сколько строк вернулось
"table":
[
{
"user_key": "?????????????????", // "ключ" отправителя сообщения
"user_name": "фамилия имя", // ФИО (или название компании) отправителя сообщения
"message_date": "2017-06-30T16:17:24", // дата сообщения
"message": "Текст сообщения"
"unread": true, // false - прочитано получателем, true - не прочитано получателем
},
{
...
}
]
}


Другой вариант запроса - JSON запрос:
request.Method = "POST";
request.ContentType = "application/json";
{ "login": "...", "password": "...", "row_count": "...", "user_key": "...", "api_key": "?????????????????"}


Метод "отправка сообщения" (SendMessage)

SendMessage
https://www.zzap.ru/webservice/datasharing.asmx/SendMessage

Необходимо отправить POST запрос:
POST /webservice/datasharing.asmx/SendMessage
HTTP/1.1
Host: www.zzap.ru
Content-Type: application/x-www-form-urlencoded
Content-Length: length
login=string&password=string&login_info=string&user_key=string&message=string&message_date=string&isonline=string&api_key=string

login - e-mail, указанный при регистрации на сайте ZZap
password - пароль
login_info - для внутренних целей, передавать пустое значение
user_key - "ключ" собеседника, полученный в методе GetMyMessagesThreads (или в методах GetSearchResult, GetSearchResultOne, GetMyOrders, GetMyVinRequestReplies)
message - текст сообщения
message_date - дата сообщения (не обязательно для заполнения - по умолчанию текущая дата)
isonline - false - собеседник офлайн, true - собеседник онлайн
api_key - нужно попросить у нас

все поля, кроме message_date, обязательны для заполнения

В ответ поступит JSON
{
"error": "" // если пусто, ошибок нет
}


Другой вариант запроса - JSON запрос:
request.Method = "POST";
request.ContentType = "application/json";
{ "login": "...", "password": "...", "user_key": "...", "message": "...", "message_date": "", "api_key": "?????????????????"}


Метод "отправка сообщения" (SendMessageV2)

SendMessageV2
https://www.zzap.ru/webservice/datasharing.asmx/SendMessageV2

Необходимо отправить POST запрос:
POST /webservice/datasharing.asmx/SendMessageV2
HTTP/1.1
Host: www.zzap.ru
Content-Type: application/x-www-form-urlencoded
Content-Length: length
login=string&password=string&login_info=string&user_key=string&message=string&message_date=string&isonline=string&code_object=&type_object=&api_key=string

login - e-mail, указанный при регистрации на сайте ZZap
password - пароль
login_info - для внутренних целей, передавать пустое значение
user_key - "ключ" собеседника, полученный в методе GetMyMessagesThreads (или в методах GetSearchResult, GetSearchResultOne, GetMyOrders, GetMyVinRequestReplies)
message - текст сообщения
message_date - дата сообщения (не обязательно для заполнения - по умолчанию текущая дата)
code_object - для внутренних целей, передавать пустое значение
type_object - для внутренних целей, передавать пустое значение
api_key - нужно попросить у нас

все поля, кроме message_date, обязательны для заполнения

В ответ поступит JSON
{
"error": "" // если пусто, ошибок нет
}


Другой вариант запроса - JSON запрос:
request.Method = "POST";
request.ContentType = "application/json";
{ "login": "...", "password": "...", "user_key": "...", "message": "...", "message_date": "", "api_key": "?????????????????"}


Сообщение об ошибке

Метод "отправка сообщения об ошибке" (SendAppErrorMessage)

SendAppErrorMessage
https://www.zzap.ru/webservice/datasharing.asmx/SendAppErrorMessage

Необходимо отправить POST запрос:
POST /webservice/datasharing.asmx/SendAppErrorMessage
HTTP/1.1
Host: www.zzap.ru
Content-Type: application/x-www-form-urlencoded
Content-Length: length
login=string&password=string&subject=string&message=string&api_key=string

login - e-mail, указанный при регистрации на сайте ZZap (не обязательно для заполнения)
password - пароль (не обязательно для заполнения)
subject - тема сообщения
message - подробное описание проблемы
api_key - нужно попросить у нас

поля login и password не обязательны для заполнения
но, если указан login, то должен быть указан корректный password для этого login

В ответ поступит JSON
{
"error": "" // если пусто, ошибок нет
}


Другой вариант запроса - JSON запрос:
request.Method = "POST";
request.ContentType = "application/json";
{ "login": "", "password": "", "subject": "...", "message": "...", "api_key": "?????????????????"}