@q2mber2

Как получить репорт Yandex Direct API?

Беру пример со страницы https://tech.yandex.ru/direct/doc/reports/example-...
Подставляю туда свою токен из песочницы, ID кампании и URL песочницы

curl \
  -H 'Authorization: Bearer AQAAAAAXZmPmAAQQaVHiaEcDHUBitQkG23T2oSk' \
  -d '<?xml version="1.0" encoding="UTF-8"?>
    <ReportDefinition xmlns="http://api.direct.yandex.com/v5/reports">
      <SelectionCriteria>
        <Filter>
          <Field>CampaignId</Field>
          <Operator>EQUALS</Operator>
          <Values> 193407 </Values>
        </Filter>
      </SelectionCriteria>
      <FieldNames>Date</FieldNames>
      <FieldNames>Clicks</FieldNames>
      <FieldNames>Cost</FieldNames>
      <FieldNames>AdNetworkType</FieldNames>
      <OrderBy>
        <Field>Date</Field>
      </OrderBy>
      <ReportName>Campaign #10002, August</ReportName>
      <ReportType>CUSTOM_REPORT</ReportType>
      <DateRangeType>THIS_MONTH</DateRangeType>
      <Format>TSV</Format>
      <IncludeVAT>NO</IncludeVAT>
      <IncludeDiscount>NO</IncludeDiscount>
    </ReportDefinition>' \
  https://api-sandbox.direct.yandex.com/json/v5/reports


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

{"error":{"error_detail":"Not able to process JSON","request_id":"6455035304750394714","error_string":"Invalid request","error_code":"8000"}}


Подскажите пожалуйста
  • Вопрос задан
  • 1622 просмотра
Пригласить эксперта
Ответы на вопрос 2
а в заголовках какой Content-Type передаете?
Ответ написан
Комментировать
@iurewa
Метод который пытаешься вызывать принимает на вход json, а тело запроса у тебя в xml.
https://api-sandbox.direct.yandex.com/json/v5/reports - обрати внимание на /json/

Можно использовать другой метод для работы с xml https://api-sandbox.direct.yandex.com/v5/reports
Или передавать тело запроса в формате json
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы