Формат и отправка push при отправке на сервер уведомлений
Отправка push
Адрес выбирается из настроек ТН "Настройки WebOrders" >> "Приложения для клиентов" по полю "Название" которое сервер получает из заголовка запроса X-WO-API-APP-ID.
Общий формат запроса
Request (запрос):
Параметры запроса | Обязательный параметр | Описание |
<to> | Да | Иденификатор получателя уведомления. (Это токен, сервер получает его из тела запроса) |
<data> | Да | Информация о статусе заказа или о бонусе. Структура зависит от типа сообщения. Содержимое данного параметра при типе=0 полностью соответствует содержимому ответа при запросе статуса заказа. См. «Запрос состояния заказа». |
<content_available> | Да | Значение true. Необходим для корректной работы пушей на ios устройствах. |
<priority> | Да | Значение "high". Необходим для корректной работы пушей на ios устройствах. |
Типизация сообщений для корректной обработки на клиенте
Типы определяются полем push_type в <data>:
- 0 - пуш связанный с заказом.
Значения
- car_type_upgrade - информация о повышении класса машины
- car_type_upgraded - признак повышения класса машины
- car_type - системное название класса машины
- ...
- car_type_upgrade - информация о повышении класса машины
- 1 - пуш связанный с бонусом за выполненный заказ.
- 2 - пуш связанный с бонусом авторизации.
- 3 - пуш связанный с уведомлением клиента о возможности изменения добавочной стоимости.
- 5 - push при снятии/замене машины для заказа с подтвержденным водителем выполнением
Пример формата с типом 0
Content-Type:application/json
Authorization:AIzaSyZ-1u...0GBYzPu7Udno5aA
{
"data":
{
"dispatching_order_uid":"44ebd09e5f224651bf3c8e2dd12ed890"
,"order_cost":"72"
,"currency":" грн."
,"order_car_info":"АА1172АА, синий, Ford C-Max"
,"driver_phone":"050-123-45-67"
,"required_time":"2013-08-14T17:01:57.303"
,"close_reason":-1
,"cancel_reason_comment":null
,"order_is_archive":false
,"execution_status":"SearchesForCar"
,"push_type":0
,"rating":0,
,"rating_comment":"",
"car_type_upgrade":{
"car_type_upgraded":true,
"car_type":"WAGON"
}
,"drivercar_position":{
"lat":50.512383
,"lng":30.536734
,"time_positioned_utc":"2015-06-02T11:12:23.301"
,"altitude":null
,"accuracy":null
,"bearing":0
,"speed":60
,"status":"gpsOk"
}
,"route_address_from":{
"name":"ОЗЕРНАЯ УЛ. (ОБОЛОНЬ)"
,"number":"1"}
,"route_address_to":{
"name":"ЯНГЕЛЯ АКАДЕМИКА УЛ."
,"number":"1"}
},
"to" : "bk3RNwTe3H0:CI2k_HHwgIpoDKCIZvvDMExUdFQ3P1...",
"content_available":true,
"priority" : "high"
}
Пример формата с типом 1 или 2 (тут необходимо так же указать значение изменения бонуса):
Content-Type:application/json
Authorization:AIzaSyZ-1u...0GBYzPu7Udno5aA
{
"to":"App_Token",
"data":{
"bonus":7.0,
"push_type":2
},
"content_available":true,
"priority":"high"
}
Пример формата с типом 3:
Content-Type:application/json
Authorization:AIzaSyZ-1u...0GBYzPu7Udno5aA
{
"to":"App_Token",
"data":{
"push_type":3
},
"content_available":true,
"priority":"high"
}
Пример формата с типом 5:
Content-Type:application/json
Authorization:AIzaSyZ-1u...0GBYzPu7Udno5aA
{
"to":"App_Token",
"data":{
"push_type":5
},
"content_available":true,
"priority":"high"
}