Как отфильтровать подчиненные объекты JSON в API почтальона - PullRequest
0 голосов
/ 04 мая 2018

Возможно, я даже не использую правильную терминологию, поэтому заранее прошу прощения.

Я использую Postman для запуска вызовов API для сбора данных для клиентов и моих собственных исследований, и мне нужно отфильтровать запрос по «подобъекту» (опять же, не уверен насчет терминологии)

Это звонок, который я использовал, чтобы получить ответ ниже:

https://apicfa.convirza.com/v2/call/dni?filter=group_id=8361&limit=10


{
    "result": "success",
    "err": null,
    "data": [
        {
            "call_id": "6834916",
            "call_flow_id": 22830,
            "group_id": 8361,
            "disposition": "ANSWERED",
            "duration": 27,
            "caller_id": "5551234545",
            "tracking_number": "5551234545",
            "ring_to": "5551234545",
            "repeat_call": false,
            "call_started": "2018-05-03T21:30:35.000Z",
            "dni_data": {
                "browser": "Chrome/(Android; Android 7.1.1)",
                "created_at": "2018-05-03T21:30:10.000Z",
                "custom_params": {},
                "destination_url": "",
                "dni_vid": "",
                "first_page": "",
                "ga_cid": "",
                "ip_host": "",
                "last_page": "",
                "log_date": "2018-05-03 21:30:10 UTC",
                "location_details": {

                },
                "ref_param": {
                    "utm_medium": "cpc",
                    "utm_campaign": "GT:Tampa",
                    "utm_source": "google"
                },
                "master_node_id": 8361,
                "organizational_unit_id": 8361,
                "referring": "https://google.com",
                "referring_type": "Paid",
                "referring_url": "",
                "search_words": "Not Provided",
                "session_id": "",
                "updated_at": "",
                "gclid": "EwE",
                "gclsrc": "",
                "phone_numbers": {
                    "id": 60270626,
                    "dni_log_id": "5aeb7f628a95c63fe500055b",
                    "dni_id": "3798",
                    "phone_number": "5551234545",
                    "element": "cfa_eps",
                    "phone_number_id": "",
                    "pool_id": "6118",
                    "number_last_used": "2018-05-03 21:30:10 UTC",
                    "provisioned_route_id": "22830"
                }
            }
        },

Что я хотел бы сделать, так это отфильтровать по " custom_params " или " utm_medium ", но я не могу понять, как добраться до этого уровня. Любая помощь будет высоко оценена.

1 Ответ

0 голосов
/ 04 мая 2018

Вы можете попробовать следующим образом;

var responsedata = pm.response.json();

if(responsedata.length > 0) {
    responsedata.data.forEach(function(data) {
        var dniData = data.dni_data
        var customParams = dniData.custom_params
        pm.test("customParams not empty", function () {
            pm.expect(customParams).to.not.equal(null);
        });
        pm.environment.set("customParams", customParams);

        var refParams = dniData.ref_param
        pm.test("refParams not empty", function () {
            pm.expect(refParams).to.not.equal(null);
        });

        var utmMedium = refParams.utm_medium
        pm.test("utmMedium not empty", function () {
            pm.expect(utmMedium).to.not.equal("");
        });
        pm.environment.set("refParams", refParams);
    });
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...