# Страхование грузов

## Методы для работы со страховыми заявками страхования грузов

### Получение заявки на страхование груза

Метод интеграционного API для страхования грузов.
Возвращает полные данные заявки по её идентификатору.
Операция доступна только страховой компании, которой назначена заявка: фирма из токена должна совпадать со страховщиком по заявке.

<a id="get-integration-v1-cargo-insurances-{insuranceId}"></a>

Возвращает заявку на страхование груза для интеграционного API.

**Пример запроса (curl):**

```bash
curl 'https://api.ati.su/integration/v1/cargo-insurances/3fa85f64-5717-4562-b3fc-2c963f66afa6' \
  -X 'GET' \
  -H 'Authorization: Bearer {authorizationToken}' \
  -H 'Content-Type: application/json'
```

**OpenAPI схема:** [JSON](https://ati.su/developers/raw/api/insurance/cargo-insurance.openapi.json)

**Пример ответа (200)**

```json
{
  "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
  "ati_id": "123456",
  "firm_name": "ООО Ромашка",
  "account_inn": "7701234567",
  "firm_requisites": {
    "requisite_id": "123",
    "legal_address": {
      "address_id": "123456",
      "formatted_text": "Россия, г. Москва, ул. Ленина, д. 1"
    },
    "post_address": {
      "address_id": "123456",
      "formatted_text": "Россия, г. Москва, ул. Ленина, д. 1"
    },
    "full_name": "ООО Ромашка",
    "inn": "7701234567",
    "ogrn": "1027700123456",
    "kpp": "770101001",
    "rs": "40702810900000000001",
    "ks": "30101810400000000225",
    "bik": "044525225",
    "bank": "ПАО Сбербанк",
    "okpo": "12345678",
    "signees": [
      {
        "signee_id": 123,
        "requisite_id": 1234,
        "full_name": "Иванов Иван Иванович",
        "position": "Директор",
        "act_upon": "Устав"
      }
    ]
  },
  "change_date": "2026-05-28T10:00:00",
  "status": "Insured",
  "status_change_date": "2026-05-28T11:00:00",
  "start_date": "2026-06-01",
  "end_date": "2026-12-31",
  "sum": 150000,
  "tariff_sum": 3500,
  "tariff": 2.33,
  "franchise_sum": 10000,
  "franchise": 5,
  "currency": "RUB",
  "policy_number": "POL-123456",
  "policy_file_name": "policy.pdf",
  "policy_file_url": "https://example.com/policy.pdf",
  "policy_template_file_url": "https://example.com/policy-template.pdf",
  "price_in_policy": true,
  "cargo": {
    "cargo_type_name": "Бытовая техника",
    "cargo_name": "Холодильники",
    "cargo_package_count": 10,
    "cargo_package_type_name": "Паллеты",
    "cargo_weight": 12000.5,
    "cargo_attributes_description": "С хрупкими элементами",
    "sealing_number": "PL-778899",
    "is_groupage": false,
    "cargo_volume": 0,
    "is_used": false,
    "is_perishable": false,
    "is_secured": false,
    "is_fragile": false,
    "adr": false,
    "inc_load_unload": false,
    "is_fraud_risk": false
  },
  "route_vehicle": {
    "from_city": "Москва",
    "to_city": "Санкт-Петербург",
    "distance": 700000,
    "vehicle_number": "А123АА77",
    "document_number_type": "CMR",
    "document_number": "CMR-123456",
    "truck_type": "Тягач",
    "extra_points": [
      {
        "point_type": 1,
        "address": "Россия, г. Казань, ул. Кремлевская, д. 5",
        "city_name": "Казань",
        "city_id": 0
      }
    ],
    "vehicle_passport_files": [
      {
        "name": "policy.pdf",
        "url": "https://example.com/policy.pdf"
      }
    ],
    "driver_passport_files": [
      {
        "name": "policy.pdf",
        "url": "https://example.com/policy.pdf"
      }
    ],
    "driver_license_files": [
      {
        "name": "policy.pdf",
        "url": "https://example.com/policy.pdf"
      }
    ]
  },
  "carrier": {
    "carrier_inn": "7812345678",
    "carrier_name": "ООО Перевозчик",
    "carrier_address": "Россия, г. Санкт-Петербург, Невский пр., д. 1"
  },
  "beneficiary": {
    "beneficiary_inn": "7701234567",
    "beneficiary_name": "ООО Выгодоприобретатель",
    "beneficiary_address": "Россия, г. Москва, ул. Пушкина, д. 10"
  },
  "contact": {
    "id": 12345,
    "name": "Иван Иванов",
    "phone": "+7 900 123-45-67",
    "email": "ivan@example.com"
  }
}
```

**Описание полей ответа**
- `id` — Идентификатор заявки
- `ati_id` — Код страхователя в АТИ
- `firm_name` — Наименование страхователя
- `account_inn` — Инн
- `firm_requisites` — Реквизиты страхователя
- `firm_requisites.requisite_id` — Id реквизитов
- `firm_requisites.legal_address` — Юр. адрес
- `firm_requisites.legal_address.address_id` — Id адреса
- `firm_requisites.legal_address.formatted_text` — Строка адреса
- `firm_requisites.post_address` — Почтовый адрес
- `firm_requisites.post_address.address_id` — Id адреса
- `firm_requisites.post_address.formatted_text` — Строка адреса
- `firm_requisites.full_name` — Название фирмы
- `firm_requisites.inn` — ИНН
- `firm_requisites.ogrn` — ОГРН
- `firm_requisites.kpp` — КПП
- `firm_requisites.rs` — Расчётный счёт
- `firm_requisites.ks` — Корр. счёт
- `firm_requisites.bik` — БИК банка
- `firm_requisites.bank` — Название банка
- `firm_requisites.okpo` — ОКПО
- `firm_requisites.signees` — Данные подписанта
- `firm_requisites.signees[].signee_id` — id подписанта
- `firm_requisites.signees[].requisite_id` — id реквизитов
- `firm_requisites.signees[].full_name` — ФИО
- `firm_requisites.signees[].position` — Должность
- `firm_requisites.signees[].act_upon` — Действует на основании ...
- `change_date` — Дата изменения заявки
- `status` — Статус заявки в интеграционном API.
- `status_change_date` — Дата изменения статуса
- `start_date` — Дата начала действия страховки
- `end_date` — Дата окончания действия страховки
- `sum` — Страховая сумма
- `tariff_sum` — Стоимость полиса
- `tariff` — Процент стоимости полиса от страховой суммы
- `franchise_sum` — Франшиза
- `franchise` — Франшиза в %
- `currency` — Валюта заявки
- `policy_number` — Номер полиса
- `policy_file_name` — Имя файла полиса
- `policy_file_url` — Ссылка на файл с полисом страхования
- `policy_template_file_url` — Ссылка на шаблон файла с полисом страхования
- `price_in_policy` — Цена в полисе
- `cargo` — Информация по грузу
- `cargo.cargo_type_name` — Тип груза.
- `cargo.cargo_name` — Наименование груза.
- `cargo.cargo_package_count` — Количество мест груза.
- `cargo.cargo_package_type_name` — Тип упаковки груза.
- `cargo.cargo_weight` — Вес груза.
- `cargo.cargo_attributes_description` — Атрибуты груза.
- `cargo.sealing_number` — Номер пломбы.
- `cargo.is_groupage` — Признак сборного груза.
- `cargo.cargo_volume` — Объём груза.
- `cargo.is_used` — Признак груза бывшего в употреблении.
- `cargo.is_perishable` — Признак скоропортящегося груза.
- `cargo.is_secured` — Признак наличия охраны.
- `cargo.is_fragile` — Признак груза, подверженного бою/лому.
- `cargo.adr` — Опасный, класс опасности.
- `cargo.inc_load_unload` — Погрузо-разгрузочные работы.
- `cargo.is_fraud_risk` — Риск мошенничества.
- `route_vehicle` — Маршрут и ТС
- `route_vehicle.from_city` — Город погрузки.
- `route_vehicle.to_city` — Город выгрузки.
- `route_vehicle.distance` — Расстояние, в м
- `route_vehicle.vehicle_number` — Государственный номер транспортного средства.
- `route_vehicle.document_number_type` — Тип транспортного документа.
- `route_vehicle.document_number` — Номер документа.
- `route_vehicle.truck_type` — Тип транспортного средства.
- `route_vehicle.extra_points` — Дополнительные точки маршрута.
- `route_vehicle.extra_points[].point_type` — Тип точки (погрузка/выгрузка).
- `route_vehicle.extra_points[].address` — Адрес точки.
- `route_vehicle.extra_points[].city_name` — Наименование города.
- `route_vehicle.extra_points[].city_id` — Идентификатор города.
- `route_vehicle.vehicle_passport_files` — Файлы СТС или ПТС транспортного средства.
- `route_vehicle.vehicle_passport_files[].name` — Наименование файла.
- `route_vehicle.vehicle_passport_files[].url` — URL файла.
- `route_vehicle.driver_passport_files` — Файлы паспорта водителя.
- `route_vehicle.driver_passport_files[].name` — Наименование файла.
- `route_vehicle.driver_passport_files[].url` — URL файла.
- `route_vehicle.driver_license_files` — Файлы водительского удостоверения.
- `route_vehicle.driver_license_files[].name` — Наименование файла.
- `route_vehicle.driver_license_files[].url` — URL файла.
- `carrier` — Перевозчик
- `carrier.carrier_inn` — ИНН перевозчика.
- `carrier.carrier_name` — Наименование перевозчика.
- `carrier.carrier_address` — Адрес перевозчика.
- `beneficiary` — Выгодопреобретатель
- `beneficiary.beneficiary_inn` — ИНН выгодоприобретателя.
- `beneficiary.beneficiary_name` — Наименование выгодоприобретателя.
- `beneficiary.beneficiary_address` — Адрес выгодоприобретателя.
- `contact` — Контакт
- `contact.id` — Id контакта
- `contact.name` — Имя контакта
- `contact.phone` — Телефон контакта
- `contact.email` — Email контакта

**Пример ответа (400)**

```json
{
  "error": "invalid_input_data",
  "reason": "Неверные входные данные."
}
```

**Описание полей ответа**
- `error` — Код или тип ошибки.
- `reason` — Подробное описание причины ошибки.


### Поиск заявок на страхование грузов

Метод интеграционного API для страхования грузов.
Возвращает список заявок на страхование грузов по параметрам фильтра из тела запроса.
В выборку попадают только заявки страховой компании, от имени которой выполняется запрос.

<a id="post-integration-v1-cargo-insurances"></a>

Поиск заявок на страхование грузов для страховой компании.

**Пример запроса (curl):**

```bash
curl 'https://api.ati.su/integration/v1/cargo-insurances' \
  -X 'POST' \
  -H 'Authorization: Bearer {authorizationToken}' \
  -H 'Content-Type: application/json' \
  --data-raw '{
  "skip": 0,
  "take": 10,
  "firms": [
    12325
  ],
  "status": "Insured",
  "from_add_date": "2026-05-28T10:00:00+00:00",
  "to_add_date": "2026-05-29T10:00:00+00:00"
}'
```

**OpenAPI схема:** [JSON](https://ati.su/developers/raw/api/insurance/cargo-insurance.openapi.json)

**Описание полей запроса**
- `skip` — Сколько заявок пропустить
- `take` — Сколько заявок вернуть
- `firms` — Список firmId страхователей
- `status` — Статус заявки
- `from_add_date` — Дата начала периода по дате создания заявки
- `to_add_date` — Дата конца периода по дате создания заявки

**Пример ответа (200)**

```json
{
  "total": 5,
  "insurances": [
    {
      "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
      "ati_id": "123456",
      "firm_name": "ООО Ромашка",
      "account_inn": "7701234567",
      "firm_requisites": {
        "requisite_id": "123",
        "legal_address": {
          "address_id": "123456",
          "formatted_text": "Россия, г. Москва, ул. Ленина, д. 1"
        },
        "post_address": {
          "address_id": "123456",
          "formatted_text": "Россия, г. Москва, ул. Ленина, д. 1"
        },
        "full_name": "ООО Ромашка",
        "inn": "7701234567",
        "ogrn": "1027700123456",
        "kpp": "770101001",
        "rs": "40702810900000000001",
        "ks": "30101810400000000225",
        "bik": "044525225",
        "bank": "ПАО Сбербанк",
        "okpo": "12345678",
        "signees": [
          {
            "signee_id": 123,
            "requisite_id": 1234,
            "full_name": "Иванов Иван Иванович",
            "position": "Директор",
            "act_upon": "Устав"
          }
        ]
      },
      "change_date": "2026-05-28T10:00:00",
      "status": "Insured",
      "status_change_date": "2026-05-28T11:00:00",
      "start_date": "2026-06-01",
      "end_date": "2026-12-31",
      "sum": 150000,
      "tariff_sum": 3500,
      "tariff": 2.33,
      "franchise_sum": 10000,
      "franchise": 5,
      "currency": "RUB",
      "policy_number": "POL-123456",
      "policy_file_name": "policy.pdf",
      "policy_file_url": "https://example.com/policy.pdf",
      "policy_template_file_url": "https://example.com/policy-template.pdf",
      "invoice_url": "https://example.com/invoice.pdf",
      "payment_url": "https://example.com/payment",
      "price_in_policy": true,
      "client_payment_date": "2026-05-29T14:30:00",
      "insurer_payment_date": "2026-06-02T09:15:00",
      "deflected_notice_comment": "Недостаточно документов для оформления полиса",
      "cargo": {
        "cargo_type_name": "Бытовая техника",
        "cargo_name": "Холодильники",
        "cargo_package_count": 10,
        "cargo_package_type_name": "Паллеты",
        "cargo_weight": 12000.5,
        "cargo_attributes_description": "С хрупкими элементами",
        "sealing_number": "PL-778899",
        "is_groupage": false,
        "cargo_volume": 0,
        "is_used": false,
        "is_perishable": false,
        "is_secured": false,
        "is_fragile": false,
        "adr": false,
        "inc_load_unload": false,
        "is_fraud_risk": false
      },
      "route_vehicle": {
        "from_city": "Москва",
        "to_city": "Санкт-Петербург",
        "distance": 700000,
        "vehicle_number": "А123АА77",
        "document_number_type": "CMR",
        "document_number": "CMR-123456",
        "truck_type": "Тягач",
        "extra_points": [
          {
            "point_type": 1,
            "address": "Россия, г. Казань, ул. Кремлевская, д. 5",
            "city_name": "Казань",
            "city_id": 0
          }
        ],
        "vehicle_passport_files": [
          {
            "name": "policy.pdf",
            "url": "https://example.com/policy.pdf"
          }
        ],
        "driver_passport_files": [
          {
            "name": "policy.pdf",
            "url": "https://example.com/policy.pdf"
          }
        ],
        "driver_license_files": [
          {
            "name": "policy.pdf",
            "url": "https://example.com/policy.pdf"
          }
        ]
      },
      "carrier": {
        "carrier_inn": "7812345678",
        "carrier_name": "ООО Перевозчик",
        "carrier_address": "Россия, г. Санкт-Петербург, Невский пр., д. 1"
      },
      "beneficiary": {
        "beneficiary_inn": "7701234567",
        "beneficiary_name": "ООО Выгодоприобретатель",
        "beneficiary_address": "Россия, г. Москва, ул. Пушкина, д. 10"
      },
      "contact": {
        "id": 12345,
        "name": "Иван Иванов",
        "phone": "+7 900 123-45-67",
        "email": "ivan@example.com"
      }
    }
  ]
}
```

**Описание полей ответа**
- `total` — Общее количество заявок на страхование грузов, подходящих под фильтр.
- `insurances` — Заявки на страхование грузов найденных по заданным параметрам поиска.
- `insurances[].id` — Идентификатор заявки.
- `insurances[].ati_id` — Код страхователя в АТИ.
- `insurances[].firm_name` — Наименование страхователя.
- `insurances[].account_inn` — ИНН страхователя.
- `insurances[].firm_requisites` — Реквизиты страхователя.
- `insurances[].firm_requisites.requisite_id` — Id реквизитов
- `insurances[].firm_requisites.legal_address` — Юр. адрес
- `insurances[].firm_requisites.legal_address.address_id` — Id адреса
- `insurances[].firm_requisites.legal_address.formatted_text` — Строка адреса
- `insurances[].firm_requisites.post_address` — Почтовый адрес
- `insurances[].firm_requisites.post_address.address_id` — Id адреса
- `insurances[].firm_requisites.post_address.formatted_text` — Строка адреса
- `insurances[].firm_requisites.full_name` — Название фирмы
- `insurances[].firm_requisites.inn` — ИНН
- `insurances[].firm_requisites.ogrn` — ОГРН
- `insurances[].firm_requisites.kpp` — КПП
- `insurances[].firm_requisites.rs` — Расчётный счёт
- `insurances[].firm_requisites.ks` — Корр. счёт
- `insurances[].firm_requisites.bik` — БИК банка
- `insurances[].firm_requisites.bank` — Название банка
- `insurances[].firm_requisites.okpo` — ОКПО
- `insurances[].firm_requisites.signees` — Данные подписанта
- `insurances[].firm_requisites.signees[].signee_id` — id подписанта
- `insurances[].firm_requisites.signees[].requisite_id` — id реквизитов
- `insurances[].firm_requisites.signees[].full_name` — ФИО
- `insurances[].firm_requisites.signees[].position` — Должность
- `insurances[].firm_requisites.signees[].act_upon` — Действует на основании ...
- `insurances[].change_date` — Дата изменения заявки.
- `insurances[].status` — Статус заявки в интеграционном API.
- `insurances[].status_change_date` — Дата изменения статуса.
- `insurances[].start_date` — Дата начала действия страховки.
- `insurances[].end_date` — Дата окончания действия страховки.
- `insurances[].sum` — Страховая сумма.
- `insurances[].tariff_sum` — Стоимость полиса.
- `insurances[].tariff` — Процент стоимости полиса от страховой суммы.
- `insurances[].franchise_sum` — Сумма франшизы.
- `insurances[].franchise` — Франшиза в %.
- `insurances[].currency` — Валюта заявки.
- `insurances[].policy_number` — Номер полиса.
- `insurances[].policy_file_name` — Имя файла полиса.
- `insurances[].policy_file_url` — Ссылка на файл полиса.
- `insurances[].policy_template_file_url` — Ссылка на шаблон полиса.
- `insurances[].invoice_url` — Ссылка на счёт-фактуру.
- `insurances[].payment_url` — Ссылка на оплату.
- `insurances[].price_in_policy` — Цена в полисе.
- `insurances[].client_payment_date` — Дата оплаты клиентом.
- `insurances[].insurer_payment_date` — Дата оплаты страховщику.
- `insurances[].deflected_notice_comment` — Комментарий к отклонению.
- `insurances[].cargo` — Информация по грузу.
- `insurances[].cargo.cargo_type_name` — Тип груза.
- `insurances[].cargo.cargo_name` — Наименование груза.
- `insurances[].cargo.cargo_package_count` — Количество мест груза.
- `insurances[].cargo.cargo_package_type_name` — Тип упаковки груза.
- `insurances[].cargo.cargo_weight` — Вес груза.
- `insurances[].cargo.cargo_attributes_description` — Атрибуты груза.
- `insurances[].cargo.sealing_number` — Номер пломбы.
- `insurances[].cargo.is_groupage` — Признак сборного груза.
- `insurances[].cargo.cargo_volume` — Объём груза.
- `insurances[].cargo.is_used` — Признак груза бывшего в употреблении.
- `insurances[].cargo.is_perishable` — Признак скоропортящегося груза.
- `insurances[].cargo.is_secured` — Признак наличия охраны.
- `insurances[].cargo.is_fragile` — Признак груза, подверженного бою/лому.
- `insurances[].cargo.adr` — Опасный, класс опасности.
- `insurances[].cargo.inc_load_unload` — Погрузо-разгрузочные работы.
- `insurances[].cargo.is_fraud_risk` — Риск мошенничества.
- `insurances[].route_vehicle` — Маршрут и ТС.
- `insurances[].route_vehicle.from_city` — Город погрузки.
- `insurances[].route_vehicle.to_city` — Город выгрузки.
- `insurances[].route_vehicle.distance` — Расстояние, в м
- `insurances[].route_vehicle.vehicle_number` — Государственный номер транспортного средства.
- `insurances[].route_vehicle.document_number_type` — Тип транспортного документа.
- `insurances[].route_vehicle.document_number` — Номер документа.
- `insurances[].route_vehicle.truck_type` — Тип транспортного средства.
- `insurances[].route_vehicle.extra_points` — Дополнительные точки маршрута.
- `insurances[].route_vehicle.extra_points[].point_type` — Тип точки (погрузка/выгрузка).
- `insurances[].route_vehicle.extra_points[].address` — Адрес точки.
- `insurances[].route_vehicle.extra_points[].city_name` — Наименование города.
- `insurances[].route_vehicle.extra_points[].city_id` — Идентификатор города.
- `insurances[].route_vehicle.vehicle_passport_files` — Файлы СТС или ПТС транспортного средства.
- `insurances[].route_vehicle.vehicle_passport_files[].name` — Наименование файла.
- `insurances[].route_vehicle.vehicle_passport_files[].url` — URL файла.
- `insurances[].route_vehicle.driver_passport_files` — Файлы паспорта водителя.
- `insurances[].route_vehicle.driver_passport_files[].name` — Наименование файла.
- `insurances[].route_vehicle.driver_passport_files[].url` — URL файла.
- `insurances[].route_vehicle.driver_license_files` — Файлы водительского удостоверения.
- `insurances[].route_vehicle.driver_license_files[].name` — Наименование файла.
- `insurances[].route_vehicle.driver_license_files[].url` — URL файла.
- `insurances[].carrier` — Перевозчик.
- `insurances[].carrier.carrier_inn` — ИНН перевозчика.
- `insurances[].carrier.carrier_name` — Наименование перевозчика.
- `insurances[].carrier.carrier_address` — Адрес перевозчика.
- `insurances[].beneficiary` — Выгодоприобретатель.
- `insurances[].beneficiary.beneficiary_inn` — ИНН выгодоприобретателя.
- `insurances[].beneficiary.beneficiary_name` — Наименование выгодоприобретателя.
- `insurances[].beneficiary.beneficiary_address` — Адрес выгодоприобретателя.
- `insurances[].contact` — Контакт.
- `insurances[].contact.id` — Id контакта
- `insurances[].contact.name` — Имя контакта
- `insurances[].contact.phone` — Телефон контакта
- `insurances[].contact.email` — Email контакта

**Пример ответа (400)**

```json
{
  "error": "invalid_input_data",
  "reason": "Неверные входные данные."
}
```

**Описание полей ответа**
- `error` — Код или тип ошибки.
- `reason` — Подробное описание причины ошибки.


### Перевод заявки в обработку

Метод интеграционного API для страхования грузов.
Переводит заявку в статус «Обрабатывается».
Выполнить операцию может только страховая компания, которой назначена заявка.
Доступно для статусов: "новая" и "одобрена". Если текущий статус заявки не позволяет перевести её в обработку, вернётся ошибка валидации.

<a id="post-integration-v1-cargo-insurances-{insuranceId}-process"></a>

Переводит заявку страхователя из статуса «Новая» или "Одобрена" в «Обрабатывается» по интеграционному API.

**Пример запроса (curl):**

```bash
curl 'https://api.ati.su/integration/v1/cargo-insurances/3fa85f64-5717-4562-b3fc-2c963f66afa6/process' \
  -X 'POST' \
  -H 'Authorization: Bearer {authorizationToken}' \
  -H 'Content-Type: application/json'
```

**OpenAPI схема:** [JSON](https://ati.su/developers/raw/api/insurance/cargo-insurance.openapi.json)

**Пример ответа (200)**

```json
{
  "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
  "status": "Insured",
  "status_change_date": "2026-05-28T10:00:00+00:00",
  "deflected_notice_comment": "Недостаточно документов"
}
```

**Описание полей ответа**
- `id` — Идентификатор заявки.
- `status` — Статус заявки в интеграционном API.
- `status_change_date` — Дата и время последнего изменения статуса заявки.
- `deflected_notice_comment` — Текст причины отклонения для страхователя (если заявка отклонена).

**Пример ответа (400)**

```json
{
  "error": "invalid_input_data",
  "reason": "Неверные входные данные."
}
```

**Описание полей ответа**
- `error` — Код или тип ошибки.
- `reason` — Подробное описание причины ошибки.


### Прикрепление полиса к заявке на страхование груза

Метод интеграционного API для страхования грузов.
Прикрепляет подписанный файл страхового полиса к заявке и подтверждает оплату клиента.
После успешной загрузки рассчитывается кешбэк, заполняется дата оплаты клиента.
Операция доступна только страховой компании, которой назначена заявка.
Полис можно прикрепить из статусов «новая», «обрабатывается», «одобрена», а также из статуса «застрахована», если оплата клиента ещё не подтверждена.
Тело запроса передаётся в формате `multipart/form-data`.

<a id="post-integration-v1-cargo-insurances-{insuranceId}-policy"></a>

Прикрепляет файл полиса к заявке страхования груза в интеграционном API и подтверждает оплату клиента.

**Пример запроса (curl):**

```bash
curl 'https://api.ati.su/integration/v1/cargo-insurances/3fa85f64-5717-4562-b3fc-2c963f66afa6/policy' \
  -X 'POST' \
  -H 'Authorization: Bearer {authorizationToken}' \
  -H 'Content-Type: multipart/form-data; boundary=boundary'
```

**OpenAPI схема:** [JSON](https://ati.su/developers/raw/api/insurance/cargo-insurance.openapi.json)

**Пример ответа (400)**

```json
{
  "error": "invalid_input_data",
  "reason": "Неверные входные данные."
}
```

**Описание полей ответа**
- `error` — Код или тип ошибки.
- `reason` — Подробное описание причины ошибки.


### Отклонение заявки на страхование груза

Метод интеграционного API для страхования грузов.
Отклоняет заявку со стороны назначенной страховой компании.
В теле запроса передаётся причина отклонения для страхователя (поле `deflected_notice_comment`).
Выполнить операцию может только страховая компания, относящаяся к заявке.
Отклонение допустимо для заявок в статусах «одобрена», «новая» и «обрабатывается».

<a id="post-integration-v1-cargo-insurances-{insuranceId}-deflect"></a>

Отклоняет заявку на страхование груза назначенной страховой компанией.

**Пример запроса (curl):**

```bash
curl 'https://api.ati.su/integration/v1/cargo-insurances/3fa85f64-5717-4562-b3fc-2c963f66afa6/deflect' \
  -X 'POST' \
  -H 'Authorization: Bearer {authorizationToken}' \
  -H 'Content-Type: application/json' \
  --data-raw '{
  "deflected_notice_comment": "Недостаточно документов для оформления"
}'
```

**OpenAPI схема:** [JSON](https://ati.su/developers/raw/api/insurance/cargo-insurance.openapi.json)

**Описание полей запроса**
- `deflected_notice_comment` — Причина отклонения

**Пример ответа (200)**

```json
{
  "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
  "status": "Insured",
  "status_change_date": "2026-05-28T10:00:00+00:00",
  "deflected_notice_comment": "Недостаточно документов"
}
```

**Описание полей ответа**
- `id` — Идентификатор заявки.
- `status` — Статус заявки в интеграционном API.
- `status_change_date` — Дата и время последнего изменения статуса заявки.
- `deflected_notice_comment` — Текст причины отклонения для страхователя (если заявка отклонена).

**Пример ответа (400)**

```json
{
  "error": "invalid_input_data",
  "reason": "Неверные входные данные."
}
```

**Описание полей ответа**
- `error` — Код или тип ошибки.
- `reason` — Подробное описание причины ошибки.


### Подтверждение оплаты клиентом по заявкам на страхование грузов

Метод интеграционного API для страхования грузов.
Подтверждает оплату страховки клиентом сразу по нескольким заявкам: в теле запроса передаётся массив идентификаторов заявок.
В ответе — результат по каждой заявке отдельно (успех и данные обновлённой заявки или неуспех и текст ошибки).
Выполнить операцию может только страховая компания, относящаяся к заявке.
Подтверждение допустимо для заявок в статусах «застрахована», «новая», «обрабатывается» и «одобрена».
При успешном подтверждении начисляется кешбэк клиенту, статус заявки меняется на «застрахована».

<a id="post-integration-v1-cargo-insurances-confirm-payments"></a>

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

**Пример запроса (curl):**

```bash
curl 'https://api.ati.su/integration/v1/cargo-insurances/confirm-payments' \
  -X 'POST' \
  -H 'Authorization: Bearer {authorizationToken}' \
  -H 'Content-Type: application/json' \
  --data-raw '[
  "f6f9b9f4-ec4a-4fd6-9d2f-6d3a6db0a4d7"
]'
```

**OpenAPI схема:** [JSON](https://ati.su/developers/raw/api/insurance/cargo-insurance.openapi.json)

**Пример ответа (200)**

```json
[
  {
    "id": "f6f9b9f4-ec4a-4fd6-9d2f-6d3a6db0a4d7",
    "status": "Insured",
    "status_change_date": "2026-05-28T10:00:00+00:00",
    "success": true,
    "error_message": "Заявка не найдена",
    "client_payment_date": "2026-05-29T14:30:00+00:00",
    "cash_back_sum": 150,
    "cash_back_percent": 5
  }
]
```

**Описание полей ответа**
- `[].id` — Идентификатор заявки.
- `[].status` — Статус заявки в интеграционном API.
- `[].status_change_date` — Дата и время последнего изменения статуса заявки.
- `[].success` — Успешно ли подтверждена оплата по заявке.
- `[].error_message` — Сообщение об ошибке, если подтверждение неуспешно
- `[].client_payment_date` — Дата оплаты страхового взноса клиентом
- `[].cash_back_sum` — Сумма кэшбека в атисах
- `[].cash_back_percent` — Процент кэшбека

**Пример ответа (400)**

```json
{
  "error": "invalid_input_data",
  "reason": "Неверные входные данные."
}
```

**Описание полей ответа**
- `error` — Код или тип ошибки.
- `reason` — Подробное описание причины ошибки.


### Получение файлов заявки на страхование груза

Метод интеграционного API для страхования грузов.
Возвращает список файлов, прикреплённых к заявке на страхование груза (ссылки для скачивания).
Операция доступна только страховой компании, которой принадлежит заявка: фирма из токена должна совпадать со страховщиком по заявке.

<a id="get-integration-v1-insurance-cargo-{insuranceId}-files"></a>

Возвращает список файлов заявки на страхование груза для интеграционного API.

**Пример запроса (curl):**

```bash
curl 'https://api.ati.su/integration/v1/insurance-cargo/3fa85f64-5717-4562-b3fc-2c963f66afa6/files' \
  -X 'GET' \
  -H 'Authorization: Bearer {authorizationToken}' \
  -H 'Content-Type: application/json'
```

**OpenAPI схема:** [JSON](https://ati.su/developers/raw/api/insurance/cargo-insurance.openapi.json)

**Пример ответа (200)**

```json
[
  {
    "name": "policy.pdf",
    "url": "https://example.com/policy.pdf"
  }
]
```

**Описание полей ответа**
- `[].name` — Наименование файла.
- `[].url` — URL файла.

**Пример ответа (400)**

```json
{
  "error": "invalid_input_data",
  "reason": "Неверные входные данные."
}
```

**Описание полей ответа**
- `error` — Код или тип ошибки.
- `reason` — Подробное описание причины ошибки.
---

## llms.txt

Индекс ключевых страниц документации для LLM и AI-агентов доступен в [основном llms.txt](https://ati.su/developers/llms.txt).
