Построение отчета

Шаг 1. Получите список параметров

С помощью операции GET /constructor_filters/api/ получите параметры раздела.

Шаг 2. Выберите параметры для построения отчета

Параметры делятся на несколько блоков:

  • Фильтры (filters) используются для фильтрации данных и их группировки по времени.
  • Фильтры с группировками (conditional_filters) используются для фильтрации данных по группам.
  • Показатели (measures) определяют, какие метрики или типы вознаграждения будут показаны в итоговом ответе при запросе статистики. В отчете должен присутствовать хотя бы один параметр этого блока.
  • Конвертация валют (currency_converter) позволяет конвертировать данные отчета в выбранную валюту.
  • Дополнительные параметры позволяют кастомизировать отчет. Например, выставить постраничную выдачу с помощью параметра paginate.

Шаг 3. Составьте запрос для построения отчета

Синтаксис составления запроса описан в операции GET /constructor_filters/api/. Построим отчет с учетом следующих параметров:

Задаем период, за который требуется получить отчет

    {
      "id": "filters",
      "fields": [
        {
          "id": "period",
          "value": "2022.03.01-2022.03.31"
        }
      ]
    }

Группируем данные в отчете по неделям

    {
      "id": "filters",
      "fields": [
        {
          "id": "period",
          "value": "2022.03.01-2022.03.31"
        },
        {
          "id": "detalization",
          "value": "2"
        }
      ]
    }

Задаем параметры-показатели, которые хотим увидеть в отчете

    {
      "id": "measures",
      "fields": [
        {
          "id": "partner_reward",
          "value": [
            {
              "id": "default_fixed_partner_reward_metric",
              "value": true
            }
          ]
        }
      ]
    }

Группируем данные по названию пакета

    {
      "id": "conditional_filters",
      "fields": [
        {
          "id": "Packs",
          "value": [
            {
              "id": "default_constructor_field_pack_caption_container",
              "value": [
                {
                  "id": "default_constructor_field_pack_caption_group",
                  "value": true
                }
              ]
            }
          ]
        }
      ]
    }

Фильтруем данные в отчете по типу клида

    {
      "id": "conditional_filters",
      "fields": [
        {
          "id": "Packs",
          "value": [
            {
              "id": "default_constructor_field_pack_caption_container",
              "value": [
                {
                  "id": "default_constructor_field_pack_caption_group",
                  "value": true
                }
              ]
            }
          ]
        },
        {
          "id": "CLIDs and Sets",
          "value": [
            {
              "id": "default_constructor_field_clid_type_id_container",
              "value": [
                {
                  "id": "default_constructor_field_clid_type_id",
                  "value": [
                    "1003",
                    "5",
                    "100003"
                  ]
                }
              ]
            }
          ]
        }
      ]
    }
Итоговый запрос
curl -i -H "Accept: application/json" -H "Content-Type:application/json" -H "Authorization: OAuth 66..." -X POST "https://distribution.yandex.net/api/v2/constructor_statistics/api_table/?lang=ru" \
--data-raw '{
  "blocks": [
    {
      "id": "filters",
      "fields": [
        {
          "id": "period",
          "value": "2022.03.01-2022.03.31"
        },
        {
          "id": "detalization",
          "value": "2"
        }
      ]
    },
    {
      "id": "measures",
      "fields": [
        {
          "id": "partner_reward",
          "value": [
            {
              "id": "default_fixed_partner_reward_metric",
              "value": true
            }
          ]
        }
      ]
    },
    {
      "id": "conditional_filters",
      "fields": [
        {
          "id": "Packs",
          "value": [
            {
              "id": "default_constructor_field_pack_caption_container",
              "value": [
                {
                  "id": "default_constructor_field_pack_caption_group",
                  "value": true
                }
              ]
            }
          ]
        },
        {
          "id": "CLIDs and Sets",
          "value": [
            {
              "id": "default_constructor_field_clid_type_id_container",
              "value": [
                {
                  "id": "default_constructor_field_clid_type_id",
                  "value": [
                    "1003",
                    "5",
                    "100003"
                  ]
                }
              ]
            }
          ]
        }
      ]
    }
  ]
}'
Фрагмент успешного ответа
{
  "data": {
    "id": "2a0ab5a7daa93fa3b4e7caa768b9467c",
    "label": "Таблица",
    "type": "statistics",
    "columns": [
      {
        "field": "default_field_dt",
        "label": "Дата"
      },
      {
        "field": "default_field_pack_caption",
        "label": "Название пакета"
      },
      {
        "field": "default_fixed_partner_reward_metric",
        "label": "Вознаграждение"
      }
    ],
    "totals": [
      {
        "default_field_dt": null,
        "default_field_pack_caption": null,
        "default_fixed_partner_reward_metric": "2 231 655.65 ₽"
      },
      {
        "default_field_dt": null,
        "default_field_pack_caption": null,
        "default_fixed_partner_reward_metric": "13 735.32 $"
      },
      {
        "default_field_dt": null,
        "default_field_pack_caption": null,
        "default_fixed_partner_reward_metric": "7 356.48 €"
      }
    ],
    "rows": [
      [
        {
          "default_field_pack_caption": "Pack caption example 1",
          "default_fixed_partner_reward_metric": "355.6 ₽",
          "default_field_dt": "14 неделя 2022 (28.03.2022 - 03.04.2022)"
        }
      ],
      [
        {
          "default_field_pack_caption": "Pack caption example 2",
          "default_fixed_partner_reward_metric": "8.4 $",
          "default_field_dt": "14 неделя 2022 (28.03.2022 - 03.04.2022)"
        }
      ],
      [
        {
          "default_field_pack_caption": "Pack caption example 1",
          "default_fixed_partner_reward_metric": "137.43 €",
          "default_field_dt": "13 неделя 2022 (21.03.2022 - 27.03.2022)"
        }
      ],
      [
        {
          "default_field_pack_caption": "Pack caption example 3",
          "default_fixed_partner_reward_metric": "19 174.79 ₽",
          "default_field_dt": "13 неделя 2022 (21.03.2022 - 27.03.2022)"
        }
      ]
    ],
    "current_page": null,
    "max_page": null,
    "count": 1000,
    "filters": {
      "blocks": [
        {
          "id": "filters",
          "fields": [
            {
              "id": "period",
              "value": "2022.03.01-2022.03.31"
            },
            {
              "id": "detalization",
              "value": "2",
              "choices": [
                {
                  "id": "1",
                  "label": "По дням",
                  "slug": "by_days"
                },
                {
                  "id": "2",
                  "label": "По неделям",
                  "slug": "by_weeks"
                },
                {
                  "id": "3",
                  "label": "По месяцам",
                  "slug": "by_months"
                },
                {
                  "id": "4",
                  "label": "По кварталам",
                  "slug": "by_quarters"
                },
                {
                  "id": "5",
                  "label": "По годам",
                  "slug": "by_years"
                },
                {
                  "id": "6",
                  "label": "Без детализации",
                  "slug": "without_detalization"
                }
              ]
            }
          ]
        },
        {
          "id": "measures",
          "fields": [
            {
              "id": "partner_reward",
              "value": [
                {
                  "id": "default_fixed_partner_reward_metric",
                  "value": true,
                  "label": "Вознаграждение"
                }
              ],
              "label": "Партн. вознаграждение"
            }
          ]
        },
        {
          "id": "conditional_filters",
          "fields": [
            {
              "id": "Packs",
              "value": [
                {
                  "id": "default_constructor_field_pack_caption_container",
                  "value": [
                    {
                      "id": "default_constructor_field_pack_caption_group",
                      "value": true,
                      "label": "Название пакета"
                    }
                  ]
                }
              ],
              "label": "Пакеты"
            },
            {
              "id": "CLIDs and Sets",
              "value": [
                {
                  "id": "default_constructor_field_clid_type_id_container",
                  "value": [
                    {
                      "id": "default_constructor_field_clid_type_id",
                      "value": [
                        "5",
                        "1003",
                        "100003"
                      ],
                      "choices": [
                        {
                          "id": "2023",
                          "label": "Алиса"
                        },
                        {
                          "id": "1003",
                          "label": "Виджет поиска"
                        },
                        {
                          "id": "5",
                          "label": "Домашняя страница"
                        },
                        {
                          "id": "1011",
                          "label": "Доход Discovery"
                        },
                        {
                          "id": "7",
                          "label": "Кнопка Яндекс в Визуальных закладках"
                        },
                        {
                          "id": "11",
                          "label": "Кнопка Яндекс в боковой панели для Opera"
                        },
                        {
                          "id": "21",
                          "label": "Маркет. Советник для сайтов"
                        },
                        {
                          "id": "27",
                          "label": "Партнерские ссылки"
                        },
                        {
                          "id": "12",
                          "label": "Поиск в боковой панели для Opera"
                        },
                        {
                          "id": "9",
                          "label": "Поиск из адресной строки браузера"
                        },
                        {
                          "id": "1002",
                          "label": "Поиск из области уведомлений"
                        },
                        {
                          "id": "100003",
                          "label": "Поиск из поисковой формы на сайте партнера"
                        },
                        {
                          "id": "8",
                          "label": "Поисковая форма в Визуальных закладках"
                        },
                        {
                          "id": "6",
                          "label": "Поисковая форма в браузере"
                        },
                        {
                          "id": "1004",
                          "label": "Поисковая форма в приложении"
                        },
                        {
                          "id": "100016",
                          "label": "Ссылка Яндекс Игры"
                        },
                        {
                          "id": "20",
                          "label": "Ссылка на Маркет"
                        },
                        {
                          "id": "25",
                          "label": "Ссылка на Маркет из Советника"
                        },
                        {
                          "id": "15",
                          "label": "Ссылка на Яндекс из панели закладок \"Избранное\""
                        },
                        {
                          "id": "1",
                          "label": "Уникальная установка"
                        }
                      ]
                    }
                  ]
                }
              ],
              "label": "CLIDs и сборки"
            }
          ]
        },
        {
          "id": "currency_converter",
          "fields": [
            {
              "id": "convert_currency_to_field",
              "value": "-1",
              "choices": [
                {
                  "id": "-1",
                  "label": "В валюте расчетов"
                },
                {
                  "id": "1",
                  "label": "Доллар США"
                },
                {
                  "id": "2",
                  "label": "Российский рубль"
                },
                {
                  "id": "3",
                  "label": "Евро"
                }
              ]
            }
          ]
        }
      ]
    }
  },
  "result": "ok"
}
Ответ на запрос, на который не удалось найти данные

