

**Endpoint:** `POST http://localhost:13010/service/nca/iiscon`

## 📌 Описание

Сервис принимает JSON-данные и при необходимости файл с фотографией.
Фото можно передать **двумя способами**:

1. Внутри `dataJson` в поле `savedPhoto` (base64-строка)
2. Как отдельный файл (`MultipartFile file`)

`dataJson` — **обязателен**.
`savedPhoto` — **необязателен**, если используется файл.

---

## Запрос

### Multipart/Form-Data параметры:

```java
@RequestPart(value = "data") String dataJson
@RequestPart(value = "file", required = false) MultipartFile file
```

### Пример `dataJson`:

```json
{
  "request": {
    "referenceNumber": "17844565151117"
  },
  "applicantNumber": "7 (777) 777-77-77",
  "savedPhoto": "/9j/4AA.." 
}
```

* `request.referenceNumber` — обязательное поле
* `applicantNumber` — номер заявителя
* `savedPhoto` — **опционально** (фото в формате Base64).
  Если `savedPhoto` передан, файл можно не отправлять.

---

## 📤 Ответ

Сервис **nca_iiscon** по факту возвращает только `data`,
но для удобства были добавлены дополнительные поля:

* `applicationId`
* `confirmOrderSign`
* `denyOrderSign`
* `digiSign`

### Примечание

При необходимости можно менять коды внутри:

* `confirmOrderSign`
* `denyOrderSign`
* `digiSign`

---

## ✔ Пример успешного ответа

