# Настройка задач Google Shopping Reviews

**API:** Data API

**Endpoint:** `POST /v1/beta/dataforseo/merchant/google/reviews/task_post`

**Tags:** DataForSEO

Ставит в очередь отзывы об одном товаре Google Shopping и возвращает `id` задачи. Определите товар с помощью `product_id` и `gid` или `data_docid` из результата products. Всё это семейство асинхронное: submit возвращает `id` задачи в `tasks[0].id`, а инструмент fetch возвращает результат, когда он готов. Получайте результат через `get_dataforseo_merchant_google_reviews_fetch`.

### Справочная информация о ценах

- Тарификация: заявленная стоимость ответа.
- Справочная оценка запроса: USD 0.012.
- Справочный множитель для клиента: 1.0. Не применяйте его повторно к уже рассчитанной сумме клиента.

Только справочные метаданные, а не котировка для аккаунта, гарантированная цена или лимит расходов. Кредиты ресурсов — не кредиты Felo. Итоговые списания определяются записями биллинга Felo.

## Base URL

- `https://openapi.felo.ai`

## Authentication

- `FeloBearerAuth` (http bearer, bearer format Felo API Key)
- `FeloApiKey` (apiKey in header `X-API-Key`)

## Request body

Required: **yes**

### application/json

Schema:

```json
{
  "type": "array",
  "items": {
    "type": "object",
    "properties": {
      "gid": {
        "type": "string",
        "description": "глобальный идентификатор продукта в Google Shopping, обязательное поле. Для оптимальных результатов рекомендуем указывать gid вместе с data_docid и product_id. Это значение для определённого продукта можно получить, отправив отдельный запрос к эндпоинту Google Shopping Products. пример: 4702526954592161872. Подробнее о параметре — в этом руководстве справочного центра"
      },
      "product_id": {
        "type": "string",
        "description": "уникальный идентификатор продукта в Google Shopping необязательное поле для оптимальных результатов рекомендуем указывать product_id вместе с data_docid и gid; значение для конкретного продукта можно получить, отправив отдельный запрос к эндпоинту Google Shopping Products пример: 4485466949985702538 подробнее о параметре — в этом руководстве Help Center"
      },
      "data_docid": {
        "type": "string",
        "description": "уникальный идентификатор элемента данных SERP, необязательное поле. Для оптимальных результатов рекомендуем указывать data_docid вместе с product_id и gid. Это значение для определённого элемента можно получить, отправив отдельный запрос к эндпоинту Google Shopping Products. пример: 13071766526042404278"
      },
      "priority": {
        "type": "integer",
        "description": "приоритет задачи необязательное поле может принимать следующие значения: 1 – обычный приоритет выполнения (устанавливается по умолчанию) 2 – высокий приоритет выполнения За задачи с высоким приоритетом выполнения взимается дополнительная плата. стоимость можно рассчитать на странице Pricing."
      },
      "location_name": {
        "type": "string",
        "description": "полное название местоположения поисковой системы, обязательное поле, если не указан location_code или location_coordinate. Если используете это поле, location_code или location_coordinate указывать не нужно. Список доступных местоположений и соответствующих параметров location_name можно получить отдельным запросом к https://api.dataforseo.com/v3/merchant/google/locations. пример: HA1,England,United Kingdom"
      },
      "location_code": {
        "type": "integer",
        "description": "код местоположения поисковой системы, обязательное поле, если не указан location_name или location_coordinate. Если используете это поле, location_name или location_coordinate указывать не нужно. Список доступных местоположений и соответствующих параметров location_code можно получить отдельным запросом к https://api.dataforseo.com/v3/merchant/google/locations. пример: 9045969"
      },
      "location_coordinate": {
        "type": "string",
        "description": "GPS-координаты местоположения, обязательное поле, если не указан location_name или location_code. Если используете это поле, location_name или location_code указывать не нужно. Параметр location_coordinate указывается в формате «latitude,longitude,radius». Максимальное число десятичных знаков для «latitude» и «longitude»: 7. Минимальное значение для «radius»: 199.9. пример: 53.476225,-2.243572,200"
      },
      "language_name": {
        "type": "string",
        "description": "полное название языка поисковой системы, обязательное поле, если не указан language_code. Если используете это поле, language_code указывать не нужно. Список доступных языков и соответствующих параметров language_name можно получить отдельным запросом к https://api.dataforseo.com/v3/merchant/google/languages. пример: English (United Kingdom)"
      },
      "language_code": {
        "type": "string",
        "description": "код языка поисковой системы, обязательное поле, если не указан language_name. Если используете это поле, language_name указывать не нужно. Список доступных языков и соответствующих параметров language_code можно получить отдельным запросом к https://api.dataforseo.com/v3/merchant/google/languages. пример: en_GB"
      },
      "se_domain": {
        "type": "string",
        "description": "домен поисковой системы необязательное поле подходящий домен поисковой системы выбирается автоматически с учётом указанных вами местоположения и языка однако в этом поле можно задать собственный домен поисковой системы пример: google.co.uk, google.com.au, google.de и т. д."
      },
      "depth": {
        "type": "integer",
        "description": "глубина парсинга, необязательное поле. Количество отзывов в SERP. Мы настоятельно рекомендуем задавать глубину парсинга кратную десяти, так как наша система обрабатывает по десять отзывов подряд. Максимальное значение: 8000. Значение по умолчанию: 10. С каждого SERP, содержащего до 10 результатов, с вашего аккаунта взимается плата. Установка глубины выше 10 может привести к дополнительным расходам, если поисковая система вернёт больше 10 результатов. Стоимость можно рассчитать на странице тарифов."
      },
      "tag": {
        "type": "string",
        "description": "пользовательский идентификатор задачи. Необязательное поле. Ограничение — 255 символов. Этот параметр позволяет идентифицировать задачу и сопоставить её с результатом. Указанное значение tag вы найдёте в объекте data ответа."
      },
      "postback_url": {
        "type": "string",
        "description": "URL для отправки результатов задачи необязательное поле по завершении задачи мы отправим POST-запрос с результатами, сжатыми в формате gzip, на указанный вами postback_url строку ‘$id’ можно использовать как переменную $id, а ‘$tag’ — как urlencoded-переменную $tag. Перед отправкой запроса мы подставим нужные значения. пример: http://your-server.com/postbackscript?id=$id http://your-server.com/postbackscript?id=$id&tag=$tag Примечание: специальные символы в postback_url будут urlencoded; в частности, символ # будет закодирован как %23 подробнее в нашем Help Center"
      },
      "postback_data": {
        "type": "string",
        "description": "тип данных postback_url необязательное поле соответствует типу данных, который будет отправлен на ваш сервер возможные значения: advanced"
      },
      "pingback_url": {
        "type": "string",
        "description": "URL уведомления о завершённой задаче необязательное поле по завершении задачи мы отправим GET-запрос на указанный вами URL строку ‘$id’ можно использовать как переменную $id, а ‘$tag’ — как urlencoded-переменную $tag. Перед отправкой запроса мы подставим нужные значения. пример: http://your-server.com/pingscript?id=$id http://your-server.com/pingscript?id=$id&tag=$tag Примечание: специальные символы в pingback_url будут urlencoded; в частности, символ # будет закодирован как %23 подробнее в нашем Help Center"
      }
    },
    "required": [
      "gid"
    ],
    "allOf": [
      {
        "anyOf": [
          {
            "required": [
              "location_name"
            ]
          },
          {
            "required": [
              "location_code"
            ]
          },
          {
            "required": [
              "location_coordinate"
            ]
          }
        ]
      },
      {
        "anyOf": [
          {
            "required": [
              "language_name"
            ]
          },
          {
            "required": [
              "language_code"
            ]
          }
        ]
      }
    ]
  }
}
```

