---
metadata:
  - name: generator
    content: Diplodoc Platform v5.52.0
alternate:
  - https://yandex.ru/dev/direct/doc/en/concepts/json.md
  - https://yandex.ru/dev/direct/doc/ru/concepts/json.md
  - href: ru/concepts/json.md
    type: text/markdown
    title: Markdown version
  - href: ../llms.txt
    type: text/markdown
    title: llms.txt
sourcePath: ru/dg/concepts/json.md
---
> **Documentation Index:** Fetch the complete configuration index at https://yandex.ru/dev/direct/doc/ru/llms.txt

# Формат JSON

Во многих языках программирования существуют модули и библиотеки для работы с JSON. Ниже перечислены рекомендуемые модули и библиотеки для популярных языков.

- **Perl**: модуль [JSON](http://search.cpan.org/~makamaka/JSON-2.90/lib/JSON.pm);
- **PHP**: встроенная поддержка JSON начиная с версии 5.2.0;
- **Python**: модуль [json](https://docs.python.org/library/json.html).

## JSON-запросы {#json-request}

Адрес для запросов указан в документации каждого сервиса.

Запрос всегда содержит ключ `method` с именем вызываемого метода и в большинстве случаев ключ `params` (см. пример ниже). Некоторые методы не имеют входных параметров, и для них ключ `params` не требуется.

## Пример запроса

Вызов метода `Ads.add` для добавления объявлений рекламодателю `agrom`, выполняемый от имени рекламного агентства.

```javascript translate=no
POST /json/v5/ads/ HTTP/1.1
Host: api.direct.yandex.com
Authorization: Bearer 0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f
Accept-Language: ru
Client-Login: agrom
Content-Type: application/json; charset=utf-8

{
"method": "add",
"params": {
    "Ads": [{
    "AdGroupId": 1234567,
    "TextAd": {
        "Text": "Слоны всех пород. Сертифицированный питомник",
        "Title": "Купи слона!",
        "Href": "http://exotic-farm.com/elefants",
        "Mobile": "NO"
    }
    },
    {
    "AdGroupId": 1234567,
    "TextAd": {
        "Text": "Носороги с доставкой. Весенняя распродажа",
        "Title": "Купи носорога!",
        "Mobile": "NO"
    }
    }]
}
}
```

## Пример ответа

```javascript translate=no
HTTP/1.1 200 OK
Connection:close
Content-Type:application/json; charset=utf-8
Date:Fri, 28 Nov 2014 17:07:02 GMT
RequestId:1010101010101010101
Units:10/20828/64000
Units-Used-Login:agrom
Server:nginx
Transfer-Encoding:chunked

{
"result": {
    "AddResults": [{
    "Id": 7654321
    }, /* Объявление успешно создано, возвращен его идентификатор */
    {
    "Errors": [{
        "Code": 6000,
        "Message": "Неконсистентное состояние объекта",
        "Details": "В объявлении должна быть указана или визитка или основная ссылка"
    }] /* Ошибка создания объявления */
    }]
}
}
```

## Пример ошибки

Если выполнение запроса невозможно, возвращается сообщение об ошибке.

```javascript translate=no
HTTP/1.1 200 OK
Connection:close
Content-Type:application/json; charset=utf-8
Date:Fri, 28 Nov 2014 17:07:02 GMT
RequestId:1010101010101010101
Units:10/20828/64000
Units-Used-Login:agrom
Server:nginx
Transfer-Encoding:chunked

{
"error" : {
    "request_id": "1010101010101010101",
    "error_code": 8000,
    "error_string": "Некорректный запрос",
    "error_detail": "В TextAd отсутствует обязательное поле Text"
}
}
```

Подробнее об ошибках см. в разделе Errors.

## Узнайте больше

- [Описание формата JSON](http://www.json.org/json-ru.html)
