Вопрос-ответ
Коротко о новом законе
Подключение к ОРД-А и работа в ЛК
Площадки
Контрагенты
Договоры
Креативы
Гайд по размещению (идентификатора) токена
Документация API
Статистика
Акты, разаллокация акта по ИД
Импорт/Экспорт Excel в ЛК
3.5 Креативы (Creatives)
3.5.1  Получение списка креативов:  GET / сreatives
https://api.ord-a.ru/api/v2/creatives
Данный метод используется для получения списка креативов.
Параметры запроса:
Параметр Тип Обязательность Описание
page число нет Номер страницы
limit число нет Количество записей на странице
sort строка нет Используется при get запросе. Сортировка по столбцу. Допустимые значения: id, -id, name, -name, type, -type, campaign, campaign
Код ответа Описание
200 ОК Положительный статус запроса
401 Unauthorized Доступ запрещен, невалидный токен
Пример запроса:
curl -X 'GET' \
  'https://api.ord-a.ru/api/v2/creatives' \
  -H 'accept: application/json' \
  -H 'Authorization: Bearer  TOKEN' \
  -H 'X-CSRF-TOKEN: '
Успешный ответ:
"data": [
    {
      "id": 5282,
      "is_partner": false,
      "membership_id": 1,
      "erid": "uNqDUC",
      "name": null,
           "contracts": [
               {
                   "id": 32206,
                   "number": "1 от 27.02 Измененный"
               }
           ],
      "co_branding": false,
            "self_promotion_organization_id": null,
      "description": "Креатив изменен с целью демонстрации работы api",
      "campaign": "cpa",
      "campaign_name": "Тестовый креатив",
      "type": "other",
      "url": [
        "http://test.ru"
      ],
      "is_social": true,
      "is_native": false,
      "statistics_exists": false,
      "external_id": "2134",
      "created_at": "2024-02-28T11:27:13+03:00",
      "published_at": null,
      "deleted_at": null,
            "kktu": null
    },
    {
      "id": 5281,
      "is_partner": false,
      "membership_id": 1,
      "erid": "uNqDPn",
      "name": null,
           "contracts": [
               {
                   "id": 31739,
                   "number": "1"
               }
           ],
            "co_branding": false,
      "self_promotion_organization_id": null,
      "description": "описание объекта",
      "campaign": "other",
      "campaign_name": "название",
      "type": "video",
      "url": null,
      "is_social": true,
      "is_native": true,
      "statistics_exists": false,
      "external_id": null,
      "created_at": "2024-02-22T14:44:47+03:00",
      "published_at": "2024-02-18",
      "deleted_at": null,
            "kktu": null
    } ],
 "links": {
  "first": "https://api.ord-a.ru/api/v2/creatives?page=1",
  "last": "https://api.ord-a.ru/api/v2/creatives?page=2",
  "prev": null,
  "next": "https://api.ord-a.ru/api/v2/creatives?page=2"
 },
 "meta": {
  "current_page": 1,
  "from": 1,
  "last_page": 1,
  "links": [
   {
    "url": null,
    "label": "« Вперед",
    "active": false
   },
   {
    "url": "https://api.ord-a.ru/api/v2/creatives?page=1",
    "label": "1",
    "active": true
   }
  ],
  "path": " https://api.ord-a.ru/api/v2/creatives",
  "per_page": 2,
  "to": 2,
  "total": 2
 }
}
3.5.2  Получение определенного креатива:  GET / сreatives/{id}
https://api.ord-a.ru/api/v2/creatives/{id}
Данный метод используется для получения определенного креатива.
Параметры запроса:
Параметр Тип Обязательность Описание
id число да идентификатор креатива
Код ответа Описание
200 ОК Статус успешного запроса
401 Unauthorized Доступ запрещен
404 Not found Идентификатор креатива не найден
Пример запроса:
curl -X 'GET' \
'https://api.ord-a.ru/api/v2/creatives/281' \
-H 'accept: application/json' \
-H 'Authorization: Bearer TOKEN' \
-H 'X-CSRF-TOKEN: '
Успешный ответ:
{
   "data": {
       "id": 281,
       "is_partner": false,
       "membership_id": 1,
       "erir_entity": {
           "id": 1909,
           "status": "Зарегистрирован",
           "status_label": "registered",
           "last_item": {
               "id": 4247,
               "status": "Зарегистрирован",
               "status_label": "registered",
               "errors": [],
               "message": null,
               "created_at": "2024-06-19T10:09:46+03:00",
               "pending_at": "2024-06-19T10:24:46+03:00",
               "status_changed_at": "2024-07-02T15:21:06+03:00"
           },
           "registered_at": "2024-07-02 15:21:06",
           "created_at": "2024-06-19T10:09:44+03:00"
       },
       "dependent_relationships": [
           {
               "name": "statistics",
               "id": 213
           }
       ],
       "erid": "uNqCmo",
       "contracts": [
           {
               "id": 312,
               "number": "2 от 19.06"
           }
       ],
       "co_branding": false,
       "self_promotion_organization_id": null,
       "self_promotion_organization": null,
       "description": "Тест",
       "campaign": "other",
       "campaign_name": null,
       "type": "other",
       "url": null,
       "is_social": false,
       "is_native": false,
       "statistics_exists": true,
       "external_id": null,
       "created_at": "2024-06-19T10:09:44+03:00",
       "published_at": "2024-06-19",
       "deleted_at": null,
       "kktu": null
   }
}

3.5.3 Создание креатива:  POST / creatives
https://api.ord-a.ru/api/v2/creatives
Данный метод используется для добавления креатива.
Код ответа Описание
201 Created Креатив создан
401 Unauthorized Доступ запрещен, невалидный токен
422 Unprocessable Content Некорректный запрос
Пример запроса:
curl -X 'POST' \
 'https://api.ord-a.ru/api/v2/creatives' \
 -H 'accept: application/json' \
 -H 'Authorization: Bearer TOKEN' \
 -H 'Content-Type: application/json' \
 -H 'X-CSRF-TOKEN: ' \
 -d '{
 "contract_id": 33267,
 "description": "Креатив создан с целью демонстрации работы api",
 "campaign": "cpa",
 "campaign_name": "Тестовый креатив",
 "type": "other",
 "url": [
  "http://test.ru"
 ],
 "is_social": true,
  "kkty": ["1.1.1"],
 "external_id": "234"
}'
Успешный ответ:
{
  "data": {
    "id": 204041,
    "is_partner": false,
    "membership_id": 1,
    "erid": "4zBMfq1V",
    "contracts": [
      {
        "id": 33267,
        "number": "1 от 26.06"
      }
    ],
    "co_branding": false,
    "self_promotion_organization_id": null,
    "self_promotion_organization": null,
    "description": "Креатив создан с целью демонстрации работы api",
    "campaign": "cpa",
    "campaign_name": "Тестовый креатив",
    "type": "other",
    "url": [
      "http://test.ru"
    ],
    "is_social": true,
    "is_native": false,
    "statistics_exists": null,
    "external_id": "234",
    "created_at": "2024-05-22T11:54:10+03:00",
    "published_at": null,
    "deleted_at": null,
       "kktu": [
           "1.1.1"
       ]
    }
}
3.5.4  Обновление креатива:  PUT / сreatives/{id}
https://api.ord-a.ru/api/v2/creatives/{id}
Данный метод используется для обновления определенного креатива по его id.
Параметры запроса:
Параметр Тип Обязательность Описание
id число да идентификатор креатива
Код ответа Описание
200 ОК Запрос выполнен
401 Unauthorized Доступ запрещен, невалидный токен
404 Not found Идентификатор креатива не найден
422 Unprocessable Content Некорректный запрос
Пример запроса:
curl -X 'PUT' \
 'https://api.ord-a.ru/api/v2/creatives/454' \
 -H 'accept: application/json' \
 -H 'Authorization: Bearer TOKEN' \
 -H 'Content-Type: application/json' \
 -H 'X-CSRF-TOKEN: ' \
 -d '{
 "type": "other",
   "contract_id": 431,
   "campaign": "other",
   "description": "объект",
   "is_native": false,
   "self_promotion_organization_id": null,
}'
Успешный ответ:
{
   "data": {
       "id": 454,
       "is_partner": false,
       "membership_id": 1,
       "erid": "uNqGCS",
       "contracts": [
           {
               "id": 431,
               "number": null
           }
       ],
       "co_branding": false,
       "self_promotion_organization_id": null,
       "self_promotion_organization": null,
       "description": "объект",
       "campaign": "other",
       "campaign_name": null,
       "type": "other",
       "url": null,
       "is_social": false,
       "is_native": false,
       "statistics_exists": null,
       "external_id": null,
       "created_at": "2024-07-15T09:44:42+03:00",
       "published_at": null,
       "deleted_at": null,
       "kktu": null
   }
}

3.5.5  Удаление креатива:  DELETE /сreatives/{id}
https://api.ord-a.ru/api/v2/creatives/{id}
Данный метод используется для удаления определенного креатива по его id.
Параметры запроса:
Параметр Тип Обязательность Описание
id число да идентификатор креатива
Код ответа Описание
204 No Content Статус успешного запроса
401 Unauthorized Доступ запрещен, невалидный токен
400 Bad Request У объекта есть зависящие сущности, мешающие удалению
404 Not found Идентификатор креатива не найден
Пример запроса:
curl -X 'DELETE' \
'https://api.ord-a.ru/api/v2/creatives/410' \
-H 'accept: application/json' \
-H 'Authorization: Bearer TOKEN' \
-H 'X-CSRF-TOKEN: '
3.5.6  Восстановление креатива:  GET / сreatives/{id}/restore
https://api.ord-a.ru/api/v2/creatives/{id}/restore
Данный метод используется для восстановления определенного креатива по его id.
Параметры запроса:
Параметр Тип Обязательность Описание
id число да идентификатор креатива
Код ответа Описание
200 ОК Статус успешного запроса
401 Unauthorized Доступ запрещен, невалидный токен
404 Not found Идентификатор креатива не найден
Пример запроса:
curl -X 'GET' \
'https://api.ord-a.ru/api/v2/creatives/410/restore' \
-H 'accept: application/json' \
-H 'Authorization: Bearer TOKEN' \
-H 'X-CSRF-TOKEN: '
Успешный ответ:
{
   "data": {
       "id": 410,
       "is_partner": false,
       "membership_id": 1,
       "erid": "uNqCrE",
       "co_branding": false,
       "self_promotion_organization_id": 731,
       "description": "Mollitia est ut saepe sed nisi sequi quis unde a.",
       "campaign": "other",
       "campaign_name": "самореклама и нативная",
       "type": "other",
       "url": null,
       "is_social": false,
       "is_native": true,
       "statistics_exists": null,
       "external_id": null,
       "created_at": "2024-06-20T15:08:52+03:00",
       "published_at": null,
       "deleted_at": null,
       "kktu": null
   }
}

3.5.7  Массовое добавление, обновление креативов:  POST  /creatives/upsert
https://api.ord-a.ru/api/v2/creatives/upsert
Данный метод используется для массового добавления/обновления креативов.
Код ответа Описание
200 ОК Запрос выполнен
401 Unauthorized Доступ запрещен, невалидный токен
422 Unprocessable Content Некорректный запрос
Пример запроса на создание креативов:
curl -X 'POST' \
  'https://api.ord-a.ru/api/v2/creatives/upsert' \
  -H 'accept: application/json' \
  -H 'Authorization: Bearer TOKEN' \
  -H 'Content-Type: application/json' \
  -H 'X-CSRF-TOKEN: ' \
  -d '{
  "creatives": [
    {
      "contract_id": 32834,
      "description": "Креатив 1 с целью демонстрации работы api",
      "campaign": "cpm",
      "campaign_name": "Тестовый креатив 1",
      "type": "other",
      "url": [
        "http://test.ru"
      ],
      "is_social": true,
      "external_id": "3"
    },
    {
      "contract_id": 32820,
      "description": "Креатив 2 с целью демонстрации работы api",
      "campaign": "cpa",
      "campaign_name": "Тестовый креатив 2",
      "type": "other",
      "url": [
        "http://test.ru"
      ],
      "is_social": false,
      "external_id": "1"
    }
  ]
}'
Успешный ответ:
 {
    "data": [
        {
            "id": 203373,
            "external_id": "3"
        },
        {
            "id": 203374,
            "external_id": "1"
        }
    ],
    "message": "OK"
}
3.5.8 Список ККТУ: GET /kktu
https://api.ord-a.ru/api/v2/kktu
Данный метод используется для вывода списка значений из справочника ККТУ.
Код ответа Описание
200 ОК Запрос выполнен
401 Unauthorized Доступ запрещен, невалидный токен
Пример запроса на создание креативов:
curl -X 'GET' \
 'https://api.ord-a.ru/api/v2/kktu' \
 -H 'accept: application/json' \
 -H 'Authorization: Bearer TOKEN' \
 -H 'X-CSRF-TOKEN: '