```json
{
  "data": {
    "order": {
      "certificateRequests": {
        "csr": "-----BEGIN CERTIFICATE REQUEST-----\r\nMIICKzCCAZMCAQAwgYcxJjAkBgNVBAMMHdCk0JjQm9Ce0JfQntCkINCi0JDQotCs\r\n0K/QndCQMRcwFQYDVQQEDA7QpNCY0JvQntCX0J7QpDEYMBYGA1UEBRMPSUlOODMw\r\nNDA0MDAwMjM4MQswCQYDVQQGEwJLWjEdMBsGA1UEKgwU0JLQmNCi0JDQm9Cs0JXQ\r\nktCd0JAwgawwIwYJKoMOAwoBAQICMBYGCiqDDgMKAQECAgEGCCqDDgMKAQMDA4GE\r\nAASBgJpRo6Wy0h0NbZCyCj1BJed2cnAfx/tAMAODKdrfE8QCH5QXJfPTXfC2gzXf\r\n1FCZZJmd9n8fbrRZIw6P7V9oDA23WSYJRmSqOrBAaItYHfu7L6QPfMmyeC5FtGuF\r\nlT3gkCZvIuRY9GcbIlL+gUI9dgu3xRNN+5uKJqiH4NNuCcgKoFUwUwYJKoZIhvcN\r\nAQkOMUYwRDBCBgYqgw4DAwUEODA2Bggqgw4DAwUBAQwqQzpcVXNlcnNcbGFcRGVz\r\na3RvcFzQmNCY0KHQptCe0J1cdGVzdFx0YXQxMA4GCiqDDgMKAQECAwIFAAOBgQAu\r\nQWd2EmMscZqJy0ZkxuOn1TZly0s6+du67NZSGBlrj5fX1AhP+Hbf7SgZz4efn4ls\r\nsf891rlyR+KFpgiaSy5UPfg84mAhhOz5uwqXSup6HXMAqGOGTzTMItgqOQDmd2Vd\r\nshl5F97rY5bJYPXIpzYs4QypzkSPX6pk9PzRn6OhbA==\r\n-----END CERTIFICATE REQUEST-----",
        "requestTemplateName": "individ_sign_ng",
        "subjectDN": {
          "rdns": {
            "rdnName": "G",
            "value": "ВИТАЛЬЕВНА"
          }
        },
        "publicKey": "0481809a51a3a5b2d21d0d6d90b20a3d4125e77672701fc7fb4030038329dadf13c4021f941725f3d35df0b68335dfd4509964999df67f1f6eb459230e8fed5f680c0db75926094664aa3ab040688b581dfbbb2fa40f7cc9b2782e45b46b85953de090266f22e458f4671b2252fe81423d760bb7c5134dfb9b8a26a887e0d36e09c80a"
      },
      "referenceNumber": "17844565151117",
      "orderType": "ORDER_TYPE_ONLINE",
      "storageCode": "PKCS12",
      "digitalDoc": "false"
    },
    "status": {
      "isValid": "true"
    },
    "statement": {
      "mainTitleKz": "Қазақстан Республикасы Ұлттық куәландырушы орталығының тіркеу куәліктерін беруге өтініш (жеке тұлға үшін)",
      "mainTitleRu": "Заявление на выдачу регистрационных свидетельств Национального удостоверяющего центра Республики Казахстан (для физического лица)",
      "referenceNumber": {
        "labelKz": "Бірегей нөмір",
        "labelRu": "Уникальный номер заявки",
        "value": "17844565151117"
      },
      "referenceTemplate": {
        "labelKz": "Үлгі",
        "labelRu": "Шаблон",
        "nameKz": "Жеке тұлға МЕМСТ 2015",
        "nameRu": "Физическое лицо ГОСТ 2015"
      },
      "applicantInfoTitleKz": "Өтінішкердің сәйкестендіргіш деректері",
      "applicantInfoTitleRu": "Идентификационные данные заявителя",
      "applicantInfo": {
        "labelKz": "ТАӘ",
        "labelRu": "ФИО",
        "nameKz": "ФИЛОЗОФ ТАТЬЯНА ВИТАЛЬЕВНА",
        "nameRu": "ФИЛОЗОФ ТАТЬЯНА ВИТАЛЬЕВНА"
      },
      "phoneNumber": {
        "labelKz": "Телефон",
        "labelRu": "Телефон",
        "value": ":  ______________________________________________________"
      },
      "subjectInfoTitleKz": "Тіркеу куәліктерін алуға арналған сұратымдағы субъектінің деректері",
      "subjectInfoTitleRu": "Данные субъекта в запросе на получение регистрационного свидетельства",
      "subjectInfo": {
        "labelKz": "Ел",
        "labelRu": "Страна",
        "value": "KZ"
      },
      "additionalInfoTitleKz": "Қосымша ақпарат",
      "additionalInfoTitleRu": "Дополнительная информация",
      "additionalInfo": {
        "labelKz": "Тіркеу куәлігінің әрекет ету мерзімі",
        "labelRu": "Срок действия регистрационного свидетельства",
        "nameKz": "1 жыл",
        "nameRu": "1 год"
      },
      "firstAgreementKz": "Қазақстан Республикасы Ұлттық куәландырушы орталығы жазылушыларының тіркеу куәліктерін пайдалану қағидаларымен (Certificate Practice Statement) және Қазақстан Республикасы Ұлттық куәландырушы орталығы жазылушыларының тіркеу куәліктерін пайдалану саясатымен (Certificate Policy) таныстым, қарсылығым жоқ",
      "firstAgreementRu": "С правилами применения регистрационных свидетельств подписчиков Национального удостоверяющего центра Республики Казахстан (Certificate Practice Statement) и политикой применения регистрационных свидетельств подписчиков Национального удостоверяющего центра Республики Казахстан (Certificate Policy) ознакомлен, возражений не имею",
      "secondAgreementKz": "Қазақстан Республикасы Ұлттық куәландырушы орталығының пайдаланушы келісімімен танысып шықтым. Мемлекеттік көрсетілетін қызметті алу және электрондық поштаға хабарлама алу мақсатында менің дербес деректерімді өңдеуге келісімімді растаймын.",
      "secondAgreementRu": "С пользовательским соглашением Национального удостоверяющего центра Республики Казахстан ознакомлен и подтверждаю свое согласие на обработку моих персональных данных в целях получения государственной услуги и получения уведомлений на электронную почту.",
      "signatureInfoTitleKz": "Электрондық цифрлық қолтаңбаға тиісті жабық кілтін құру үшін пайдаланылатын электрондық цифрлық қолтаңбаның құралдары туралы деректер, электрондық цифрлық қолтаңба алгоритмі стандартының және ашық кілт ұзындығының анықтамасы",
      "signatureInfoTitleRu": "Данные о средствах электронной цифровой подписи, используемых для создания соответствующего закрытого ключа электронной цифровой подписи, обозначение стандарта алгоритма электронной цифровой подписи и длины открытого ключа",
      "certInfo": {
        "labelKz": "Аутентификацияның ашық кілті (ұзындығы - 512 бит, МЕМСТ 34.310-2004):",
        "labelRu": "Открытый ключ аутентификации (длина - 512 бит, ГОСТ 34.310-2004):",
        "value": "0481809a51a3a5b2d21d0d6d90b20a3d4125e77672701fc7fb4030038329dadf13c4021f941725f3d35df0b68335dfd4509964999df67f1f6eb459230e8fed5f680c0db75926094664aa3ab040688b581dfbbb2fa40f7cc9b2782e45b46b85953de090266f22e458f4671b2252fe81423d760bb7c5134dfb9b8a26a887e0d36e09c80a"
      },
      "bottomAdditionalInfo": {
        "labelKz": "Қосымша ақпаратқа арналған орын:",
        "labelRu": "Место для дополнительной информации:",
        "nameKz": "",
        "nameRu": ""
      },
      "referenceDate": {
        "labelKz": "«Азаматтарға арналған үкімет «Мемлекеттік корпорациясы» коммерциялық емес акционерлік қоғамына немесе көрсетілетін қызметті берушіге жүгінген күні:",
        "labelRu": "Дата обращения в некоммерческое акционерное общество «Государственная корпорация «Правительства для граждан» или к услугодателю:",
        "nameKz": "«____» ______________________ 20___ жыл",
        "nameRu": "«____» ______________________ 20___ год"
      },
      "signatureLabel": {
        "labelKz": "Жеке тұлғаның (жеке тұлға өкілінің) қолы",
        "labelRu": "Подпись физического лица (представителя физического лица)",
        "nameKz": "",
        "nameRu": ""
      }
    }
  },
  "applicationId": "052547529941",
  "confirmOrderSign": "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?><order xmlns=\"http://pki.gov.kz/api/ws/iiscon/wsdl\"><certificateRequests><csr>-----BEGIN CERTIFICATE REQUEST-----\nMIICKzCCAZMCAQAwgYcxJjAkBgNVBAMMHdCk0JjQm9Ce0JfQntCkINCi0JDQotCs\n0K/QndCQMRcwFQYDVQQEDA7QpNCY0JvQntCX0J7QpDEYMBYGA1UEBRMPSUlOODMw\nNDA0MDAwMjM4MQswCQYDVQQGEwJLWjEdMBsGA1UEKgwU0JLQmNCi0JDQm9Cs0JXQ\nktCd0JAwgawwIwYJKoMOAwoBAQICMBYGCiqDDgMKAQECAgEGCCqDDgMKAQMDA4GE\nAASBgJpRo6Wy0h0NbZCyCj1BJed2cnAfx/tAMAODKdrfE8QCH5QXJfPTXfC2gzXf\n1FCZZJmd9n8fbrRZIw6P7V9oDA23WSYJRmSqOrBAaItYHfu7L6QPfMmyeC5FtGuF\nlT3gkCZvIuRY9GcbIlL+gUI9dgu3xRNN+5uKJqiH4NNuCcgKoFUwUwYJKoZIhvcN\nAQkOMUYwRDBCBgYqgw4DAwUEODA2Bggqgw4DAwUBAQwqQzpcVXNlcnNcbGFcRGVz\na3RvcFzQmNCY0KHQptCe0J1cdGVzdFx0YXQxMA4GCiqDDgMKAQECAwIFAAOBgQAu\nQWd2EmMscZqJy0ZkxuOn1TZly0s6+du67NZSGBlrj5fX1AhP+Hbf7SgZz4efn4ls\nsf891rlyR+KFpgiaSy5UPfg84mAhhOz5uwqXSup6HXMAqGOGTzTMItgqOQDmd2Vd\nshl5F97rY5bJYPXIpzYs4QypzkSPX6pk9PzRn6OhbA==\n-----END CERTIFICATE REQUEST-----\n</csr><requestTemplateName>individ_sign_ng</requestTemplateName><subjectDN><rdns><rdnName>C</rdnName><value>KZ</value></rdns><rdns><rdnName>SERIALNUMBER</rdnName><value>IIN830404000238</value></rdns><rdns><rdnName>SURNAME</rdnName><value>ФИЛОЗОФ</value></rdns><rdns><rdnName>CN</rdnName><value>ФИЛОЗОФ ТАТЬЯНА</value></rdns><rdns><rdnName>G</rdnName><value>ВИТАЛЬЕВНА</value></rdns></subjectDN><publicKey>0481809a51a3a5b2d21d0d6d90b20a3d4125e77672701fc7fb4030038329dadf13c4021f941725f3d35df0b68335dfd4509964999df67f1f6eb459230e8fed5f680c0db75926094664aa3ab040688b581dfbbb2fa40f7cc9b2782e45b46b85953de090266f22e458f4671b2252fe81423d760bb7c5134dfb9b8a26a887e0d36e09c80a</publicKey></certificateRequests><referenceNumber>17844565151117</referenceNumber><orderType>ORDER_TYPE_ONLINE</orderType><storageCode>PKCS12</storageCode><digitalDoc>false</digitalDoc><applicationId>052547529941</applicationId><applicantNumber>7 (777) 777-77-77</applicantNumber><savedPhoto> </savedPhoto><digitalDoc>false</digitalDoc><applicationType>scan</applicationType></order>",
  "denyOrderSign": "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?><order xmlns=\"http://pki.gov.kz/api/ws/iiscon/wsdl\"><certificateRequests><csr>-----BEGIN CERTIFICATE REQUEST-----\nMIICKzCCAZMCAQAwgYcxJjAkBgNVBAMMHdCk0JjQm9Ce0JfQntCkINCi0JDQotCs\n0K/QndCQMRcwFQYDVQQEDA7QpNCY0JvQntCX0J7QpDEYMBYGA1UEBRMPSUlOODMw\nNDA0MDAwMjM4MQswCQYDVQQGEwJLWjEdMBsGA1UEKgwU0JLQmNCi0JDQm9Cs0JXQ\nktCd0JAwgawwIwYJKoMOAwoBAQICMBYGCiqDDgMKAQECAgEGCCqDDgMKAQMDA4GE\nAASBgJpRo6Wy0h0NbZCyCj1BJed2cnAfx/tAMAODKdrfE8QCH5QXJfPTXfC2gzXf\n1FCZZJmd9n8fbrRZIw6P7V9oDA23WSYJRmSqOrBAaItYHfu7L6QPfMmyeC5FtGuF\nlT3gkCZvIuRY9GcbIlL+gUI9dgu3xRNN+5uKJqiH4NNuCcgKoFUwUwYJKoZIhvcN\nAQkOMUYwRDBCBgYqgw4DAwUEODA2Bggqgw4DAwUBAQwqQzpcVXNlcnNcbGFcRGVz\na3RvcFzQmNCY0KHQptCe0J1cdGVzdFx0YXQxMA4GCiqDDgMKAQECAwIFAAOBgQAu\nQWd2EmMscZqJy0ZkxuOn1TZly0s6+du67NZSGBlrj5fX1AhP+Hbf7SgZz4efn4ls\nsf891rlyR+KFpgiaSy5UPfg84mAhhOz5uwqXSup6HXMAqGOGTzTMItgqOQDmd2Vd\nshl5F97rY5bJYPXIpzYs4QypzkSPX6pk9PzRn6OhbA==\n-----END CERTIFICATE REQUEST-----\n</csr><requestTemplateName>individ_sign_ng</requestTemplateName><subjectDN><rdns><rdnName>C</rdnName><value>KZ</value></rdns><rdns><rdnName>SERIALNUMBER</rdnName><value>IIN830404000238</value></rdns><rdns><rdnName>SURNAME</rdnName><value>ФИЛОЗОФ</value></rdns><rdns><rdnName>CN</rdnName><value>ФИЛОЗОФ ТАТЬЯНА</value></rdns><rdns><rdnName>G</rdnName><value>ВИТАЛЬЕВНА</value></rdns></subjectDN><publicKey>0481809a51a3a5b2d21d0d6d90b20a3d4125e77672701fc7fb4030038329dadf13c4021f941725f3d35df0b68335dfd4509964999df67f1f6eb459230e8fed5f680c0db75926094664aa3ab040688b581dfbbb2fa40f7cc9b2782e45b46b85953de090266f22e458f4671b2252fe81423d760bb7c5134dfb9b8a26a887e0d36e09c80a</publicKey></certificateRequests><referenceNumber>17844565151117</referenceNumber><orderType>ORDER_TYPE_ONLINE</orderType><storageCode>PKCS12</storageCode><digitalDoc>false</digitalDoc><applicationId>052547529941</applicationId><applicantNumber>7 (777) 777-77-77</applicantNumber><digitalDoc>false</digitalDoc><applicationType>scan</applicationType></order>",
  "digiSign": "<?xml version=\"1.0\" encoding=\"UTF-8\"?><application><applicationId>052547529941</applicationId><serviceTypeCode>C09-03</serviceTypeCode><registerOrgCode>MID-GER-MUNCHEN</registerOrgCode><executorOrgCode>MTC-CTSAT</executorOrgCode><smsCode>14</smsCode></application>"
}
```

---

# 📄 API: `/service/nca/forward`

API предназначено для отправки данных заявки на подтверждение или отказ с последующей генерацией XML и подписанием структур.

---

# 🔗 **Endpoint**

```
POST /service/nca/forward
Content-Type: application/json
```

Метод контроллера:

```java
@PostMapping(value = "/forward", produces = MediaType.APPLICATION_JSON_VALUE)
public @ResponseBody Object getInfoOneC(@RequestBody ForwardApplication request) throws Exception {
```

---

# 📌 **Назначение API**

Сервис принимает заявление, данные заявителя, документы и XML-блоки, которые необходимо подписать, затем формирует и отправляет XML на внешнюю систему.

Поддерживаются два сценария:

* **C09-03-03-4** — подтверждение заявки
* **C09-03-03-5** — отказ от заявки

---

# 📥 **Примеры входящих JSON**

## ✅ Подтверждение заявки (`C09-03-03-4`)

<details>

```json
{
  "applicationId": "052703418875",
  "registerApplication": {
    "applicationRegistrationData": {
      "registerOrgCode": "MID-GER-MUNCHEN",
      "registerEmployee": {
        "lastName": "Тестов",
        "firstName": "Тест",
        "middleName": "Тест",
        "position": "Оператор ЦОН",
        "iin": "123456789021"
      }
    }
  },
  "updateApplication": {
    "applicationData": {
      "applicant": {
        "person": {
          "iin": "990312350989",
          "lastName": "ЖУМАНИЁЗОВ",
          "firstName": "СЕВИНДИК",
          "middleName": "КУВОНДИКУГЛИ",
          "contacts": {
            "contact": [
              {
                "contactType": "CELL_PHONE",
                "contactData": "7 (777) 777-77-77",
                "contactPrefix": "",
                "isForNotification": false
              }
            ]
          },
          "identityDocument": {
            "docType": "IDENTITY_CARD",
            "docNum": "051284930",
            "docDate": "2021-09-21+05:00",
            "docSource": "МВД РК",
            "expirationDate": "2031-09-20+05:00",
            "docName": "Удостоверение личности РК"
          },
          "dateOfBirth": "1999-03-12+05:00",
          "placeOfBirth": "КАЗАХСТАН КЫЗЫЛОРДИНСКАЯ ОБЛАСТЬ КЫЗЫЛОРДА",
          "gender": "M",
          "isForeigner": false,
          "citizenship": "398"
        }
      },
      "language": "RUS",
      "finalDocumentLang": "RUS",
      "documents": {
        "document": [
          {
            "documentId": "da9732c4-da69-4c34-a2ea-0d8cb6f5c658",
            "docTypeCode": "Z709",
            "copyType": "ELECTRONIC",
            "docName": "Заявление установленного образца"
          }
        ]
      },
      "data": {
        "digiSign": "...",
        "confirmOrder": {
          "digiSign": "..."
        }
      },
      "subServiceTypeCode": "C09-03-03-4"
    }
  }
}
```