## Responses

### 200 — Успешный ответ

Headers:
- `X-Request-Id` (string) — Идентификатор запроса, который нужно указать при обращении в поддержку Felo.

**application/json**

Schema: object

```json
{
  "type": "object",
  "properties": {
    "version": {
      "type": "string",
      "description": "текущая версия API"
    },
    "status_code": {
      "type": "integer",
      "description": "общий код состояния. Полный список кодов ответа можно найти здесь. Примечание: мы настоятельно рекомендуем предусмотреть систему обработки связанных исключительных ситуаций и ошибок."
    },
    "status_message": {
      "type": "string",
      "description": "общее информационное сообщение. Полный список общих информационных сообщений можно найти здесь."
    },
    "time": {
      "type": "string",
      "description": "время выполнения, секунды"
    },
    "cost": {
      "type": "number",
      "description": "общая стоимость задач, USD"
    },
    "tasks_count": {
      "type": "integer",
      "description": "количество задач в массиве tasks"
    },
    "tasks_error": {
      "type": "integer",
      "description": "число задач в массиве tasks, возвращённых с ошибкой"
    },
    "tasks": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "массив задач"
    },
    "tasks.id": {
      "type": "string",
      "description": "уникальный идентификатор задачи в нашей системе в формате универсального уникального идентификатора (UUID)"
    },
    "tasks.status_code": {
      "type": "integer",
      "description": "код состояния задачи, сгенерированный DataForSEO; может находиться в следующем диапазоне: 10000-60000"
    },
    "tasks.status_message": {
      "type": "string",
      "description": "информационное сообщение задачи"
    },
    "tasks.time": {
      "type": "string",
      "description": "время выполнения, секунды"
    },
    "tasks.cost": {
      "type": "number",
      "description": "стоимость задачи, USD"
    },
    "tasks.result_count": {
      "type": "integer",
      "description": "число элементов в массиве result"
    },
    "tasks.path": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "путь URL"
    },
    "tasks.data": {
      "type": "object",
      "description": "содержит те же параметры, что вы указали в POST-запросе"
    },
    "tasks.result": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "массив результатов. В этом случае значение будет null"
    }
  }
}
```

### 400 — Запрос не удалось обработать. Проверьте параметры запроса.

### 401 — Требуется действительный API-ключ Felo.

### 402 — Запрос не может быть выполнен: не выполнено требование биллинга.

### 403 — Аккаунту не разрешено выполнять эту операцию.

### 429 — Достигнут лимит запросов или расходов.

### 502 — Сервис не смог выполнить запрос.

### 503 — API или сервис биллинга временно недоступны.

### 504 — Истекло время ожидания обработки запроса.

### default — Ответ с ошибкой; сквозные ответы upstream могут использовать форматы провайдера

**application/json**

Schema:

```json
{}
```