Успешный ответ:
{
   "data": [
       {
           "id": 3,
           "kktu": "1.1.1",
           "title": "ВИНО",
           "level": 3,
           "sub_category": "АЛКОГОЛЬНЫЕ НАПИТКИ",
           "category": "АЛКОГОЛЬНЫЕ НАПИТКИ, ТАБАЧНЫЕ ИЗДЕЛИЯ"
       },
       {
           "id": 4,
           "kktu": "1.1.2",
           "title": "КРЕПКИЕ АЛКОГОЛЬНЫЕ НАПИТКИ",
           "level": 3,
           "sub_category": "АЛКОГОЛЬНЫЕ НАПИТКИ",
           "category": "АЛКОГОЛЬНЫЕ НАПИТКИ, ТАБАЧНЫЕ ИЗДЕЛИЯ"
       },
       {
           "id": 5,
           "kktu": "1.1.3",
           "title": "АЛКОГОЛЬНЫЕ НАПИТКИ (РАЗНОЕ)",
           "level": 3,
           "sub_category": "АЛКОГОЛЬНЫЕ НАПИТКИ",
           "category": "АЛКОГОЛЬНЫЕ НАПИТКИ, ТАБАЧНЫЕ ИЗДЕЛИЯ"
       },

3.5.9 Атрибуты объекта креативы (creatives):
Параметр Тип Обязательность Описание
contract_id число, массив Условно обязательно Идентификатор договора (отсылка к ранее зарегистрированному договору/доп.соглашению), в случае саморекламы передается NULL

Для "co_branding": true передается массив id договоров. В массиве должно быть указано как минимум два договора.

self_promotion _organization_id число Условно обязательно Обязательно в случае, если креатив является саморекламой. Указывается id организации - владельца
co_branding булево нет Признак совместных кампаний (кобрендинг). Данный параметр является необязательным. Если не передавать, по умолчанию проставляется как false
description строка (1000) да Общее описание объекта рекламирования
campaign строка (255) да Тип рекламной компании.
Возможные значения:
other - Иное;
cpm - CPM;
cpc - CPC;
cpa - CPA.
campaign _name строка (255) нет Название рекламной кампании
published_at дата (date) да Дата добавления
type строка (255) да

Тип распространения рекламы.

Возможные значения:
  • text-block - Текстовый блок;
  • text-video-block - Текстовый блок с видео;
  • text-audio-block - Текстовый блок с аудио;
  • text-audio-video-block - Текстовый блок с аудио и видео;
  • text-graphic-block - Текстово-графический блок;
  • text-graphic-video-block - Текстово-графический блок с видео;
  • text-graphic-audio-block - Текстово-графический блок с аудио;
  • text-graphic-audio-video-block - Текстово-графический блок с аудио и видео;
  • banner - Баннер;
  • banner-html5 - HTML5-баннер;
  • video - Видеоролик;
  • audio-rec - Аудиозапись;
  • live-video - Видеотрансляция в прямом эфире;
  • live-audio - Аудиотрансляция в прямом эфире.
url массив строк (2000) нет

Целевая ссылка (URL)
Паттерн \w+://.+

Если у креатива отсутствует целевая ссылка, то передавать данный массив не нужно!
is_social булево нет Признак социальной рекламы
is_native булево да Признак нативной рекламы
kktu массив строк нет Массив кодов справочника ККТУ (классификатора категорий товаров и услуг)

Если «co_branding»=false или не передано (null), то должен быть передан один элемент в массиве. Если «co_branding»=true, может быть 1 и более элементов в массиве.

Значения в массиве должны передаваться в соответствии со значений в справочнике ККТУ.

external_id строка (255) да Учетный идентификатор в базе пользователя
limit число нет Используется при get запросе. Количество записей при пагинации на странице.
page число нет Используется при get запросе. Номер страницы при пагинации на странице
sort строка нет Используется при get запросе. Сортировка по столбцу. Допустимые значения: id, -id, name, -name, type, -type, campaign, campaign
dependent_relationships массив не заполняется Связанные (дочерние) объекты. Пример:
"dependent_relationships": [
{"name": "statistics",
"id": 15}
]
include Строка нет

Параметр для получения статусов сущностей для GET запроса, значение – lastEntity пример использования

(https://api.ord-a.ru/api/v2/creatives?include=erirEntity)
В json ответе от сервера появятся данные:
...
"erir_entity": {
"id": 10454,
"status": "Регистрация",
"status_label": "registration",
"last_item": {
"id": 15148,
"status": "Регистрация",
"status_label": "registration",
"errors": [],
"message": null,
"created_at": "2024-07-18T11:55:20+03:00",
"pending_at": "2024-07-18T12:00:20+03:00",
"status_changed_at": "2024-07-18T12:00:23+03:00"
},
"registered_at": null,
"created_at": "2024-07-18T11:55:19+03:00"
}
...
filter[option] строка нет

Параметр для поиска записей сущностей для GET запроса, допустимые значения - id, idNumber, name, erid, type, contract-type, campaign, contract, contract_id, created_at, campaign_name, url.

Для фильтра type доступные значения - audio-rec, banner, live-audio, live-video, text-block, text-graphic-block, video, other.

Для фильтра contract-type доступные значения - contract, intermediary-contract, additional-agreement, self-promotion.

Для фильтра campaign доступные значения - cpa, cpc, cpm, other.
Пример запроса - https://api.ord-a.ru/api/v2/creatives /? filter[id]=4

3.6 Сведения о текстовых данных и медиафайлах (CreativeItems)
3.6.1 Получение списка загруженных медиафайлов и текстовых данных в креативе: GET /creatives/{creative_id}/items
https://api.ord-a.ru/api/v2/creatives/{creative_id}/items
Данный метод используется для получения списка загруженных медиафайлов в модель.
Параметры запроса:
Параметр Тип Обязательность Описание
creative_id число да идентификатор креатива
Код ответа Описание
200 ОК Статус успешного запроса
401 Unauthorized Доступ запрещен, невалидный токен
403 Forbidden Ошибка
Пример запроса:
curl -X 'GET' \
  'https://api.ord-a.ru/api/v2/creatives/5291/items' \
  -H 'accept: application/json' \
  -H 'Authorization: Bearer TOKEN' \
  -H 'X-CSRF-TOKEN: '
Пример ответа:
{
"data": [
{
"id": 179,
"external_id": null,
"media": {
"id": 817,
"name": "Запись экрана 2024-09-27 в 14.58.01.mov",
"mime_type": "video/quicktime",
"type": "video",
"collection_name": "default",
"url": "https://api.ord-a.ru/storage/media/03-10-2024/b02399d6-2c8c-4652-bd5c-90d5c3d6049d/Запись-экрана-в-14.58.01.mov",
"disk": "media",
"created_at": "2024-10-03T09:23:48.000000Z"
},
"text_data": null,
"description": null,
"created_at": "2024-10-03T12:23:48+03:00"
},
{
"id": 180,
"external_id": null,
"media": {
"id": 819,
"name": "Снимок экрана 2024-10-02 в 17.10.18.png",
"mime_type": "image/png",
"type": "image",
"collection_name": "default",
"url": "https://api.ord-a.ru/storage/media/03-10-2024/fe0f5aa8-9363-4bf7-b99a-fd543daa90f4/Снимок-экрана-в-17.10.18.png",
"disk": "media",
"created_at": "2024-10-03T09:25:10.000000Z"
},
"text_data": null,
"description": "описание изображения креатива",
"created_at": "2024-10-03T12:25:10+03:00"
},
{
"id": 181,
"external_id": null,
"media": {
"id": 820,
"name": "Снимок экрана 2024-10-02 в 17.10.18.png",
"mime_type": "image/png",
"type": "image",
"collection_name": "default",
"url": "https://api.ord-a.ru/storage/media/03-10-2024/fc8fabe7-81e8-4a43-b660-73a99ece99b0/Снимок-экрана-в-17.10.18.png",
"disk": "media",
"created_at": "2024-10-03T09:32:22.000000Z"
},
"text_data": null,
"description": null,
"created_at": "2024-10-03T12:32:22+03:00"
}
],
"links": {
"first": "https://api-dev.ord-a.ru/api/v2/creatives/763/items?page=1",
"last": "https://api-dev.ord-a.ru/api/v2/creatives/763/items?page=1",
"prev": null,
"next": null
},
"meta": {
"current_page": 1,
"from": 1,
"last_page": 1,
"links": [
{
"url": null,
"label": "« Вперед",
"active": false
},
{
"url": "https://api-dev.ord-a.ru/api/v2/creatives/763/items?page=1",
"label": "1",
"active": true
},
{
"url": null,
"label": "Назад »",
"active": false
}
],
"path": "https://api-dev.ord-a.ru/api/v2/creatives/763/items",
"per_page": 15,
"to": 3,
"total": 3
}
}
3.6.2 Получение определенного медиафайла или текстового блока: GET /creatives/{creative_id}/items/{id}
https://api.ord-a.ru/api/v2/creatives/{creative_id}/items/{id}
Данный метод используется для получения определенного медиафайла или текстового блока.
Параметры запроса:
Параметр Тип Обязательность Описание
creative_id число да идентификатор креатива
id число да идентификатор пункта креатива
Код ответа Описание
200 ОК Статус успешного запроса
401 Unauthorized Доступ запрещен, невалидный токен
403 Forbidden Ошибка
Пример запроса:
curl -X 'GET' \
  'https://api.ord-a.ru/api/v2/creatives/5291/items/707' \
  -H 'accept: application/json' \
  -H 'Authorization: Bearer TOKEN' \
  -H 'X-CSRF-TOKEN: '
Пример ответа:
{
  "data": {
    "id": 707,
    "external_id": null,
    "media": {
      "id": 6031,
      "name": "jpeg-home.jpg",
      "mime_type": "image/jpeg",
          "type": "image",
      "collection_name": "default",
      "url": "https://api.ord-a.ruu/storage/media/04-03-2024/cf4df75b-b0d2-419d-8a27-448a9a7071e8/jpeg-home.jpg",
      "disk": "media",
      "created_at": "2024-03-04T18:53:00.000000Z"
    },
    "text_data": null,
        "description": "описание изображения креатива",
        "created_at": "2024-03-04T21:33:03+03:00"
  }
}
3.6.3 Добавление медиафайла или текстовых данных в модель: POST /creatives/{creative_id}/items
В теле запроса должно быть передано либо "media", либо "text_data" . В случае указания обоих параметров упадет ошибка "Значение поля text data запрещает присутствие media".

https://api.ord-a.ru/api/v2/creatives/{creative_id}/items
Данный метод используется для добавления медиафайла или текстовых данных в модель.
Параметры запроса:
Параметр Тип Обязательность Описание
creative_id число да идентификатор креатива
Код ответа Описание
201 Created Запрос выполнен
401 Unauthorized Доступ запрещен, невалидный токен
422 Unprocessable Content Ошибка во входных данных
Пример запроса при добавлении медиафайла по ссылке:
curl -X 'POST' \
 'https://api.ord-a.ru/api/v2/creatives/5291/items' \
 -H 'accept: application/json' \
 -H 'Authorization: Bearer TOKEN' \
 -H 'Content-Type: application/json' \
 -H 'X-CSRF-TOKEN: ' \
 -d '{
 "media": "https://www.aokmo.ru/upload/iblock/89c/road_sign_361513_960_720.jpg",
"description": "Описание изображения креатива",
 "text_data": null,
 "external_id": null
}'
Пример ответа:
{
  "data": {
    "id": 707,
    "external_id": null,
    "media": {
      "id": 6030,
      "name": "road_sign_361513_960_720.jpg",
      "mime_type": "image/jpeg",
            "type": "image",
      "collection_name": "default",
      "url": "https://api.ord-a.ru/storage/media/04-03-2024/2d58f4bd-d497-4b55-bec6-b9868743a69e/road_sign_361513_960_720.jpg",
      "disk": "media",
      "created_at": "2024-03-04T18:33:04.000000Z"
    },
    "text_data": null,
        "description": "Описание изображения креатива",
    "created_at": "2024-03-04T21:33:03+03:00"
  }
}
Пример запроса при добавлении медиа файла с типом данных multipart/form-data:
curl --location 'https://api.ord-a.ru/api/v2/creatives/5291/items' \
--header 'Accept: application/json' \
--header 'Authorization: Bearer TOKEN' \
--form 'media=@"/Users/boristauber/Desktop/Снимок экрана 2024-10-03 в 12.55.47.png"' \
--form 'description="Описание изображения креатива"'
Пример запроса при добавлении текстовых данных:
curl -X 'POST' \
  'https://api.ord-a.ru/api/v2/creatives/5291/items' \
  -H 'accept: application/json' \
  -H 'Authorization: Bearer TOKEN' \
  -H 'Content-Type: application/json' \
  -H 'X-CSRF-TOKEN: ' \
  -d '{
  "text_data": "тест"
}'
Пример ответа:
{
    "data": {
        "id": 708,
        "external_id": null,
        "media": null,
        "text_data": "тест",
        "created_at": "2024-03-04T21:46:15+03:00"
    }
}
3.6.4 Обновление (изменение сущности) загруженного медиафайла / текстового поля: PUT /creatives/{creative_id}/items/{id}
https://api.ord-a.ru/api/v2/creatives/{creative_id}/items/{id}
Данный метод используется для обновления загруженного медиафайла / текстового поля.
Параметры запроса:
Параметр Тип Обязательность Описание
creative_id число да идентификатор креатива
id число да идентификатор пункта креатива (items)
Код ответа Описание
200 OK Запрос выполнен
401 Unauthorized Доступ запрещен, невалидный токен
403 Forbidden Ошибка
Пример запроса:
curl -X 'PUT' \
 'https://api.ord-a.ru/api/v2/creatives/5291/items/707' \
 -H 'accept: application/json' \
 -H 'Authorization: Bearer TOKEN' \
 -H 'Content-Type: application/json' \
 -H 'X-CSRF-TOKEN: ' \
 -d '{
 "media": "https://jpeg.org/images/jpeg-home.jpg",
  "description": "Описание изображения креатива"
}'
Пример ответа:
{
  "data": {
    "id": 707,
    "external_id": null,
    "media": {
      "id": 6031,
      "name": "jpeg-home.jpg",
      "mime_type": "image/jpeg",
            "type": "image",
            "collection_name": "default",
      "url": "https://api-dev.ord-a.ru/storage/media/04-03-2024/cf4df75b-b0d2-419d-8a27-448a9a7071e8/jpeg-home.jpg",
      "disk": "media",
      "created_at": "2024-03-04T18:53:00.000000Z"
    },
    "text_data": null,
        "description": "Описание изображения креатива",
    "created_at": "2024-03-04T21:33:03+03:00"
  }
}
3.6.5 Удаление загруженного медиафайла / текстового поля: DELETE /creatives/{creative_id}/items/{id}
https://api.ord-a.ru/api/v2/creatives/{creative_id}/items/{id}
Данный метод используется для удаления загруженного медиафайла / текстового поля.
Параметры запроса:
Параметр Тип Обязательность Описание
creative_id число да идентификатор креатива
id число да идентификатор пункта креатива (items)
Код ответа Описание
200 OK Запрос выполнен
401 Unauthorized Доступ запрещен, невалидный токен
403 Forbidden Ошибка
Пример запроса:
curl -X 'DELETE' \
  'https://api.ord-a.ru/api/v2/creatives/5291/items/710' \
  -H 'accept: application/json' \
  -H 'Authorization: Bearer TOKEN' \
  -H 'Content-Type: application/json' \
  -H 'X-CSRF-TOKEN: ' \
  -d ' '