</details>

---

## ❌ Отказ от заявки (`C09-03-03-5`)

<details>

```json
{
  "applicationId": "052631405066",
  "registerApplication": {
    "applicationRegistrationData": {
      "registerOrgCode": "MID-GER-MUNCHEN",
      "registerEmployee": {
        "lastName": "Тестов",
        "firstName": "Тест",
        "middleName": "Тест",
        "position": "Оператор ЦОН",
        "iin": "123456789021"
      }
    }
  },
  "updateApplication": {
    "applicationData": {
      "applicant": {
        "person": {
          "iin": "830404000238",
          "lastName": "ФИЛОЗОФ",
          "firstName": "ТАТЬЯНА",
          "middleName": "ВИТАЛЬЕВНА",
          "contacts": {
            "contact": [
              {
                "contactType": "CELL_PHONE",
                "contactData": "7 (777) 777-77-77",
                "contactPrefix": "",
                "isForNotification": false
              }
            ]
          },
          "identityDocument": {
            "docType": "FOREIGN_STATE_DOCUMENT",
            "docNum": "051284930",
            "docDate": "2021-09-21+05:00",
            "docSource": "Уполномоченный орган иностранного государства",
            "expirationDate": "2031-09-20+05:00",
            "docName": "Документ иностранного государства"
          },
          "dateOfBirth": "1983-04-04+05:00",
          "placeOfBirth": "КАЗАХСТАН КЫЗЫЛОРДИНСКАЯ ОБЛАСТЬ КЫЗЫЛОРДА",
          "gender": "Ж",
          "isForeigner": true,
          "citizenship": "580"
        }
      },
      "language": "RUS",
      "finalDocumentLang": "RUS",
      "documents": {
        "document": [
          {
            "documentId": "da9732c4-da69-4c34-a2ea-0d8cb6f5c658",
            "docTypeCode": "Z709",
            "copyType": "ELECTRONIC",
            "docName": "Заявление установленного образца"
          },
          {
            "documentId": "da9732c4-da69-4c34-a2ea-0d8cb6f5c658",
            "docTypeCode": "D344",
            "copyType": "ELECTRONIC",
            "docName": "Паспорт иностранного гражданина"
          }
        ]
      },
      "data": {
        "digiSign": "...",
        "denyOrder": {
          "digiSign": "..."
        }
      },
      "subServiceTypeCode": "C09-03-03-5"
    }
  }
}
```

