November 22, 2019

JSON DATA (RESPONSE)

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

Временные промежутки

Если смотреть тупо на даты ответов, то можно определить, что они идут с некоторой закономерностью

========= 13.11.2019, 22:28:18 =========
========= 13.11.2019, 22:28:19 =========
========= 13.11.2019, 22:28:22 =========
========= 13.11.2019, 22:28:25 =========

Из этих 4 дат мы прекрасно видим, что первые 2 идут с разницей в 1 секунду, а последующие с разницей в 3 секунды. Это можно увязать с временем обновления списка заказов. Первые 2 раза обновление происходит быстрее, чем в последующие.

Содержимое ответов

Сразу скажу, я логгировал только ответы со статусом "session". Т.е. непосредственно содержимое сессии.

Типичный ответ выглядит так:

{
    "orders": {// заказы
        "служба такси:позывной": [// список
            {//заказ №1
                "FPDATE": null,
                "FOTID": число (предп. ID заказа),
                "FDIAL_T": число (предп. дата заказа),
                "FLIGHT": "число",
                "FDIAL_S": "число",
                "FTEL": null (предп. номер телефона),
                "FA": null,
                "FSTATUS": 21,
                "FDIAL_O": "ORDER_DRI",
                "FAD_ROUTE": [
                   // массив строк
                ],
                "FCOST": 105, // сумма заказа
                "FAD_STR": "куда ехать (напр. ул. Пушкина, дом Колотушкина)",
                "FCLI": null,
                "FAD_PO": null,
                "FAD_H": null,
                "FDIS": null,
                "FDRI_TAXI": null,
                "FDRI_ID": null,
                "FCOST_DATA": {
                    "distance": "333(0) + 10004(0) + 0(0)",// хз вообще что
                    "cost_s": "105 грн.", // сумма заказа в гривнах
                    "Coord": [// координаты
                        [
                            // массив координат с точностью до 3-х знаков
                        ],
                        [
                            // массив координат с точностью до 5-ти знаков
                        ],
                        [
                           // массив координат с точностью до 7-ми знаков
                        ]
                    ],
                    "area": "район заказа"
                },
                "FOT": "предп. ID службы",
                "FOPR": "предп ID оператора",
                "FID": ID,
                "FDATE": дата,
                "FOTW": флаг,
                "F0": null,
                "UHASH": "07",
                "FAD_NOTE": null,
                "FLOCK": null,
                "FDRI": null
            },
            //еще заказ
//и еще
    "status": [
        {
            "user_id": ID водителя,
            "order": ID текущего заказа,
            "order_data": данные по текущему заказу,
            "point": флаг (значение либо "0", либо null),
            "timestamp": время,
            "session": "ID текущей сессии"
        }
    ],
    "road_from": "visicom"
}

Также в поле статуса показываются координаты твоего заказа. По крайней мере они совпадают с теми, что передаются в массиве заказов.

{
    "response": "session",
    "data": [
        {
            "fmanid": "ID водителя",
            "session": "ID текущей сессии"
        }
    ],
    "error": "",
    "settings": [
        {
// настройки блокировки
            "block_time": "600"
        }
    ],
    "money": [
        {
            "ftaxi": "служба такси",
            "fdri": "позывной",
            "fservice": "название службы такси"
        }
    ],
//настройки
    "common_settings": {
        "autoget": "5000",
        "autohighlight": "5000",
        "coords": {
            "lat": "широта",
            "lng": "долгота"
        },
        "Taxoid_pA_Check_Enabled": 0,
        "Taxoid_pA_Check_Radius": "500"
    }

Также не совсем понятно присутствие флага номера телефона в списке заказов. Его значение можно узнать только при принятии заказа.

Ничего особо интересного там более нет.