3.6.6 Массовое создание пунктов креативов: POST /creatives/{creative_id}/items/insert
 https://api.ord-a.ru/api/v2/creatives/{creative_id}/items/insert
Данный метод используется для массового создания пунктов креативов. Для его использования необходимо сначала привязать медиа к пользователю, используя метод, описанный в 3.8.2 POST /user/media/
Параметры запроса:
Параметр Тип Обязательность Описание
creative_id число да идентификатор креатива
Код ответа Описание
200 OK Запрос выполнен
401 Unauthorized Доступ запрещен, невалидный токен
403 Forbidden Ошибка
Пример запроса:
curl -X 'POST' \
 'https://api.ord-a.ru/api/v2/creatives/5465/items/insert' \
 -H 'accept: application/json' \
 -H 'Authorization: Bearer TOKEN' \
 -H 'Content-Type: application/json' \
 -H 'X-CSRF-TOKEN: ' \
 -d '{
 "creative_items": [
 {
     "media_id": 829,
     "description": "Описание изображения креатива"
   },
   {
     "media_id": 830
   }
 ]
}'
Пример ответа:
{
   "data": [
       {
           "id": 192,
           "external_id": null,
           "media": {
               "id": 831,
               "name": "Снимок экрана в 14.59.44.png",
               "mime_type": "image/png",
               "type": "image",
               "collection_name": "default",
               "url": "https://api.ord-a.ru/storage/media/03-10-2024/ba13cadc-ca1d-4679-8a52-43c6501ac646/Снимок-экрана-в-14.59.44.png",
               "disk": "media",
               "created_at": "2024-10-03T10:35:06.000000Z"
           },
           "text_data": null,
           "description": "Описание изображения креатива",
           "created_at": "2024-10-03T13:35:06+03:00"
       },
       {
           "id": 193,
           "external_id": null,
           "media": {
               "id": 832,
               "name": "Запись экрана в 14.58.01.mov",
               "mime_type": "video/quicktime",
               "type": "video",
               "collection_name": "default",
               "url": "https://api.ord-a.ru/storage/media/03-10-2024/559bc2ed-b6d0-47b9-bf4e-08194cd1f59b/Запись-экрана-в-14.58.01.mov",
               "disk": "media",
               "created_at": "2024-10-03T10:35:06.000000Z"
           },
           "text_data": null,
           "description": null,
           "created_at": "2024-10-03T13:35:06+03:00"
       }
   ]
}
3.6.7 Атрибуты объекта «CreativeItems»:
Параметр Тип Обязательность Описание
creative_id число да идентификатор креатива, к которому крепится медиафайл / текстовые данные
id число да идентификатор загруженного объекта
media строка, file Условно обязательно Обязательно если форма распространения креатива (type):
  • "text-video-block" - Текстовый блок с видео;
  • "text-audio-block" - Текстовый блок с аудио;
  • "text-audio-video-block" - Текстовый блок с аудио и видео;
  • "text-graphic-block" - Текстово-графический блок;
  • "text-graphic-video-block" - Текстово-графический блок с видео;
  • "text-graphic-audio-block" - Текстово-графический блок с аудио;
  • "text-graphic-audio-video-block" - Текстово-графический блок с аудио и видео;
  • "banner" - Баннер;
  • "banner-html5" - HTML5-баннер;
  • "video" - Видеоролик;
  • "audio-rec" - Аудиозапись;
  • "live-video" - Видеотрансляция в прямом эфире;
  • "live-audio" - Аудиотрансляция в прямом эфире.
Запрещается передавать если форма распространения креатива (type):
  • "text-block" - Текстовый блок

Значение "zip" может быть указано только для формы распространения креатива (form) HTML5-баннер (banner-html5)

text_data строка (65000) Условно обязательно Обязательно если форма распространения креатива (type):
  • "text-block" - Текстовый блок,
  • "text-graphic-block" - Текстово-графический блок,
  • "text-video-block" - Текстовый блок с видео,
  • "text-graphic-video-block" - Текстово-графический блок с видео,
  • "text-audio-block" - Текстовый блок с аудио,
  • "text-graphic-audio-block" - Текстово-графический блок с аудио,
  • "text-audio-video-block" - Текстовый блок с аудио и видео,
  • "text-graphic-audio-video-block" - Текстово-графический блок с аудио и видео.
Запрещается передавать если форма распространения креатива (type):
  • "banner" - Баннер;
  • "banner-html5" - HTML5-баннер;
  • "video" - Видеоролик;
  • "audio-rec" - Аудиозапись;
  • "live-video" - Видеотрансляция в прямом эфире;
  • "live-audio" - Аудиотрансляция в прямом эфире.
description строка (1000) нет Заполняется, если передается "media" в формате "Изображение". Возможные расширения для формата "Изображение":
  • png;
  • jpg;
  • jpeg;
  • webp;
  • gif;
  • svg+xml.

Если не заполнено, будет подтягиваться автоматически из поля «description» (Описание объекта рекламирования) соответствующего креатива.

external_id строка (255) нет Учетный идентификатор в базе пользователя
media_id число да Идентификатор медиа, полученный при использовании пункта 3.8.2
3.7 Привязка медиафайлов к пользователю (UserMedia)
Данный метод необходим для использования массового создания пунктов в креативе через метод POST /creatives/{creative_id}/items/insert
3.7.1 Получение списка привязанных медиа к пользователю: GET /user/media
https://api.ord-a.ru/api/v2/user/media
Данный метод используется для получения списка привязанных медиа к пользователю.
Код ответа Описание
200 OK Статус успешного запроса
401 Unauthorized Доступ запрещен, невалидный токен
Пример запроса:
curl -X 'GET' \
  'https://api.ord-a.ru/api/v2/user/media' \
  -H 'accept: application/json' \
  -H 'Authorization: Bearer TOKEN' \
  -H 'X-CSRF-TOKEN: '