</details>

---

# 🧾 Расшифровка полей запроса

## 1. Параметры из `application.properties`

| Поле          | Описание                  |
| ------------- | ------------------------- |
| **serviceId** | Идентификатор сервиса     |
| **senderId**  | Идентификатор отправителя |
| **password**  | Пароль                    |

---

## 2. Поля, приходящие в JSON

| Поле                   | Описание                                                                                                     |
|------------------------|--------------------------------------------------------------------------------------------------------------|
| **applicationId**      | Идентификатор заявки из API `service/nca/iiscon`                                                             |
| **registerOrgCode**    | Код регистрации заявки. Для прод: **MFA**, тест: `MID-GER-MUNCHEN`                                           |
| **docTypeCode**        | Тип документа:<br>• `D344` — паспорт иностранца<br>• `Z709` — заявление<br>• `D160` — удостоверение личности |
| **subServiceTypeCode** | <br>• `C09-03-03-4` — подтверждение<br>• `C09-03-03-5` — отказ                                               |
| **documentId**         | Это fileIdentifier, который возвращается при загрузке документа в сервис EDS_TEMP_FILES                      |

---

## 3. Поля, формируемые в XML

| Поле                         | Значение                                            |
| ---------------------------- | --------------------------------------------------- |
| **ServiceTypeCode**          | `C09-03`                                            |
| **smsCode**                  | `14`                                                |
| **registerMethod**           | `MOBILE`                                            |
| **orgCode**                  | `MFA`                                               |
| **systemCode**               | `052`                                               |
| **executorOrgCode**          | `MTC-CTSAT`                                         |
| **deliveryOrgCode**          | `MFA`                                               |
| **identityDocument.docDate** | `{identityDocumentDocDate}` — дата выдачи документа |
| **docDate**                  | текущее время формирования forward                  |

---

## 4. Подписи

| Поле                      | Описание                          |
| ------------------------- | --------------------------------- |
| **data.digiSign**         | XML, который требуется подписать  |
| **confirmOrder.digiSign** | XML для подписи при подтверждении |
| **denyOrder.digiSign**    | XML для подписи при отказе        |

⚠ **Важно:** это *не готовая подпись*, а XML-контент, который клиент должен подписать ЭЦП.

---

# 📤 Ответы API

## ▶ Успешное подтверждение

Содержит решение: *разрешено выпускать ЭЦП*.
Формат определяется внешней системой.

## ▶ Успешный отказ

Формат ожидается от внешней системы (на момент подготовки документа отсутствует).

---

# ⚙ Логика работы сервиса

1. Получает JSON.
2. Определяет тип операции по `subServiceTypeCode`:

    * `C09-03-03-4` → подтверждение
    * `C09-03-03-5` → отказ
3. Формирует XML-пакеты.
4. Передаёт клиенту XML на подпись (`digiSign`, `confirmOrder.digiSign` / `denyOrder.digiSign`).
5. После подписи — отправляет данные во внешнюю систему.
6. Возвращает ответ.

---