Нехватка данных здесь выражается в пустых totals и rows, а также в ошибке "error": "Не хватает данных, попробуйте выбрать другой период или ослабить фильтры".

{
  "data": {
    "id": "2a0ab5a7daa93fa3b4e7caa768b9467c",
    "label": "Таблица",
    "type": "statistics",
    "columns": [
      {
        "field": "default_field_dt",
        "label": "Дата"
      },
      {
        "field": "default_field_pack_caption",
        "label": "Название пакета"
      },
      {
        "field": "default_field_currency",
        "label": "Валюта выплат"
      },
      {
        "field": "default_fixed_partner_reward_metric",
        "label": "Вознаграждение"
      }
    ],
    "totals": [],
    "rows": [],
    "current_page": null,
    "max_page": null,
    "count": 0,
    "filters": {
      "blocks": [
        {
          "id": "filters",
          "fields": [
            {
              "id": "period",
              "value": "2022.03.01-2022.03.31"
            },
            {
              "id": "detalization",
              "value": "2",
              "choices": [
                {
                  "id": "1",
                  "label": "По дням",
                  "slug": "by_days"
                },
                {
                  "id": "2",
                  "label": "По неделям",
                  "slug": "by_weeks"
                },
                {
                  "id": "3",
                  "label": "По месяцам",
                  "slug": "by_months"
                },
                {
                  "id": "4",
                  "label": "По кварталам",
                  "slug": "by_quarters"
                },
                {
                  "id": "5",
                  "label": "По годам",
                  "slug": "by_years"
                },
                {
                  "id": "6",
                  "label": "Без детализации",
                  "slug": "without_detalization"
                }
              ]
            }
          ]
        },
        {
          "id": "measures",
          "fields": [
            {
              "id": "partner_reward",
              "value": [
                {
                  "id": "default_fixed_partner_reward_metric",
                  "value": true,
                  "label": "Вознаграждение"
                }
              ],
              "label": "Партн. вознаграждение"
            }
          ]
        },
        {
          "id": "conditional_filters",
          "fields": [
            {
              "id": "Packs",
              "value": [
                {
                  "id": "default_constructor_field_pack_caption_container",
                  "value": [
                    {
                      "id": "default_constructor_field_pack_caption_group",
                      "value": true,
                      "label": "Название пакета"
                    }
                  ]
                }
              ],
              "label": "Пакеты"
            },
            {
              "id": "CLIDs and Sets",
              "value": [
                {
                  "id": "default_constructor_field_clid_type_id_container",
                  "value": [
                    {
                      "id": "default_constructor_field_clid_type_id",
                      "value": [
                        "5",
                        "1003",
                        "100003"
                      ],
                      "choices": [
                        {
                          "id": "2023",
                          "label": "Алиса"
                        },
                        {
                          "id": "1003",
                          "label": "Виджет поиска"
                        },
                        {
                          "id": "5",
                          "label": "Домашняя страница"
                        },
                        {
                          "id": "1011",
                          "label": "Доход Discovery"
                        },
                        {
                          "id": "7",
                          "label": "Кнопка Яндекс в Визуальных закладках"
                        },
                        {
                          "id": "11",
                          "label": "Кнопка Яндекс в боковой панели для Opera"
                        },
                        {
                          "id": "21",
                          "label": "Маркет. Советник для сайтов"
                        },
                        {
                          "id": "27",
                          "label": "Партнерские ссылки"
                        },
                        {
                          "id": "12",
                          "label": "Поиск в боковой панели для Opera"
                        },
                        {
                          "id": "9",
                          "label": "Поиск из адресной строки браузера"
                        },
                        {
                          "id": "1002",
                          "label": "Поиск из области уведомлений"
                        },
                        {
                          "id": "100003",
                          "label": "Поиск из поисковой формы на сайте партнера"
                        },
                        {
                          "id": "8",
                          "label": "Поисковая форма в Визуальных закладках"
                        },
                        {
                          "id": "6",
                          "label": "Поисковая форма в браузере"
                        },
                        {
                          "id": "1004",
                          "label": "Поисковая форма в приложении"
                        },
                        {
                          "id": "100016",
                          "label": "Ссылка Яндекс Игры"
                        },
                        {
                          "id": "20",
                          "label": "Ссылка на Маркет"
                        },
                        {
                          "id": "25",
                          "label": "Ссылка на Маркет из Советника"
                        },
                        {
                          "id": "15",
                          "label": "Ссылка на Яндекс из панели закладок \"Избранное\""
                        },
                        {
                          "id": "1",
                          "label": "Уникальная установка"
                        }
                      ]
                    }
                  ]
                }
              ],
              "label": "CLIDs и сборки"
            }
          ]
        },
        {
          "id": "currency_converter",
          "fields": [
            {
              "id": "convert_currency_to_field",
              "value": "-1",
              "choices": [
                {
                  "id": "-1",
                  "label": "В валюте расчетов"
                },
                {
                  "id": "1",
                  "label": "Доллар США"
                },
                {
                  "id": "2",
                  "label": "Российский рубль"
                },
                {
                  "id": "3",
                  "label": "Евро"
                }
              ]
            }
          ]
        }
      ]
    }
  },
  "result": "ok"
}
Предыдущая
Следующая