Пример ответа:
{
  "data": [
    {
      "id": 5510,
      "name": "logo_ОРД-А(белый).png",
      "mime_type": "image/png",
          "type": "image",
      "collection_name": "temp",
      "url": null,
      "disk": "temporary",
      "created_at": "2023-12-26T09:20:26.000000Z"
    },
    {
      "id": 5511,
      "name": "logo_ОРД-А(белый).png",
      "mime_type": "image/png",
            "type": "image",
      "collection_name": "temp",
      "url": null,
      "disk": "temporary",
      "created_at": "2023-12-26T09:20:26.000000Z"
    },
    {
      "id": 5480,
      "name": "photo_2023-12-06_13-22-45.jpg",
      "mime_type": "image/jpeg",
            "type": "image",
            "collection_name": "temp",
      "url": null,
      "disk": "temporary",
      "created_at": "2023-12-25T10:49:25.000000Z"
    },
    {
      "id": 5481,
      "name": "screenshot-1 (1).png",
      "mime_type": "image/jpeg",
            "type": "image",
      "collection_name": "temp",
      "url": null,
      "disk": "temporary",
      "created_at": "2023-12-25T10:49:56.000000Z"
    },
    {
      "id": 5482,
      "name": "photo_2023-12-06_13-22-45.jpg",
      "mime_type": "image/jpeg",
            "type": "image",
      "collection_name": "temp",
      "url": null,
      "disk": "temporary",
      "created_at": "2023-12-25T10:51:31.000000Z"
    },
    {
      "id": 5512,
      "name": "photo_2023-12-06_13-22-45 (1).jpg",
      "mime_type": "image/jpeg",
            "type": "image",
      "collection_name": "temp",
      "url": null,
      "disk": "temporary",
      "created_at": "2023-12-26T09:20:26.000000Z"
    },
    {
      "id": 5483,
      "name": "screenshot-1 (1).png",
      "mime_type": "image/jpeg",
            "type": "image",
      "collection_name": "temp",
      "url": null,
      "disk": "temporary",
      "created_at": "2023-12-25T10:53:02.000000Z"
    },
    {
      "id": 5513,
      "name": "logo_ОРД-А(белый).png",
      "mime_type": "image/png",
            "type": "image",
      "collection_name": "temp",
      "url": null,
      "disk": "temporary",
      "created_at": "2023-12-26T09:20:26.000000Z"
    },
    {
      "id": 5484,
      "name": "screenshot-1 (1).png",
      "mime_type": "image/jpeg",
            "type": "image",
      "collection_name": "temp",
      "url": null,
      "disk": "temporary",
      "created_at": "2023-12-25T10:53:12.000000Z"
    },
    {
      "id": 5514,
      "name": "photo_2023-12-06_13-22-45 (1).jpg",
      "mime_type": "image/jpeg",
            "type": "image",
      "collection_name": "temp",
      "url": null,
      "disk": "temporary",
      "created_at": "2023-12-26T09:20:26.000000Z"
    },
    {
      "id": 5485,
      "name": "photo_2023-12-06_13-22-45.jpg",
      "mime_type": "image/jpeg",
            "type": "image",
            "collection_name": "temp",
      "url": null,
      "disk": "temporary",
      "created_at": "2023-12-25T10:54:59.000000Z"
    },
    {
      "id": 5515,
      "name": "photo_2023-12-06_13-22-45.jpg",
      "mime_type": "image/jpeg",
            "type": "image",
      "collection_name": "temp",
      "url": null,
      "disk": "temporary",
      "created_at": "2023-12-26T09:20:26.000000Z"
    },
    {
      "id": 5486,
      "name": "photo_2023-12-06_13-22-45.jpg",
      "mime_type": "image/jpeg",
            "type": "image",
      "collection_name": "temp",
      "url": null,
      "disk": "temporary",
      "created_at": "2023-12-25T10:55:03.000000Z"
    },
    {
      "id": 5487,
      "name": "photo_2023-12-06_13-22-45.jpg",
      "mime_type": "image/jpeg",
            "type": "image",
      "collection_name": "temp",
      "url": null,
      "disk": "temporary",
      "created_at": "2023-12-25T10:55:07.000000Z"
    },
    {
      "id": 5516,
      "name": "Снимок экрана 2023-10-26 в 13.16.32.png",
      "mime_type": "image/png",
            "type": "image",
      "collection_name": "temp",
      "url": null,
      "disk": "temporary",
      "created_at": "2023-12-26T09:38:51.000000Z"
    }
  ],
  "links": {
    "first": "http://api.ord-a.ru/api/v2/user/media?page=1",
    "last": "http://api.ord-a.ru/api/v2/user/media?page=6",
    "prev": null,
    "next": "http://api.ord-a.ru/api/v2/user/media?page=2"
  },
  "meta": {
    "current_page": 1,
    "from": 1,
    "last_page": 6,
    "links": [
      {
        "url": null,
        "label": "« Вперед",
        "active": false
      },
      {
        "url": "http://api.ord-a.ru/api/v2/user/media?page=1",
        "label": "1",
        "active": true
      },
      {
        "url": "http://api.ord-a.ru/api/v2/user/media?page=2",
        "label": "2",
        "active": false
      },
      {
        "url": "http://api.ord-a.ru/api/v2/user/media?page=3",
        "label": "3",
        "active": false
      },
      {
        "url": "http://api.ord-a.ru/api/v2/user/media?page=4",
        "label": "4",
        "active": false
      },
      {
        "url": "http://api.ord-a.ru/api/v2/user/media?page=5",
        "label": "5",
        "active": false
      },
      {
        "url": "http://api.ord-a.ru/api/v2/user/media?page=6",
        "label": "6",
        "active": false
      },
      {
        "url": "http://api.ord-a.ru/api/v2/user/media?page=2",
        "label": "Назад »",
        "active": false
      }
    ],
    "path": "http://api.ord-a.ru/api/v2/user/media",
    "per_page": 15,
    "to": 15,
    "total": 81
  }
}
3.7.2 Привязка медиа к пользователю: POST /user/media/
https://api.ord-a.ru/api/v2/user/media/
Данный метод используется для привязки медиа к пользователю.
Код ответа Описание
200 OK Статус успешного запроса
401 Unauthorized Ошибка во входных данных
Пример запроса при добавлении медиафайлов с типом данных multipart/form-data:
curl --location 'https://api.ord-a.ru/api/v2/user/media/' \
--header 'Accept: application/json' \
--header 'Authorization: Bearer  TOKEN' \
--form 'media[]=@"/D:/Work/ORD/pictures/167686-dobro-oblako-atmosfera-gora-prirodnyj_landshaft-x750.jpg"' \
--form 'media[]=@"/D:/Work/ORD/pictures/166366-avtomobilnoe_osveshhenie-kommunikacionnoe_ustrojstvo-gadzhet-palec-pryamougolnik-x750.jpg"'
Пример ответа:
{
  "data": [
    {
      "id": 6044,
      "name": "167686-dobro-oblako-atmosfera-gora-prirodnyj_landshaft-x750.jpg",
      "mime_type": "image/jpeg",
            "type": "image",
      "collection_name": "temp",
      "url": null,
      "disk": "temporary",
      "created_at": "2024-03-07T07:33:28.000000Z"
    },
    {
      "id": 6045,
      "name": "166366-avtomobilnoe_osveshhenie-kommunikacionnoe_ustrojstvo-gadzhet-palec-pryamougolnik-x750.jpg",
      "mime_type": "image/jpeg",
            "type": "image",
      "collection_name": "temp",
      "url": null,
      "disk": "temporary",
      "created_at": "2024-03-07T07:33:28.000000Z"
    }
  ]
}
3.7.3 Удаление привязанного медиа к пользователю: DELETE /user/media/{id}
https://api.ord-a.ru/api/v2/user/media/{id}
Данный метод используется для удаления привязанного медиа к пользователю.
Параметры запроса:
Параметр Тип Обязательность Описание
id число да идентификатор креатива
Код ответа Описание
204 OK Запрос выполнен
401 Unauthorized Доступ запрещен, невалидный токен
404 Not Found Медиафайл не найден
Пример запроса:
curl -X 'DELETE' \
  'https://api.ord-a.ru/api/v2/user/media/5510' \
  -H 'accept: application/json' \
  -H 'Authorization: Bearer TOKEN' \
  -H 'Content-Type: application/json' \
  -H 'X-CSRF-TOKEN: ' \
  -d ' '
3.7.4 Атрибуты объекта «UserMedia» (UserMedia):
Параметр Тип Обязательность Описание
id число да идентификатор медиа
media[] array file да Массив медиа для загрузки
3.8 Акты (Invoices)
3.8.1 Получение сведений об актах: GET /invoices
 https://api.ord-a.ru/api/v2/invoices
Данный метод используется для получения списков актов.
Параметры запроса
Параметр Тип Обязательность Описание
page число нет Номер страницы
limit число нет Количество записей на странице
sort строка нет Используется при get запросе. Сортировка по столбцу. Допустимые значения: id, -id, number, -number, date, -date, amount, -amount
Код ответа Описание
200 OK Положительный статус запроса
401 Unauthorized Доступ запрещен, невалидный токен
Пример запроса:
curl -X 'GET' \
  'https://api.ord-a.ru/api/v2/invoices' \
  -H 'accept: application/json' \
  -H 'Authorization: Bearer TOKEN' \
  -H 'X-CSRF-TOKEN: '
Пример положительного ответа:
{
  "data": [
    {
      "id": 8109,
      "number": "1 от 16.05",
      "is_partner": false,
      "membership_id": 1,
      "contract_id": 33270,
      "date": "2024-05-16",
      "start_date": "2024-05-01",
      "end_date": "2024-05-16",
      "contract": {
        "id": 33270,
        "number": "1 от 26.06",
        "is_partner": false,
        "membership_id": 43,
        "cid": null,
        "type": "contract",
        "client_id": 25592,
        "contractor_id": 25542,
        "is_reg_report": true,
        "date": "2023-06-25",
        "amount": "457.7",
        "action": null,
        "subject": "distribution",
        "parent_contract_id": null,
        "agent_acting_for_publisher": false,
        "external_id": "4%g!",
        "created_at": "2024-05-15T12:40:57+03:00",
        "deleted_at": null
      },
      "amount": 1999251.6,
      "invoice_items_sum_amount": null,
      "client_role": "ra",
      "contractor_role": "ra",
      "external_id": "!2v&",
      "created_at": "2024-05-16T13:00:14+03:00",
      "deleted_at": null
    },
    {
      "id": 8089,
      "number": null,
      "is_partner": false,
      "membership_id": 1,
      "contract_id": 33252,
      "date": "2024-05-01",
      "start_date": "2024-05-02",
      "end_date": "2024-05-04",
      "contract": {
        "id": 33252,
        "number": "0000",
        "is_partner": false,
        "membership_id": 43,
        "cid": null,
        "type": "contract",
        "client_id": 25542,
        "contractor_id": 25506,
        "is_reg_report": false,
        "date": "2024-05-07",
        "amount": null,
        "action": null,
        "subject": "other",
        "parent_contract_id": null,
        "agent_acting_for_publisher": false,
        "external_id": null,
        "created_at": "2024-05-07T11:57:41+03:00",
        "deleted_at": null
      },
      "amount": 10,
      "invoice_items_sum_amount": "0",
      "client_role": "ra",
      "contractor_role": "rr",
      "external_id": null,
      "created_at": "2024-05-08T18:14:16+03:00",
      "deleted_at": null
    }
 ],
 "links": {
  "first": "https://api.ord-a.ru/api/v2/invoices?page=1",
  "last": "https://api.ord-a.ru/api/v2/invoices?page=2",
  "prev": null,
  "next": "https://api.ord-a.ru/api/v2/invoices?page=2"
 },
 "meta": {
  "current_page": 1,
  "from": 1,
  "last_page": 1,
  "links": [
   {
    "url": null,
    "label": "« Вперед",
    "active": false
   },
   {
    "url": "https://api.ord-a.ru/api/v2/invoices?page=1",
    "label": "1",
    "active": true
   }
  ],
  "path": "https://api.ord-a.ru/api/v2/invoices",
  "per_page": 2,
  "to": 2,
  "total": 2
 }
}
3.8.2 Получение определенного акта: GET /invoices/{id}
https://api.ord-a.ru/api/v2/invoices/{id}
Данный метод используется для получения списков актов.
Параметры запроса
Параметр Тип Обязательность Описание
id число нет идентификатор акта
Код ответа Описание
200 OK Статус успешного запроса
401 Unauthorized Доступ запрещен, невалидный токен
404 Not found Идентификатор акта не найден
Пример запроса:
curl -X 'GET' \
'https://api.ord-a.ru/api/v2/invoices/228' \
-H 'accept: application/json' \
-H 'Authorization: Bearer TOKEN' \
-H 'X-CSRF-TOKEN: '
Успешный ответ:
{
   "data": {
       "id": 228,
       "number": "1 от 20.06",
       "is_partner": false,
       "membership_id": 1,
       "erir_entity": {
           "id": 2115,
           "status": "Зарегистрирован",
           "status_label": "registered",
           "last_item": {
               "id": 4462,
               "status": "Зарегистрирован",
               "status_label": "registered",
               "errors": [],
               "message": null,
               "created_at": "2024-06-20T14:15:46+03:00",
               "pending_at": "2024-06-20T14:20:46+03:00",
               "status_changed_at": "2024-06-21T04:23:03+03:00"
           },
           "registered_at": "2024-06-21 04:23:03",
           "created_at": "2024-06-20T14:15:45+03:00"
       },
       "contract_id": 312,
       "date": "2024-06-20",
       "start_date": "2024-05-01",
       "end_date": "2024-06-20",
       "contract": {
           "id": 312,
           "number": "2 от 19.06",
           "is_partner": false,
           "membership_id": 1,
           "cid": null,
           "type": "contract",
           "client_id": 545,
           "contractor_id": 549,
           "is_reg_report": false,
           "date": "2024-06-19",
           "amount": null,
           "action": null,
           "subject": "other",
           "parent_contract_id": null,
           "agent_acting_for_publisher": false,
           "external_id": null,
           "created_at": "2024-06-19T10:08:36+03:00",
           "deleted_at": null
       },
       "amount": 10,
       "client_role": "ra",
       "contractor_role": "ra",
       "external_id": null,
       "created_at": "2024-06-20T14:15:45+03:00",
       "deleted_at": null
   }
}
3.8.3 Добавление акта: POST /invoices
https://api.ord-a.ru/api/v2/invoices
Данный метод используется для создания акта.
Код ответа Описание
201 Created Акт создан
401 Unauthorized Доступ запрещен, невалидный токен
422 Unprocessable Content Некорректный запрос
Пример запроса:
 curl -X 'POST' \
  'https://api.ord-a.ru/api/v2/invoices' \
  -H 'accept: application/json' \
  -H 'Authorization: Bearer TOKEN' \
  -H 'Content-Type: application/json' \
  -H 'X-CSRF-TOKEN: ' \
  -d '{
  "date": "2024-02-25",
  "start_date": "2024-02-20",
  "end_date": "2024-02-25",
  "amount": 1000,
  "number": "string",
  "contract_id": 32206,
  "client_role": "rd",
  "contractor_role": "ra",
  "external_id": "123"
}'
Успешный ответ:
 {
    "data": {
        "id": 2772,
        "number": "string",
        "is_partner": false,
        "membership_id": 1,
        "contract_id": 32206,
        "date": "2024-02-25",
        "start_date": "2024-02-20",
        "end_date": "2024-02-25",
        "amount": 1000,
        "invoice_items_sum_amount": null,
        "client_role": "rd",
        "contractor_role": "ra",
        "external_id": "123",
        "created_at": "2024-02-28T13:36:16+03:00",
        "deleted_at": null
    }
}
3.8.4 Обновление акта: PUT /invoices/{id}
https://api.ord-a.ru/api/v2/invoices/{id}
Данный метод используется для получения списков актов.
Параметры запроса
Параметр Тип Обязательность Описание
id число да идентификатор акта
Код ответа Описание
200 OK Статус успешного запроса
401 Unauthorized Доступ запрещен, невалидный токен
404 Not found Идентификатор акта не найден
422 Unprocessable Content Некорректный запрос
Пример запроса:
curl -X 'PUT' \
 'https://api.ord-a.ru/api/v2/invoices/318' \
 -H 'accept: application/json' \
 -H 'Authorization: Bearer TOKEN' \
 -H 'Content-Type: application/json' \
 -H 'X-CSRF-TOKEN: ' \
 -d '{
 "contract_id": 431,
   "date": "2024-02-29 00:00:00",
   "start_date": "2024-02-01 00:00:00",
   "end_date": "2024-02-12 00:00:00",
   "amount": 2000.000000,
   "number": "СБ-01",
   "client_role": "rd",
   "contractor_role": "rr"
}'
Успешный ответ:
{
   "data": {
       "id": 318,
       "number": "СБ-01",
       "is_partner": false,
       "membership_id": 1,
       "contract_id": 431,
       "date": "2024-02-29",
       "start_date": "2024-02-01",
       "end_date": "2024-02-12",
       "amount": 2000,
       "client_role": "rd",
       "contractor_role": "rr",
       "external_id": null,
       "created_at": "2024-07-17T15:22:06+03:00",
       "deleted_at": null
   }
}
3.8.5 Массово добавить/обновить данные актов: POST /invoices/upsert
 https://api.ord-a.ru/api/v2/invoices/upsert
Данный метод используется для получения списков актов.
Код ответа Описание
200 ОК Статус успешного запроса
401 Unauthorized Доступ запрещен, невалидный токен
422 Unprocessable Content Некорректный запрос
Пример запроса:
 curl -X 'POST' \
  ' https://api.ord-a.ru/api/v2/invoices/upsert' \
  -H 'accept: application/json' \
  -H 'Authorization: Bearer TOKEN' \
  -H 'Content-Type: application/json' \
  -H 'X-CSRF-TOKEN: ' \
  -d '{
  "invoices": [
    {
      "id": 7341,
      "date": "2024-02-25",
      "start_date": "2024-02-20",
      "end_date": "2024-02-25",
      "amount": 2000,
      "number": "Акт 1",
      "contract_id": 32834,
      "client_role": "ra",
      "contractor_role": "ra",
      "external_id": "123"
    },
    {
      "id": 7328,
      "date": "2024-02-25",
      "start_date": "2024-02-20",
      "end_date": "2024-02-25",
      "amount": 0,
      "number": "Акт 2",
      "contract_id": 32820,
      "client_role": "rd",
      "contractor_role": "ra",
      "external_id": "12"
    }
  ]
}'
Успешный ответ:
 {
    "data": [
        {
            "id": 7341,
            "external_id": "123"
        },
        {
            "id": 7328,
            "external_id": "12"
        }
    ],
    "message": "OK"
}
3.8.6 Удаление акта: DELETE /invoices/{id}
https://api.ord-a.ru/api/v2/invoices/{id}
Данный метод используется для удаления акта. Внимание! Параметр unset_statistics должен быть передан после параметра relations.
Параметры запроса
Параметр Тип Обязательность Описание
id число да идентификатор акта
relations булево Условно обязательно Параметр, определяющий удаление связанных invoice_items.
При передаче true удаляются invoices и invoice_items.
При передаче false будет происходит проверка на наличие invoice_items. Если такие имеются, в ответе придет ошибка 422.
Обязателен, если передается unset_statistics (при этом передается relations=true)
unset_statistics булево нет Параметр, определяющий удаление или открепление связанных statistics от inovice_ietms.
Если передано false, то вся статистика, связанная с актом, удалится.
Если передать true, то статистика останется, однако открепится от детализации акта по атрибутам изначального договора (invoice_item_id уйдет в null)
Код ответа Описание
204 No Content Запрос прошел успешно
404 Not found Объект не найден
401 Unauthorized Доступ запрещен
Пример запроса на удаление акта, детализации акта по атрибутам изначального договора и статистики:
curl -X 'DELETE' \
 'https://api.ord-a.ru/api/v2/invoices/2579?relations=true&unset_statistics=false' \
 -H 'accept: application/json' \
 -H 'Authorization: Bearer TOKEN' \
 -H 'X-CSRF-TOKEN: '
3.8.7 Восстановление акта: GET / invoices/{id}/restore
https://api.ord-a.ru/invoices/{id}/restore
Данный метод используется для восстановления определенного акта по его id.
Если удалить акт с пунктом акта, то после восстановления акта пункты акта и статистика не восстанавливаются.

Параметры запроса
Параметр Тип Обязательность Описание
id число да идентификатор акта
Код ответа Описание
200 ОК Статус успешного запроса
401 Unauthorized Доступ запрещен, невалидный токен
404 Not found Идентификатор акта не найден
Пример запроса:
curl -X 'GET' \
  'https://api.ord-a.ru/api/v2/invoices/318/restore' \
  -H 'accept: application/json' \
  -H 'Authorization: Bearer TOKEN' \
  -H 'X-CSRF-TOKEN: '
Успешный ответ:
{
   "data": {
       "id": 318,
       "number": "СБ-01",
       "is_partner": false,
       "membership_id": 1,
       "contract_id": 431,
       "date": "2024-02-29",
       "start_date": "2024-02-01",
       "end_date": "2024-02-12",
       "amount": 2000,
       "client_role": "rd",
       "contractor_role": "rr",
       "external_id": null,
       "created_at": "2024-07-17T15:22:06+03:00",
       "deleted_at": null
   }
}
3.8.8 Атрибуты объекта «Акты» (Invoices):
Параметр Тип Обязательность Описание
contract _id число Условно обязательно

Идентификатор договора (отсылка к ранее зарегистрированному договору/доп.соглашению)

Если client_role='rd', то invoice.contract_id = invoice_items.contract_id ИЛИ invoice.contract_id - это доп. соглашение к invoice_items.contract_id
date дата (date) да Дата акта в формате ГГГГ-мм-дд
  1. Дата должна быть не ниже, чем 01.01.1991
  2. Дата должна быть меньше или равна текущей дате
start_date дата (date) да Дата начала периода в формате ГГГГ-мм-дд
  1. Дата должна быть не ниже, чем 01.01.1991
  2. Дата должна быть меньше или равна даты окончания периода акта
  3. Дата должна быть меньше или равна текущей дате
end_date дата (date) да Дата окончания периода в формате ГГГГ-мм-дд
  1. Дата должна быть не ниже, чем 01.01.1991
  2. Дата должна быть больше или равна дате начала периода акта
  3. Дата должна быть меньше или равна текущей дате 2100-12-31
amount число да

Сумма акта.

Сумма в актах должна быть больше нуля, исключение, если акт относится к безвозмездным договорам, когда в договоре явным образом указана стоимость договора равная 0.

Формат: два знака после запятой, разделитель - точка 22.23

Ограничить сумму, передаваемую в акте: максимальное число, которое может быть передано 10 000 000 000 руб.

Сумма акта должна быть больше или равна сумме всех сумм в пунктах разаллокации по изначальному договору.
number строка (255) нет Номер акта
page число нет Номер страницы
limit число нет Количество записей на странице
sort строка нет Используется при get запросе. Сортировка по стоблцу. Допустимые значения: id,-id, number, -number, date, -date, amount_fact, -amount_fact
external_id строка (255) нет Учетный идентификатор в базе пользователя
client_role строка (20) да

Роль заказчика в акте:

rr - Рекламораспространитель
ors - Оператор рекламной системы
rd - Рекламодатель
ra - Рекламное агентство

В случае обычного договора и посреднического договора:
- Если роль заказчика РД, то роль исполнителя может быть РА, ОРС, РР.
- Если роль заказчика РА, то роль исполнителя может быть РА, ОРС, РР.
- Если роль заказчика ОРС, то роль исполнителя может быть ОРС, РР.
- Заказчик не может быть в роли РР.

В случае посреднического договора, когда агент предоставляет сторону принципала (agent_acting_for_publisher=true):
- Если роль заказчика РР, то роль исполнителя может быть РА или ОРС.
- Роль исполнителя и заказчика не может быть РД

contractor _role строка (20) да

Роль исполнителя в акте:

rr - Рекламораспространитель
ors - Оператор рекламной системы
ra - Рекламное агентство
Исполнитель не может быть в роли РД

В случае посреднического договора, когда агент предоставляет сторону принципала (agent_acting_for_publisher=true) исполнитель не может быть в роли РР

include Строка нет Параметр для получения статусов сущностей для GET запроса, значение – erirEntity пример использования (https://api.ord-a.ru/api/v2/ invoices?include=erirEntity)
В json ответе от сервера появятся данные:
...
"erir_entity": {
"id": 10351,
"status": "Зарегистрирован",
"status_label": "registered",
"last_item": {
"id": 15146,
"status": "Регистрация",
"status_label": "registration",
"errors": [],
"message": null,
"created_at": "2024-07-17T17:07:11+03:00",
"pending_at": "2024-07-17T17:12:11+03:00",
"status_changed_at": "2024-07-17T17:12:15+03:00"
},
"registered_at": "2024-07-17 17:07:09",
"created_at": "2024-07-15T09:44:45+03:00"
}
...
filter [option] строка нет Параметр для поиска записей сущностей для GET запроса, допустимые значения:
- id;
- number;
- number-exact;
- period;
- date;
- amount;
- contract.amount;
- contract_id;
- external_id,
- status (1, 2, 3, 4, 6, 10)

Пример запроса: https://api.ord-a.ru/api/v2/invoices /?include=erirEntity&limit=10&page=1&filter[id]=4

Пример запроса по фильтру period: https://api.ord-a.ru/api/v2/invoices?filter[period]=20.07.2023-20.07.2023
3.9 Детализация акта по атрибутам изначального договора (InvoiceItems)
3.9.1 Получение сведений о детализаций актов по атрибутам изначального договора: GET /invoices/items
https://api.ord-a.ru/api/v2/invoices/items
Данный метод используется для получения детализации акта по атрибутам изначального договора.
Параметры запроса:
Параметр Тип Обязательность Описание
page число нет Номер страницы
limit число нет Количество записей на странице
sort строка нет Используется при get запросе. Сортировка по столбцу. Допустимые значения: id, -id, amount, -amount
Код ответа Описание
200 ОК Положительный статус запроса
401 Unauthorized Доступ запрещен, невалидный токен
Пример запроса:
curl -X 'GET' \
  'https://api.ord-a.ru/api/v2/invoices/items' \
  -H 'accept: application/json' \
  -H 'Authorization: Bearer TOKEN' \
  -H 'X-CSRF-TOKEN: '
Успешный ответ:
 {
  "data": [
    {
            "id": 1585,
            "is_partner": false,
            "membership_id": 1,
            "invoice_id": 2771,
            "invoice": {
                "id": 2771,
                "number": "rd"
            },
            "contract_id": 32209,
            "amount": 0,
            "contract": {
                "id": 32209,
                "number": "ДС2"
            },
            "external_id": null,
            "deleted_at": null,
            "creatives": [
                5140
            ]
        },
        {
            "id": 1584,
            "is_partner": false,
            "membership_id": 1,
            "invoice_id": 2770,
            "invoice": {
                "id": 2770,
                "number": "rd"
            },
            "contract_id": 32208,
            "amount": 0,
            "contract": {
                "id": 32208,
                "number": "ДС1"
            },
            "external_id": null,
            "deleted_at": null,
            "creatives": []
        }
  ],
  "links": {
    "first": "https://api.ord-a.ru/api/v2/invoices/items?page=1",
    "last": "https://api.ord-a.ru/api/v2/invoices/items?page=2",
    "prev": null,
    "next": "https://api.ord-a.ru/api/v2/invoices/items?page=2"
  },
  "meta": {
    "current_page": 1,
    "from": 1,
    "last_page": 2,
    "links": [
      {
        "url": null,
        "label": "« Вперед",
        "active": false
      },
      {
        "url": "https://api.ord-a.ru/api/v2/invoices/items?page=1",
        "label": "1",
        "active": true
      }
    ],
    "path": "https://api.ord-a.ru/api/v2/invoices/items",
    "per_page": 2,
    "to": 2,
    "total": 2
  }
}
3.9.2 Получение сведений определенной детализации акта по атрибутам изначального договора: GET /invoices/items/{id}
 https://api.ord-a.ru/api/v2/invoices/items/{id}
Данный метод используется для получения определенной детализации акта по атрибутам изначального договора.
Параметры запроса:
Параметр Тип Обязательность Описание
id число нет идентификатор пункта акта
Код ответа Описание
200 ОК Статус успешного запроса
401 Unauthorized Доступ запрещен, невалидный токен
404 Not found Идентификатор пункта акта не найден
Пример запроса:
curl -X 'GET' \
  'https://api.ord-a.ru/api/v2/invoices/items/25956' \
  -H 'accept: application/json' \
  -H 'Authorization: Bearer TOKEN' \
  -H 'X-CSRF-TOKEN: '
Успешный ответ:
{
  "data": {
    "id": 25956,
    "is_partner": false,
    "membership_id": 1,
    "invoice_id": 8089,
    "contract_id": 33252,
    "amount": 0,
    "contract": {
      "id": 33252,
      "number": "0000"
    },
    "external_id": null,
    "deleted_at": null
  }
}
3.9.3 Создание детализации акта по атрибутам изначального договора: POST /invoices/items/
https://api.ord-a.ru/api/v2/invoices/items/
Данный метод используется для создания определенной детализации акта по атрибутам изначального договора.
Код ответа Описание
201 Created Пункт акта создан
401 Unauthorized Доступ запрещен, невалидный токен
422 Unprocessable Content Некорректный запрос
Пример запроса:
curl -X 'POST' \
  'https://api.ord-a.ru/api/v2/invoices/items' \
  -H 'accept: application/json' \
  -H 'Authorization: Bearer TOKEN' \
  -H 'Content-Type: application/json' \
  -H 'X-CSRF-TOKEN: ' \
  -d '{
 "invoice_id": 8109,
 "contract_id": 33270,
 "amount": 1999251.6,
 "external_id": "4"
}'
Успешный ответ:
{
  "data": {
    "id": 25971,
    "is_partner": false,
    "membership_id": 43,
    "invoice_id": 8109,
    "invoice": {
      "id": 8109,
      "number": "1 от 16.05"
    },
    "contract_id": 33270,
    "amount": 1999251.6,
    "contract": {
      "id": 33270,
      "number": "1 от 26.06"
    },
    "external_id": "4",
    "deleted_at": null
  }
}
3.9.4 Обновление детализации акта по атрибутам изначального договора: PUT /invoices/items/{id}
https://api.ord-a.ru/api/v2/invoices/items/{id}
Данный метод используется для обновления определенной детализации акта по атрибутам изначального договора.
Параметры:
Параметр Тип Обязательность Описание
id число да идентификатор пункта акта
Код ответа Описание
200 ОК Статус успешного запроса
401 Unauthorized Доступ запрещен, невалидный токен
404 Not found Идентификатор пункта акта не найден
422 Unprocessable Content Некорректный запрос
Пример запроса:
curl -X 'PUT' \
 ' https://api.ord-a.ru/api/v2/invoices/items/25971' \
 -H 'accept: application/json' \
 -H 'Authorization: Bearer TOKEN' \
 -H 'Content-Type: application/json' \
 -H 'X-CSRF-TOKEN: ' \
 -d '{
 "invoice_id": 8109,
 "contract_id": 33270,
 "amount": 1999251.6,
 "external_id": "111-4"
}'
Успешный ответ:
{
  "data": {
    "id": 25971,
    "is_partner": false,
    "membership_id": 1,
    "invoice_id": 8109,
    "invoice": {
      "id": 8109,
      "number": "1 от 16.05"
    },
    "contract_id": 33270,
    "amount": 1999251.6,
    "contract": {
      "id": 33270,
      "number": "1 от 26.06"
    },
    "external_id": "111-4",
    "deleted_at": null
  }
}
3.9.5 Удаление детализации акта по атрибутам изначального договора: DELETE /invoices/items/{id}
https://api.ord-a.ru/api/v2/invoices/items/{id}
Данный метод используется для удаления определенной детализации акта по атрибутам изначального договора. Внимание! При удалении invoice_items удаляется и связанная с ним статистика.

Чтобы отвязать статистику (статистика остается прикрепленной к креативу), необходимо передать параметр unset_statistics=true
Параметры запроса:
Параметр Тип Обязательность Описание
id число да идентификатор пункта акта
unset_statistics булево нет Параметр, определяющий удаление или открепление связанных statistics от inovice_items.
Если передано false, то вся статистика, связанная с детализацией акта по атрибутам ИД, удалится.
Если передать true, то статистика останется, однако открепится от детализации акта по атрибутам ИД (invoice_item_id уйдет в null)
Код ответа Описание
204 No Content Статус успешного запроса
401 Unauthorized Доступ запрещен, невалидный токен
404 Not found Идентификатор организации не найден
Пример запроса на удаление определенной детализации акта по атрибутам изначального договора с откреплением статистики:
curl -X 'DELETE' \
 'https://api.ord-a.ru/api/v2/invoices/items/25971?unset_statistics=true' \
 -H 'accept: application/json' \
 -H 'Authorization: Bearer TOKEN' \
 -H 'X-CSRF-TOKEN: '
3.9.6 Восстановление детализации акта по атрибутам изначального договора: GET /invoices/items/{id}/restore
 https://api.ord-a.ru/api/v2/invoices/items/{id}/restore
Данный метод используется для восстановления определенной детализации акта по атрибутам изначального договора.

Внимание! При этом восстанавливается только детализация акта по атрибутам изначального договора. Действие отвязывания или удаления статистики отменить нельзя.
Параметры запроса:
Параметр Тип Обязательность Описание
id число да идентификатор пункта акта
Код ответа Описание
200 ОК Статус успешного запроса
401 Unauthorized Доступ запрещен, невалидный токен
404 Not found Идентификатор пункта акта не найден
Пример запроса:
curl -X 'GET' \
  'https://api.ord-a.ru/api/v2/invoices/items/25971/restore' \
  -H 'accept: application/json' \
  -H 'Authorization: Bearer TOKEN' \
  -H 'X-CSRF-TOKEN: '
Успешный ответ:
{
  "data": {
    "id": 25971,
    "is_partner": false,
    "membership_id": 1,
    "invoice_id": 8109,
    "invoice": {
      "id": 8109,
      "number": "1 от 16.05"
    },
    "contract_id": 33270,
    "amount": 1999251.6,
    "external_id": "111-4",
    "deleted_at": null
  }
}
3.9.7 Массовое добавление/обновление детализаций актов по атрибутам изначального договора: POST /invoices/items/upsert
https://api.ord-a.ru/api/v2/invoices/items/upsert
Данный метод используется для массового добавления, обновления данных актов по атрибутам изначального договора.
Код ответа Описание
200 ОК Статус успешного запроса
401 Unauthorized Доступ запрещен, невалидный токен
422 Unprocessable Content Некорректный запрос
Пример запроса:
curl -X 'POST' \
  'https://api.ord-a.ru/api/v2/invoices/items/upsert' \
  -H 'accept: application/json' \
  -H 'Authorization: Bearer TOKEN' \
  -H 'Content-Type: application/json' \
  -H 'X-CSRF-TOKEN: ' \
  -d '{
  "invoice_items": [
    {
      "invoice_id": 7344,
      "contract_id": 32834,
      "amount": 0,
      "external_id": "8"
    }
  ]
}'
Успешный ответ:
{
    "data": [
        {
            "id": 25771,
            "external_id": "8"
        }
    ],
    "message": "OK"
}
3.9.8 Атрибуты объекта «Детализация акта по атрибутам изначального договора» (Invoices/items):
Параметр Тип Обязательность Описание
contract_id число да Идентификатор договора (отсылка к ранее зарегистрированному договору/доп.соглашению)
amount число да

Сумма в привязке к изначальному договору

Формат: два знака после запятой, разделитель - точка 22.23
12 цифр до точки, т.е. максимальное число, которое может быть передано = 999 999 999 999
invoice_id число да id акта
external_id строка(255) нет Учетный идентификатор в базе пользователя
sort строка нет Параметр для сортировки массива сущностей для GET запроса, допустимые значения: id, -id, -amount.
Пример запроса - https://api.ord-a.ru/api/v1 /invoices/items?sort=name
filter[option] строка нет Параметр для поиска записей сущностей для GET запроса, допустимые значения - invoice_id.
Пример запроса - https://api.ord-a.ru/api/v2/invoices/items /?filter[invoice_id]=4