From 7a6b13b12dadc7bbc540f9376bf84910e59f55f4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=90=D0=BD=D0=B0=D1=82=D0=BE=D0=BB=D0=B8=D0=B9=20=D0=9F?= =?UTF-8?q?=D0=BE=D0=BB=D0=BE=D0=B7?= Date: Sun, 15 Feb 2026 08:09:32 +0300 Subject: [PATCH] update docs cross links --- _docs/alfabank/README.md | 17 +++++ _docs/alfabank/endpoints.md | 71 +++++++++++++++++++ _docs/alfabank/payin_and_kyc/README.md | 30 ++++++++ .../payin_and_kyc/Вебхуки/delete-webhook.md | 9 ++- .../Общая_информация/authorization.md | 4 +- .../Общая_информация/channel_protection.md | 2 +- .../Общая_информация/check-list.md | 14 ++-- .../Общая_информация/introduction.md | 4 +- .../Общая_информация/pagination.md | 2 +- .../Общая_информация/terms_and_definitions.md | 2 +- .../Сертификаты_Минцифры/for_android.md | 2 +- .../Сертификаты_Минцифры/for_linux.md | 2 +- .../Сертификаты_Минцифры/what_it_is_and_what_it_is_for.md | 2 +- .../signature-encryption-tests/text_POST.md | 4 +- .../Подключение_к_Alfa_API/how_to_connect.md | 10 +-- .../Номинальные_счета/Безопасные_сделки/get-step.md | 2 +- .../Номинальные_счета/Выплаты/intro.md | 20 +++--- .../Номинальные_счета/Выплаты/tax-refund-accept.md | 4 +- .../Номинальные_счета/Идентификация_пополнений/identify.md | 9 ++- .../Контрагенты/Бенефициары/beneficiary-scoring.md | 6 +- .../Контрагенты/Универсальные_реципиенты/add-universal_recipient.md | 6 +- _docs/alfabank/qr_payout/0_full.md | 12 ++++ .../available-property-mappers.md | 4 +- .../advanced-usage/creating-a-cast.md | 2 +- .../creating-a-rule-inferrer.md | 2 +- .../advanced-usage/creating-a-transformer.md | 2 +- .../laravel-data/advanced-usage/pipeline.md | 2 +- .../as-a-data-transfer-object/casts.md | 2 +- .../creating-a-data-object.md | 4 +- .../as-a-data-transfer-object/factories.md | 6 +- .../mapping-property-names.md | 4 +- .../optional-properties.md | 2 +- .../request-to-data-object.md | 2 +- .../as-a-resource/from-data-to-array.md | 2 +- .../as-a-resource/mapping-property-names.md | 2 +- .../as-a-resource/transformers.md | 6 +- .../getting-started/quickstart.md | 44 +++++++----- .../validation/auto-rule-inferring.md | 2 +- .../laravel-data/validation/introduction.md | 14 ++-- .../laravel-data/validation/nesting-data.md | 2 +- .../validation/skipping-validation.md | 2 +- .../validation/using-validation-attributes.md | 2 +- 42 files changed, 241 insertions(+), 101 deletions(-) create mode 100644 _docs/alfabank/README.md create mode 100644 _docs/alfabank/endpoints.md create mode 100644 _docs/alfabank/payin_and_kyc/README.md diff --git a/_docs/alfabank/README.md b/_docs/alfabank/README.md new file mode 100644 index 0000000..e0a256e --- /dev/null +++ b/_docs/alfabank/README.md @@ -0,0 +1,17 @@ +# Alfa Bank SDK Documentation + +Добро пожаловать в структурированную документацию Alfa API. + +## Основные разделы + +### 1. [Pay-in & KYC (Alfa API / Alfa ID)](payin_and_kyc/README.md) +Документация по приему платежей, идентификации пользователей через Alfa ID и управлению номинальными счетами. + +### 2. [QR Payout (СБП C2B)](qr_payout/0_full.md) +Инструкции по интеграции Системы Быстрых Платежей (СБП) для QR-оплаты. + +## Быстрая навигация +- [Карта всех эндпоинтов](endpoints.md) +- [Как подключиться](payin_and_kyc/Подключение_к_Alfa_API/how_to_connect.md) +- [Песочница](payin_and_kyc/Песочница/sandbox_intro.md) +- [Чек-лист готовности](payin_and_kyc/Общая_информация/check-list.md) diff --git a/_docs/alfabank/endpoints.md b/_docs/alfabank/endpoints.md new file mode 100644 index 0000000..897b332 --- /dev/null +++ b/_docs/alfabank/endpoints.md @@ -0,0 +1,71 @@ +# Карта эндпоинтов Alfa API + +| Метод | Путь | Файл | Описание | +| :--- | :--- | :--- | :--- | +| `GET` | `/api/endpoint` | [Управление API Key](payin_and_kyc/Портал_разработчика/api_key_managment.md) | | +| `GET` | `/api/endpoint` | [TLS-сертификат](payin_and_kyc/Подключение_к_Alfa_API/tls-cert.md) | | +| `POST` | `/api/gd/v1/crypto-service/certificates` | [Добавление нового сертификата](payin_and_kyc/Транспортная_подпись_и_шифрование/managing-certificates/post-certificates.md) | | +| `GET` | `/api/gd/v1/crypto-service/certificates` | [Получение сертификатов](payin_and_kyc/Транспортная_подпись_и_шифрование/managing-certificates/get-certificates.md) | | +| `PATCH` | `/api/gd/v1/crypto-service/certificates/{id}` | [Обновление сертификата](payin_and_kyc/Транспортная_подпись_и_шифрование/managing-certificates/patch-certificates.md) | | +| `POST` | `/api/na/jp/v1/beneficiaries` | [Создание запроса на регистрацию бенефициара](payin_and_kyc/продукты_и_сервисы/Номинальные_счета/Контрагенты/Бенефициары/add-beneficiary.md) | | +| `GET` | `/api/na/jp/v1/beneficiaries/requests/{requestId}/status` | [Получение статуса запроса](payin_and_kyc/продукты_и_сервисы/Номинальные_счета/Контрагенты/get-request-status.md) | | +| `GET` | `/api/na/jp/v1/beneficiaries/{beneficiaryId}` | [Получение информации о бенефициаре `H2H`](payin_and_kyc/продукты_и_сервисы/Номинальные_счета/Контрагенты/Бенефициары/get-beneficiary.md) | | +| `PUT` | `/api/na/jp/v1/beneficiaries/{beneficiaryId}` | [Создание запроса на изменение информации о бенефициаре](payin_and_kyc/продукты_и_сервисы/Номинальные_счета/Контрагенты/Бенефициары/change-beneficiary.md) | | +| `GET` | `/api/na/jp/v1/beneficiaries/{beneficiaryId}/balance` | [Получение информации о балансе бенефициара](payin_and_kyc/продукты_и_сервисы/Номинальные_счета/Контрагенты/Бенефициары/get-balance.md) | | +| `POST` | `/api/na/jp/v1/beneficiaries/{beneficiaryId}/requisites` | [Добавление платёжных реквизитов бенефициара](payin_and_kyc/продукты_и_сервисы/Номинальные_счета/Контрагенты/Бенефициары/add-requisites.md) | | +| `GET` | `/api/na/jp/v1/beneficiaries/{beneficiaryId}/requisites` | [Получение платёжных реквизитов бенефициара](payin_and_kyc/продукты_и_сервисы/Номинальные_счета/Контрагенты/Бенефициары/get-requisites.md) | | +| `PATCH` | `/api/na/jp/v1/beneficiaries/{beneficiaryId}/requisites/{requisiteId}` | [Изменение признаков платёжных реквизитов бенефициара](payin_and_kyc/продукты_и_сервисы/Номинальные_счета/Контрагенты/Бенефициары/change-requisites.md) | | +| `POST` | `/api/na/jp/v1/beneficiaries/{beneficiaryId}/scoring` | [Создание запроса на проверку бенефициара](payin_and_kyc/продукты_и_сервисы/Номинальные_счета/Контрагенты/Бенефициары/beneficiary-scoring.md) | | +| `GET` | `/api/na/jp/v1/beneficiaries/{beneficiaryId}/transactions` | [Получение списка денежных операций бенефициара](payin_and_kyc/продукты_и_сервисы/Номинальные_счета/Контрагенты/Бенефициары/get-transactions.md) | | +| `POST` | `/api/na/jp/v1/deals` | [Регистрация сделки](payin_and_kyc/продукты_и_сервисы/Номинальные_счета/Безопасные_сделки/add-deal.md) | | +| `PATCH` | `/api/na/jp/v1/deals/action` | [Выполнение действия по сделке](payin_and_kyc/продукты_и_сервисы/Номинальные_счета/Безопасные_сделки/deal-actions.md) | | +| `POST` | `/api/na/jp/v1/deals/steps` | [Выполнение действия по этапам сделки](payin_and_kyc/продукты_и_сервисы/Номинальные_счета/Безопасные_сделки/add-step.md) | | +| `PATCH` | `/api/na/jp/v1/deals/steps/contractors` | [Выполнение действия по участникам этапа сделки](payin_and_kyc/продукты_и_сервисы/Номинальные_счета/Безопасные_сделки/step-contractors.md) | | +| `GET` | `/api/na/jp/v1/deals/{dealId}` | [Получение информации о сделке](payin_and_kyc/продукты_и_сервисы/Номинальные_счета/Безопасные_сделки/get-deal.md) | | +| `PATCH` | `/api/na/jp/v1/deals/{dealId}/is-valid` | [Проверка возможности осуществления выплат по сделке](payin_and_kyc/продукты_и_сервисы/Номинальные_счета/Безопасные_сделки/deal-is-valid.md) | | +| `GET` | `/api/na/jp/v1/deals/{dealId}/payoffs` | [Получение списка платежей по сделке](payin_and_kyc/продукты_и_сервисы/Номинальные_счета/Безопасные_сделки/get-deal-payoffs.md) | | +| `GET` | `/api/na/jp/v1/deals/{dealId}/requests/{requestId}/status` | [Получение статуса запроса на завершение этапа сделки](payin_and_kyc/продукты_и_сервисы/Номинальные_счета/Безопасные_сделки/get-deal-request-status.md) | | +| `GET` | `/api/na/jp/v1/deals/{dealId}/steps` | [Получение списка этапов сделки](payin_and_kyc/продукты_и_сервисы/Номинальные_счета/Безопасные_сделки/get-steps.md) | | +| `GET` | `/api/na/jp/v1/deals/{dealId}/steps/{stepId}` | [Получение информации об этапе сделки](payin_and_kyc/продукты_и_сервисы/Номинальные_счета/Безопасные_сделки/get-step.md) | | +| `GET` | `/api/na/jp/v1/deals/{dealId}/steps/{stepId}/contractors` | [Получение информации об участниках этапа сделки](payin_and_kyc/продукты_и_сервисы/Номинальные_счета/Безопасные_сделки/get-contractors.md) | | +| `GET` | `/api/na/jp/v1/nominal-accounts` | [Получение списка номинальных счетов](payin_and_kyc/продукты_и_сервисы/Номинальные_счета/get-nominal-accounts.md) | | +| `POST` | `/api/na/jp/v1/payoffs` | [Создание запроса на выплату с номинального счёта](payin_and_kyc/продукты_и_сервисы/Номинальные_счета/Выплаты/payoff.md) | | +| `GET` | `/api/na/jp/v1/unidentified-transactions` | [Получение списка неидентифицированных пополнений номинального счёта](payin_and_kyc/продукты_и_сервисы/Номинальные_счета/Идентификация_пополнений/get-unidentified-transactions.md) | | +| `POST` | `/api/na/jp/v1/unidentified-transactions/{id}/identify` | [Создание запроса на идентификацию пополнения номинального счёта](payin_and_kyc/продукты_и_сервисы/Номинальные_счета/Идентификация_пополнений/identify.md) | | +| `GET` | `/api/na/jp/v1/unidentified-transactions/{id}/identify/{identifyId}` | [Получение статуса запроса на идентификацию пополнения номинального счёта](payin_and_kyc/продукты_и_сервисы/Номинальные_счета/Идентификация_пополнений/get-identify-request-status.md) | | +| `POST` | `/api/na/jp/v1/unidentified-transactions/{id}/refunds` | [Создание запроса на возврат неидентифицированного пополнения](payin_and_kyc/продукты_и_сервисы/Номинальные_счета/Идентификация_пополнений/transaction-refund.md) | | +| `GET` | `/api/na/jp/v1/unidentified-transactions/{id}/refunds/{refundId}` | [Получение статуса запроса на возврат неидентифицированного пополнения](payin_and_kyc/продукты_и_сервисы/Номинальные_счета/Идентификация_пополнений/get-transaction-refund-request-status.md) | | +| `POST` | `/api/na/jp/v1/universal-recipients` | [Создание запроса на регистрацию универсального реципиента](payin_and_kyc/продукты_и_сервисы/Номинальные_счета/Контрагенты/Универсальные_реципиенты/add-universal_recipient.md) | | +| `GET` | `/api/na/jp/v1/universal-recipients` | [Получение списка универсальных реципиентов номинального счёта](payin_and_kyc/продукты_и_сервисы/Номинальные_счета/Контрагенты/Универсальные_реципиенты/get-universal_recipients_list.md) | | +| `GET` | `/api/na/jp/v1/universal-recipients/{universalRecipientId}` | [Получение информации об универсальном реципиенте](payin_and_kyc/продукты_и_сервисы/Номинальные_счета/Контрагенты/Универсальные_реципиенты/get-universal_recipient.md) | | +| `POST` | `/api/na/jp/v1/universal-recipients/{universalRecipientId}/requisites` | [Добавление платёжных реквизитов универсального реципиента](payin_and_kyc/продукты_и_сервисы/Номинальные_счета/Контрагенты/Универсальные_реципиенты/add-requisites.md) | | +| `GET` | `/api/na/jp/v1/universal-recipients/{universalRecipientId}/requisites` | [Получение платёжных реквизитов универсального реципиента](payin_and_kyc/продукты_и_сервисы/Номинальные_счета/Контрагенты/Универсальные_реципиенты/get-requisites.md) | | +| `PATCH` | `/api/na/jp/v1/universal-recipients/{universalRecipientId}/requisites/{requisiteId}` | [Изменение признаков платёжных реквизитов универсального реципиента](payin_and_kyc/продукты_и_сервисы/Номинальные_счета/Контрагенты/Универсальные_реципиенты/change-requisites.md) | | +| `POST` | `/api/signature-encryption-tests/json` | [Формат исходного сообщения JSON](payin_and_kyc/Песочница/signature-encryption-tests/jws_POST.md) | | +| `POST` | `/api/signature-encryption-tests/text` | [Формат исходного сообщения TXT](payin_and_kyc/Песочница/signature-encryption-tests/text_POST.md) | | +| `POST` | `/api/signature-encryption-tests/xml` | [Формат исходного сообщения XML](payin_and_kyc/Песочница/signature-encryption-tests/xmldsig_POST.md) | | +| `GET` | `/api/v1/endpoint` | [Начало работы в песочнице](payin_and_kyc/Песочница/sandbox_intro.md) | | +| `POST` | `/api/v1/webhook-events` | [Партнёрский метод для получения вебхуков](payin_and_kyc/Вебхуки/partner-webhook.md) | | +| `POST` | `/api/v1/webhooks` | [Создание вебхука](payin_and_kyc/Вебхуки/create-webhook.md) | | +| `POST` | `/api/v1/webhooks-events` | [Проверка работы вебхука](payin_and_kyc/Песочница/check-webhook/checking_the_webhook_eg_transactions.md) | | +| `DELETE` | `/api/v1/webhooks/f9f8c674-7a2a-4297-bdb8-ddd3013de3a3?object=ul_transaction_default` | [Удаление вебхука](payin_and_kyc/Вебхуки/delete-webhook.md) | | +| `DELETE` | `/api/v1/webhooks/{id}` | [Удаление вебхука](payin_and_kyc/Вебхуки/delete-webhook.md) | | +| `PUT` | `/api/v2/webhooks/f9f8c674-7a2a-4297-bdb8-ddd3013de3a3` | [Редактирование вебхука](payin_and_kyc/Вебхуки/edit-webhook.md) | | +| `GET` | `/api/v2/webhooks/f9f8c674-7a2a-4297-bdb8-ddd3013de3a3?object=ul_transaction_default` | [Получение вебхука](payin_and_kyc/Вебхуки/get-webhook.md) | | +| `GET` | `/api/v2/webhooks/{id}` | [Получение вебхука](payin_and_kyc/Вебхуки/get-webhook.md) | | +| `PUT` | `/api/v2/webhooks/{id}` | [Редактирование вебхука](payin_and_kyc/Вебхуки/edit-webhook.md) | | +| `GET` | `/api/v2/webhooks?offset=20&limit=10&object=ul_transaction_default` | [Получение списка вебхуков](payin_and_kyc/Вебхуки/get-webhooks-list.md) | | +| `PUT` | `/filebox/secure-file-transfer.incoming-files.to-processing/12345678-90AB-CDEF-1234-1234567890AB?X-Amz-Date=20230608T152952Z&X-Amz-Expires=3600&X-Amz-Credential=secure-file-transfer%2F20230608%2Fbaas%2Fs3%2Faws4_request&X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Signature=36ef1ccf28bdf6e54710fc3c1dd235c8f383275c2bbb0c9db365da272d3c24a8` | [Загрузка файла](payin_and_kyc/Обмен_файлами/upload.md) | | +| `GET` | `/filebox/secure-file-transfer.incoming-files.to-processing/12345678-90ab-cdef-1234-1234567890ab?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Date=20230608T152952Z&X-Amz-SignedHeaders=host&X-Amz-Expires=3600&X-Amz-Credential=secure-file-transfer%2F20230608%2Fdev%2Fs3%2Faws4_request&X-Amz-Signature=e78c051fcff1017a68795620c20e50db33126ab8374c2ee9644ef4743b3625c6` | [Скачивание файла](payin_and_kyc/Обмен_файлами/download.md) | | +| `GET` | `/oidc/authorize?response_type=code&client_id=0cee0683-85ae-49f2-a63d-29f97aad1911&redirect_uri=https%3A%2F%2Fwwww.partner.ru%2Fcode&scope=openid&state=abcdef` | [Получение кода авторизации](payin_and_kyc/Alfa_ID/Authorization_Code_Flow/obtaining_an_authorization_code_GET.md) | | +| `GET` | `/oidc/authorize?response_type=code&client_id={client_id}&redirect_uri={redirect_uri}&scope={scope}&state={state}` | [Получение кода авторизации](payin_and_kyc/Alfa_ID/Authorization_Code_Flow/obtaining_an_authorization_code_GET.md) | | +| `GET` | `/oidc/authorize?response_type=code&client_id={client_id}&redirect_uri={redirect_uri}&scope={scope}&state={state}` | [Получение кода авторизации](payin_and_kyc/Alfa_ID/Authorization_Code_Flow_for_H2H_Integrations/obtaining_an_authorization_code.md) | | +| `GET` | `/oidc/authorize?response_type=code&client_id={client_id}&redirect_uri={redirect_uri}&scope={scope}&state={state}` | [Получение кода авторизации](payin_and_kyc/Alfa_ID/Authorization_Code_Flow_for_Holding_Companies/getting_authorization_token.md) | | +| `GET` | `/oidc/client-consents` | [Данные по согласиям пользователей](payin_and_kyc/Alfa_ID/expansion/client-consents_GET.md) | | +| `POST` | `/oidc/clients/{clientId}/client-secret` | [Client secret](payin_and_kyc/Подключение_к_Alfa_API/client_secret.md) | | +| `POST` | `/oidc/revoke` | [Отзыв токена доступа](payin_and_kyc/Alfa_ID/expansion/revoke-token_POST.md) | | +| `POST` | `/oidc/token` | [Обновление токена доступа](payin_and_kyc/Alfa_ID/Authorization_Code_Flow/access_token_refresh_POST.md) | | +| `POST` | `/oidc/token` | [Как использовать CCF (Client Credentials Flow)](payin_and_kyc/Alfa_ID/client_credentials_flow/how_to_use_ccf.md) | | +| `POST` | `/oidc/token` | [Обновление токена доступа](payin_and_kyc/Alfa_ID/Authorization_Code_Flow_for_H2H_Integrations/refreshing_access_token_POST.md) | | +| `POST` | `/oidc/token` | [Получение токена доступа `H2H` `POST`](payin_and_kyc/Alfa_ID/Authorization_Code_Flow_for_H2H_Integrations/geting_access_token_POST.md) | | +| `GET` | `/oidc/userinfo` | [Получение профиля представителя пользователя `B2B` `B2C`](payin_and_kyc/Alfa_ID/Authorization_Code_Flow/obtaining_a_user_representative_profile.md) | | diff --git a/_docs/alfabank/payin_and_kyc/README.md b/_docs/alfabank/payin_and_kyc/README.md new file mode 100644 index 0000000..c67249d --- /dev/null +++ b/_docs/alfabank/payin_and_kyc/README.md @@ -0,0 +1,30 @@ +# Pay-in & KYC (Alfa API / Alfa ID) + +Этот раздел содержит документацию по интеграции с банковскими сервисами Alfa-Bank для B2B, B2C и H2H сегментов. + +## Навигация по разделам + +### 🚀 [Начало работы](Подключение_к_Alfa_API/how_to_connect.md) +- [Как подключиться](Подключение_к_Alfa_API/how_to_connect.md) +- [Подписание договора](Подключение_к_Alfa_API/contract_signing.md) +- [Чек-лист готовности](Общая_информация/check-list.md) + +### 🆔 [Alfa ID](Alfa_ID/what_is_alfa_id.md) +- [Что такое Alfa ID](Alfa_ID/what_is_alfa_id.md) +- [Authorization Code Flow](Alfa_ID/Authorization_Code_Flow/how_to_use_ACF.md) +- [H2H Аутентификация](Alfa_ID/Authorization_Code_Flow_for_H2H_Integrations/How_to_use_ACF_for_H2H.md) + +### 💳 [Номинальные счета](продукты_и_сервисы/Номинальные_счета/intro.md) +- [Введение](продукты_и_сервисы/Номинальные_счета/intro.md) +- [Выплаты](продукты_и_сервисы/Номинальные_счета/Выплаты/intro.md) +- [Безопасные сделки](продукты_и_сервисы/Номинальные_счета/Безопасные_сделки/intro.md) +- [Идентификация пополнений](продукты_и_сервисы/Номинальные_счета/Идентификация_пополнений/how_it_works_intro.md) + +### 🛠 [Инструменты и Безопасность](Общая_информация/authorization.md) +- [Авторизация (API Key / Alfa ID)](Общая_информация/authorization.md) +- [Вебхуки](Вебхуки/webhooks_intro.md) +- [Транспортная подпись и шифрование](Транспортная_подпись_и_шифрование/signature-encryption-intro.md) +- [Песочница](Песочница/sandbox_intro.md) + +--- +[Все эндпоинты](../endpoints.md) diff --git a/_docs/alfabank/payin_and_kyc/Вебхуки/delete-webhook.md b/_docs/alfabank/payin_and_kyc/Вебхуки/delete-webhook.md index 56396b6..392eaf4 100644 --- a/_docs/alfabank/payin_and_kyc/Вебхуки/delete-webhook.md +++ b/_docs/alfabank/payin_and_kyc/Вебхуки/delete-webhook.md @@ -1,7 +1,6 @@ -Ниже представлен сконвертированный из HTML текст документации в формате Markdown. Все ссылки сохранены, структура таблиц и примеров кода приведена к удобному для чтения виду. - --- + # Удаление вебхука **Теги:** `B2B` `B2C` `H2H` @@ -14,7 +13,7 @@ | **Пром** | `DELETE https://baas.alfabank.ru/api/v1/webhooks/{id}` | ### Scope -`scope` события, на которое подписываетесь, с допустимыми значениями можно посмотреть [здесь](https://developers.alfabank.ru/products/alfa-api/documentation/articles/webhooks/webhooks). +`scope` события, на которое подписываетесь, с допустимыми значениями можно посмотреть [здесь](webhooks_intro.md). --- @@ -23,7 +22,7 @@ ### HEADERS | Атрибут | Тип | Обязательность | Описание | | :--- | :--- | :--- | :--- | -| **Authorization** | string | **required** | Bearer {access_token}, полученный по [Authorization Code Flow](https://developers.alfabank.ru/products/alfa-api/documentation/articles/alfa-id/articles/acf/articles/intro/intro) / [Authorization Code Flow H2H](https://developers.alfabank.ru/products/alfa-api/documentation/articles/alfa-id/articles/acf-h2h/articles/intro/intro) | +| **Authorization** | string | **required** | Bearer {access_token}, полученный по [Authorization Code Flow](../Alfa_ID/Authorization_Code_Flow/how_to_use_ACF.md) / [Authorization Code Flow H2H](../Alfa_ID/Authorization_Code_Flow_for_H2H_Integrations/How_to_use_ACF_for_H2H.md) | | **Accept** | string | **required** | `application/json` | | **Content-Type** | string | optional | `application/json` | @@ -95,4 +94,4 @@ curl -X DELETE https://baas.alfabank.ru/api/v1/webhooks/f9f8c674-7a2a-4297-bdb8- --- **Навигация:** -[← Редактирование вебхука](https://developers.alfabank.ru/products/alfa-api/documentation/articles/webhooks/articles/edit-webhook/v2/edit-webhook) | [Получение вебхука →](https://developers.alfabank.ru/products/alfa-api/documentation/articles/webhooks/articles/get-webhook/v1/get-webhook) +[← Редактирование вебхука](edit-webhook.md) | [Получение вебхука →](get-webhook.md) diff --git a/_docs/alfabank/payin_and_kyc/Общая_информация/authorization.md b/_docs/alfabank/payin_and_kyc/Общая_информация/authorization.md index 629327e..0d0fee0 100644 --- a/_docs/alfabank/payin_and_kyc/Общая_информация/authorization.md +++ b/_docs/alfabank/payin_and_kyc/Общая_информация/authorization.md @@ -23,10 +23,10 @@ Это упрощённый способ авторизации запросов без аутентификации сотрудников вашей организации, который не требует регулярного обновления ключа доступа. Подходит для выполнения операций по своей организации. Контроль безопасности обеспечивается за счёт того, что запросы принимаются только с ваших доверенных серверов. -Доступные с помощью этого способа авторизации продукты и сервисы можно посмотреть [здесь](https://developers.alfabank.ru/products/alfa-api/documentation/articles/selfservice/articles/api-key/api-key). +Доступные с помощью этого способа авторизации продукты и сервисы можно посмотреть [здесь](../API_Key/api-key.md). Использование упрощённого способа авторизации будет оптимальным вариантом, если у вас H2H-интеграция, использующая продукты и сервисы, доступные с помощью `API Key` , и вам не требуется аутентификация сотрудников для доступа к продуктам и сервисам Alfa API. Подробнее о способах авторизации можно прочитать в статьях ниже. -[Alfa ID](https://developers.alfabank.ru/products/alfa-api/documentation/articles/alfa-id/articles/intro/intro)[API Key](https://developers.alfabank.ru/products/alfa-api/documentation/articles/api-key/api-key) +[Alfa ID](../Alfa_ID/what_is_alfa_id.md) [API Key](../API_Key/api-key.md) diff --git a/_docs/alfabank/payin_and_kyc/Общая_информация/channel_protection.md b/_docs/alfabank/payin_and_kyc/Общая_информация/channel_protection.md index 59877f2..2b088dd 100644 --- a/_docs/alfabank/payin_and_kyc/Общая_информация/channel_protection.md +++ b/_docs/alfabank/payin_and_kyc/Общая_информация/channel_protection.md @@ -12,6 +12,6 @@ Шифрование канала происходит исходя из выбора метода шифрования. Это может быть: -•шифрование с применением сертификата RSA (как применить RSA-сертификат смотрите в разделе [Требования к сертификату](https://developers.alfabank.ru/products/alfa-api/documentation/articles/connection/articles/tls/tls));•шифрование с применением сертификатов ГОСТ (раздел в подготовке).Выбор того или иного метода шифрования канала определяется критичностью данных: +•шифрование с применением сертификата RSA (как применить RSA-сертификат смотрите в разделе [Требования к сертификату](../Подключение_к_Alfa_API/tls-cert.md));•шифрование с применением сертификатов ГОСТ (раздел в подготовке).Выбор того или иного метода шифрования канала определяется критичностью данных: •если персональные данные не передаются, то TLS RSA будет самым простым, дешёвым и гибким инструментом интеграции;•если персональные данные передаются, то обязательно использование сертификата ГОСТ. Партнёр API может выбирать, что использовать - TLS ГОСТ или вариант с ФПСУ ГОСТ. diff --git a/_docs/alfabank/payin_and_kyc/Общая_информация/check-list.md b/_docs/alfabank/payin_and_kyc/Общая_информация/check-list.md index fd2f5cb..1e75002 100644 --- a/_docs/alfabank/payin_and_kyc/Общая_информация/check-list.md +++ b/_docs/alfabank/payin_and_kyc/Общая_информация/check-list.md @@ -1,16 +1,16 @@ ## Чек-лист готовности к тестовой интеграции 1. **Заключите соглашение и договор** - Заключите соглашение о конфиденциальности и неразглашении информации, договор на информационно-технологическое взаимодействие с банком и подпишите приложения к нему. Подробнее в шаге 1 [инструкции по подключению](https://developers.alfabank.ru/products/alfa-api/documentation/articles/connection/articles/instruction/instruction). + Заключите соглашение о конфиденциальности и неразглашении информации, договор на информационно-технологическое взаимодействие с банком и подпишите приложения к нему. Подробнее в шаге 1 [инструкции по подключению](../Подключение_к_Alfa_API/how_to_connect.md). 2. **Получите тестовые client_id и scope** - Подробнее в шаге 2 [инструкции по подготовке к работе с песочницей](https://developers.alfabank.ru/products/alfa-api/documentation/articles/connection/articles/instruction/instruction). + Подробнее в шаге 2 [инструкции по подготовке к работе с песочницей](../Подключение_к_Alfa_API/how_to_connect.md). 3. **Установите тестовый TLS-сертификат, сертификаты Минцифры и проверьте доступ до Swagger UI** - Подробнее в шагах 3-5 [инструкции по подготовке к работе с песочницей](https://developers.alfabank.ru/products/alfa-api/documentation/articles/sandbox/sandbox). + Подробнее в шагах 3-5 [инструкции по подготовке к работе с песочницей](../Песочница/sandbox_intro.md). 4. **Получите тестовый client_secret** - Подробнее [на странице Client secret](https://developers.alfabank.ru/products/alfa-api/documentation/articles/connection/articles/clientsecret/clientsecret). + Подробнее [на странице Client secret](../Подключение_к_Alfa_API/client_secret.md). 5. **Реализуйте и протестируйте интеграцию Alfa ID и Alfa API в песочнице** @@ -21,12 +21,12 @@ 2. **Создайте интеграцию в проме на Портале разработчика** - Подробнее [на странице Создание интеграции в проме](https://developers.alfabank.ru/products/alfa-api/documentation/articles/selfservice/articles/prod/prod) + Подробнее [на странице Создание интеграции в проме](../Портал_разработчика/creating_prod_integration.md) 3. **Выпустите TLS-сертификат** - Подробнее [на странице TLS-сертификат](https://developers.alfabank.ru/products/alfa-api/documentation/articles/connection/articles/tls/tls) + Подробнее [на странице TLS-сертификат](../Подключение_к_Alfa_API/tls-cert.md) 4. **Получите client_secret** - Подробнее [на странице Client secret](https://developers.alfabank.ru/products/alfa-api/documentation/articles/connection/articles/clientsecret/clientsecret) + Подробнее [на странице Client secret](../Подключение_к_Alfa_API/client_secret.md) 5. **Начните использовать Alfa ID и Alfa API** diff --git a/_docs/alfabank/payin_and_kyc/Общая_информация/introduction.md b/_docs/alfabank/payin_and_kyc/Общая_информация/introduction.md index fea4849..02a73a6 100644 --- a/_docs/alfabank/payin_and_kyc/Общая_информация/introduction.md +++ b/_docs/alfabank/payin_and_kyc/Общая_информация/introduction.md @@ -8,9 +8,9 @@ Перед началом работы рекомендуем внимательно ознакомиться с нашей документацией, которая содержит всю необходимую информацию для успешной интеграции. -[Подключение к Alfa API](https://developers.alfabank.ru/products/alfa-api/documentation/articles/connection/connection) +[Подключение к Alfa API](../Подключение_к_Alfa_API/how_to_connect.md) -[Песочница](https://developers.alfabank.ru/products/alfa-api/documentation/articles/sandbox/sandbox) +[Песочница](../Песочница/sandbox_intro.md) ## Преимущества diff --git a/_docs/alfabank/payin_and_kyc/Общая_информация/pagination.md b/_docs/alfabank/payin_and_kyc/Общая_информация/pagination.md index c41c898..e61dc19 100644 --- a/_docs/alfabank/payin_and_kyc/Общая_информация/pagination.md +++ b/_docs/alfabank/payin_and_kyc/Общая_информация/pagination.md @@ -82,4 +82,4 @@ invalid_request Сортировка в пагинации происходит следующим образом: вверху списка возвращаются новые записи, внизу - старые записи. --- -[Версионирование](https://developers.alfabank.ru/products/alfa-api/documentation/articles/specification/articles/version/version) | [Термины и определения](https://developers.alfabank.ru/products/alfa-api/documentation/articles/specification/articles/terms/terms) +[Версионирование](vensioning.md) | [Термины и определения](terms_and_definitions.md) diff --git a/_docs/alfabank/payin_and_kyc/Общая_информация/terms_and_definitions.md b/_docs/alfabank/payin_and_kyc/Общая_информация/terms_and_definitions.md index 8d2daed..018d82c 100644 --- a/_docs/alfabank/payin_and_kyc/Общая_информация/terms_and_definitions.md +++ b/_docs/alfabank/payin_and_kyc/Общая_информация/terms_and_definitions.md @@ -61,5 +61,5 @@ **Scopes** – это общий набор операций и/или клэймов. --- -[Пагинация](https://developers.alfabank.ru/products/alfa-api/documentation/articles/specification/articles/pagination/pagination) | [Что это и для чего нужно](https://developers.alfabank.ru/products/alfa-api/documentation/articles/specification/articles/certificate/articles/intro/intro) +[Пагинация](pagination.md) | [Что это и для чего нужно](Сертификаты_Минцифры/what_it_is_and_what_it_is_for.md) diff --git a/_docs/alfabank/payin_and_kyc/Общая_информация/Сертификаты_Минцифры/for_android.md b/_docs/alfabank/payin_and_kyc/Общая_информация/Сертификаты_Минцифры/for_android.md index a083f21..ee8ca41 100644 --- a/_docs/alfabank/payin_and_kyc/Общая_информация/Сертификаты_Минцифры/for_android.md +++ b/_docs/alfabank/payin_and_kyc/Общая_информация/Сертификаты_Минцифры/for_android.md @@ -57,4 +57,4 @@ B2BB2CH2H# Сертификаты для Android Очистите кэш вашего браузераОчистите кэш браузера на устройстве, с которого осуществляется доступ. Это необходимо для корректной работы с ресурсами, защищёнными сертификатами безопасности Минцифры. -[Что это и для чего нужно](https://developers.alfabank.ru/products/alfa-api/documentation/articles/specification/articles/certificate/articles/intro/intro)[Сертификаты для iOS](https://developers.alfabank.ru/products/alfa-api/documentation/articles/specification/articles/certificate/articles/ios/ios) \ No newline at end of file +[Что это и для чего нужно](what_it_is_and_what_it_is_for.md) [Сертификаты для iOS](https://developers.alfabank.ru/products/alfa-api/documentation/articles/specification/articles/certificate/articles/ios/ios) \ No newline at end of file diff --git a/_docs/alfabank/payin_and_kyc/Общая_информация/Сертификаты_Минцифры/for_linux.md b/_docs/alfabank/payin_and_kyc/Общая_информация/Сертификаты_Минцифры/for_linux.md index ac9c0e8..3d00e76 100644 --- a/_docs/alfabank/payin_and_kyc/Общая_информация/Сертификаты_Минцифры/for_linux.md +++ b/_docs/alfabank/payin_and_kyc/Общая_информация/Сертификаты_Минцифры/for_linux.md @@ -78,4 +78,4 @@ B2BB2CH2H# Сертификаты для Linux Очистите кэш вашего браузераОчистите кэш браузера на устройстве, с которого осуществляется доступ. Это необходимо для корректной работы с ресурсами, защищёнными сертификатами безопасности Минцифры. -[Сертификаты для MacOS](https://developers.alfabank.ru/products/alfa-api/documentation/articles/specification/articles/certificate/articles/macos/macos)[Как подключить](https://developers.alfabank.ru/products/alfa-api/documentation/articles/connection/articles/instruction/instruction) \ No newline at end of file +[Сертификаты для MacOS](https://developers.alfabank.ru/products/alfa-api/documentation/articles/specification/articles/certificate/articles/macos/macos) [Как подключить](../../Подключение_к_Alfa_API/how_to_connect.md) \ No newline at end of file diff --git a/_docs/alfabank/payin_and_kyc/Общая_информация/Сертификаты_Минцифры/what_it_is_and_what_it_is_for.md b/_docs/alfabank/payin_and_kyc/Общая_информация/Сертификаты_Минцифры/what_it_is_and_what_it_is_for.md index b7cb330..3f259ea 100644 --- a/_docs/alfabank/payin_and_kyc/Общая_информация/Сертификаты_Минцифры/what_it_is_and_what_it_is_for.md +++ b/_docs/alfabank/payin_and_kyc/Общая_информация/Сертификаты_Минцифры/what_it_is_and_what_it_is_for.md @@ -19,4 +19,4 @@ Ответы на часто задаваемые вопросы можно посмотреть здесь. --- -[Термины и определения](https://developers.alfabank.ru/products/alfa-api/documentation/articles/specification/articles/terms/terms) | [Сертификаты для Android](https://developers.alfabank.ru/products/alfa-api/documentation/articles/specification/articles/certificate/articles/android/android) +[Термины и определения](../terms_and_definitions.md) | [Сертификаты для Android](for_android.md) diff --git a/_docs/alfabank/payin_and_kyc/Песочница/signature-encryption-tests/text_POST.md b/_docs/alfabank/payin_and_kyc/Песочница/signature-encryption-tests/text_POST.md index ae734af..ab95e0f 100644 --- a/_docs/alfabank/payin_and_kyc/Песочница/signature-encryption-tests/text_POST.md +++ b/_docs/alfabank/payin_and_kyc/Песочница/signature-encryption-tests/text_POST.md @@ -12,8 +12,8 @@ --- ### Описание процесса -* **RSA-сертификат:** Процесс формирования и подписания описан [здесь](https://developers.alfabank.ru/products/alfa-api/documentation/articles/signature-encryption/articles/signature/articles/text-rsa/text-rsa), а шифрования — [здесь](https://developers.alfabank.ru/products/alfa-api/documentation/articles/signature-encryption/articles/encryption/articles/text-rsa/text-rsa). -* **ГОСТ-сертификат:** Процесс формирования и подписания описан [здесь](https://developers.alfabank.ru/products/alfa-api/documentation/articles/signature-encryption/articles/signature/articles/text-gost/text-gost), а шифрования — [здесь](https://developers.alfabank.ru/products/alfa-api/documentation/articles/signature-encryption/articles/encryption/articles/text-gost/text-gost). +* **RSA-сертификат:** Процесс формирования и подписания описан [здесь](../../Транспортная_подпись_и_шифрование/transport-signature/json-rsa.md), а шифрования — [здесь](../../Транспортная_подпись_и_шифрование/encription/json-rsa.md). +* **ГОСТ-сертификат:** Процесс формирования и подписания описан [здесь](../../Транспортная_подпись_и_шифрование/transport-signature/json-ghost.md), а шифрования — [здесь](../../Транспортная_подпись_и_шифрование/encription/json-ghost.md). * **Тестирование:** Подписание запроса и дешифрование ответа происходит с использованием закрытого ключа. Для тестов используйте [закрытый ключ](https://developers.alfabank.ru/assets/developers-portal.docs.alfa-api/articles/sandbox/articles/signature/articles/text/v1/files/sandbox_alfa_test_jwt_2026.zip) (пароль уточняйте у персонального менеджера). > **⚠️ Внимание** diff --git a/_docs/alfabank/payin_and_kyc/Подключение_к_Alfa_API/how_to_connect.md b/_docs/alfabank/payin_and_kyc/Подключение_к_Alfa_API/how_to_connect.md index 894e053..6b0273e 100644 --- a/_docs/alfabank/payin_and_kyc/Подключение_к_Alfa_API/how_to_connect.md +++ b/_docs/alfabank/payin_and_kyc/Подключение_к_Alfa_API/how_to_connect.md @@ -8,19 +8,19 @@ > Если вы ещё не являетесь клиентом Альфа-Банка, то для подключения к Alfa API вам необходимо открыть [счёт](https://alfabank.ru/sme/quick/docstariffs/), оформить [расчётно-кассовое обслуживание](https://alfabank.ru/sme/) и подключить [Альфа-Бизнес](https://alfabank.ru/corporate/rko/internet-bank/#form). 1. **Подпишите договор** - [Подпишите договор](https://developers.alfabank.ru/products/alfa-api/documentation/articles/connection/articles/onboarding/onboarding). + [Подпишите договор](contract_signing.md). - Комиссия за подключение и использование не взимается. Вопросы по заключению договора можно направлять на почту [alfa_api@alfabank.ru](https://developers.alfabank.rumailto:alfa_api@alfabank.ru). + Комиссия за подключение и использование не взимается. Вопросы по заключению договора можно направлять на почту [alfa_api@alfabank.ru](mailto:alfa_api@alfabank.ru). 2. **Проверьте тестовую интеграцию** - Получите тестовые учётные данные и настройте тестовую интеграцию [на Портале разработчика](https://developers.alfabank.ru/products/alfa-api/documentation/articles/selfservice/articles/test/test), реализуйте и протестируйте аутентификацию в Alfa ID и вызов методов Alfa API [в песочнице](https://developers.alfabank.ru/products/alfa-api/documentation/articles/sandbox/sandbox). + Получите тестовые учётные данные и настройте тестовую интеграцию [на Портале разработчика](../Портал_разработчика/testing.md), реализуйте и протестируйте аутентификацию в Alfa ID и вызов методов Alfa API [в песочнице](../Песочница/sandbox_intro.md). 3. **Подготовьтесь к промышленной интеграции** - Создайте интеграцию в проме, выпустите TLS-сертификат и `client_secret` . Подробнее [в инструкции](https://developers.alfabank.ru/products/alfa-api/documentation/articles/selfservice/articles/prod/prod). + Создайте интеграцию в проме, выпустите TLS-сертификат и `client_secret` . Подробнее [в инструкции](../Портал_разработчика/creating_prod_integration.md). 4. **Используйте Alfa API** Если вы ещё не являетесь клиентом Альфа-Банка, то для подключения к Alfa API вам необходимо открыть [счёт](https://alfabank.ru/sme/quick/docstariffs/), оформить [расчётно-кассовое обслуживание](https://alfabank.ru/sme/) и подключить [Альфа-Бизнес](https://alfabank.ru/corporate/rko/internet-bank/#form). --- -[← Сертификаты для Linux](https://developers.alfabank.ru/products/alfa-api/documentation/articles/specification/articles/certificate/articles/linux/linux) [← Подписание договора](https://developers.alfabank.ru/products/alfa-api/documentation/articles/connection/articles/onboarding/onboarding) +[← Сертификаты для Linux](../Общая_информация/Сертификаты_Минцифры/for_linux.md) [← Подписание договора](contract_signing.md) diff --git a/_docs/alfabank/payin_and_kyc/продукты_и_сервисы/Номинальные_счета/Безопасные_сделки/get-step.md b/_docs/alfabank/payin_and_kyc/продукты_и_сервисы/Номинальные_счета/Безопасные_сделки/get-step.md index 470c1c9..5abbed9 100644 --- a/_docs/alfabank/payin_and_kyc/продукты_и_сервисы/Номинальные_счета/Безопасные_сделки/get-step.md +++ b/_docs/alfabank/payin_and_kyc/продукты_и_сервисы/Номинальные_счета/Безопасные_сделки/get-step.md @@ -22,7 +22,7 @@ | Атрибут | Тип | Обязательность | Описание | | :---------------- | :----- | :------------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| **Authorization** | string | required | Bearer {access_token}, полученный по [Authorization Code Flow H2H](https://developers.alfabank.ru/products/alfa-api/documentation/articles/alfa-id/articles/acf-h2h/articles/intro/intro) | +| **Authorization** | string | required | Bearer {access_token}, полученный по [Authorization Code Flow H2H](../../../../Alfa_ID/Authorization_Code_Flow_for_H2H_Integrations/How_to_use_ACF_for_H2H.md) | | **Accept** | string | required | application/json | ### PATH (Путь) diff --git a/_docs/alfabank/payin_and_kyc/продукты_и_сервисы/Номинальные_счета/Выплаты/intro.md b/_docs/alfabank/payin_and_kyc/продукты_и_сервисы/Номинальные_счета/Выплаты/intro.md index c5db172..6e5db3d 100644 --- a/_docs/alfabank/payin_and_kyc/продукты_и_сервисы/Номинальные_счета/Выплаты/intro.md +++ b/_docs/alfabank/payin_and_kyc/продукты_и_сервисы/Номинальные_счета/Выплаты/intro.md @@ -2,22 +2,22 @@ _Номинальные счета / Выплаты / Как это работает_ -Для осуществления выплат с номинального счёта предварительно необходимо [зарегистрировать контрагента](https://developers.alfabank.ru/products/alfa-api/documentation/articles/nominal-accounts/articles/counterparties/articles/intro/intro), участвующего в выплате. +Для осуществления выплат с номинального счёта предварительно необходимо [зарегистрировать контрагента](../Контрагенты/intro.md), участвующего в выплате. ## Общий механизм выплат с номинального счёта 1. **Создайте запрос на выплату** - Метод [«Создание запроса на выплату с номинального счёта»](https://developers.alfabank.ru/products/alfa-api/documentation/articles/nominal-accounts/articles/na-payments/articles/payoff/v1/payoff) + Метод [«Создание запроса на выплату с номинального счёта»](payoff.md) 2. **Получите статус запроса на выплату** - Метод [«Получение статуса запроса на выплату с номинального счёта»](https://developers.alfabank.ru/products/alfa-api/documentation/articles/nominal-accounts/articles/na-payments/articles/get-payoff-request-status/v1/get-payoff-request-status) + Метод [«Получение статуса запроса на выплату с номинального счёта»](get-payoff-request-status.md) 3. **Подтвердите или отклоните обработку запроса-дубля на выплату** В случае, если статус запроса на выплату уже был создан ранее, он примет статус `MANUAL_ACCEPTANCE` и его нужно будет подтвердить или отклонить. - Метод [«Подтвердить или отклонить запрос-дубль на выплату»](https://developers.alfabank.ru/products/alfa-api/documentation/articles/nominal-accounts/articles/na-payments/articles/payoff-accept/v1/payoff-accept) + Метод [«Подтвердить или отклонить запрос-дубль на выплату»](payoff-accept.md) 4. **Получите информацию о платеже по его идентификатору** - Метод [«Получение информации о платеже»](https://developers.alfabank.ru/products/alfa-api/documentation/articles/nominal-accounts/articles/na-payments/articles/get-payoff/v1/get-payoff) + Метод [«Получение информации о платеже»](get-payoff.md) --- @@ -33,13 +33,13 @@ _Номинальные счета / Выплаты / Как это работа Необходимо учитывать: - На номинальном счёте должен быть положительный баланс. -- Если выплата производится в пользу универсального реципиента, то для него предварительно необходимо зарегистрировать платёжные реквизиты с помощью метода [«Добавление платёжных реквизитов универсального реципиента»](https://developers.alfabank.ru/products/alfa-api/documentation/articles/nominal-accounts/articles/counterparties/articles/universal-recipients/articles/add-requisites/v1/add-requisites). +- Если выплата производится в пользу универсального реципиента, то для него предварительно необходимо зарегистрировать платёжные реквизиты с помощью метода [«Добавление платёжных реквизитов универсального реципиента»](../Контрагенты/Универсальные_реципиенты/add-requisites.md). В качестве платёжных реквизитов получателя могут быть указаны: - реквизиты счёта; - номер телефона (СБП); -- зашифрованный номер карты (как зашифровать номер карты, описано [здесь](https://developers.alfabank.ru/products/alfa-api/documentation/articles/nominal-accounts/articles/cardtoken/cardtoken)); +- зашифрованный номер карты (как зашифровать номер карты, описано [здесь](../how-to-encrypt-your-card-number-eg-cardtoken.md)); - идентификатор платёжных реквизитов контрагента. ## Выплаты с биллингом на стороне Банка @@ -55,11 +55,11 @@ _Номинальные счета / Выплаты / Как это работа ### Механизм возврата денежных средств с налогового виртуального кошелька 1. **Создайте запрос на возврат денежных средств с налогового виртуального кошелька** - Метод [«Создание запроса на возврат денежных средств с налогового виртуального кошелька»](https://developers.alfabank.ru/products/alfa-api/documentation/articles/nominal-accounts/articles/na-payments/articles/tax-refund/v1/tax-refund) + Метод [«Создание запроса на возврат денежных средств с налогового виртуального кошелька»](tax-refund.md) 2. **Получите статус запроса на возврат налоговых денежных средств** - Метод [«Получение статуса запроса на возврат налоговых денежных средств»](https://developers.alfabank.ru/products/alfa-api/documentation/articles/nominal-accounts/articles/na-payments/articles/get-tax-refund-request-status/v1/get-tax-refund-request-status) + Метод [«Получение статуса запроса на возврат налоговых денежных средств»](get-tax-refund-request-status.md) 3. **Подтвердите или отклоните обработку запроса-дубля на возврат денежных средств с налогового виртуального кошелька** В случае, если статус запроса на выплату уже был создан ранее, он примет статус `MANUAL_ACCEPTANCE` и его нужно будет подтвердить или отклонить. - Метод [«Подтверждение или отклонение запроса-дубля на возврат денежных средств с налогового виртуального кошелька»](https://developers.alfabank.ru/products/alfa-api/documentation/articles/nominal-accounts/articles/na-payments/articles/tax-refund-accept/v1/tax-refund-accept) + Метод [«Подтверждение или отклонение запроса-дубля на возврат денежных средств с налогового виртуального кошелька»](tax-refund-accept.md) diff --git a/_docs/alfabank/payin_and_kyc/продукты_и_сервисы/Номинальные_счета/Выплаты/tax-refund-accept.md b/_docs/alfabank/payin_and_kyc/продукты_и_сервисы/Номинальные_счета/Выплаты/tax-refund-accept.md index 7d70d45..e4223e3 100644 --- a/_docs/alfabank/payin_and_kyc/продукты_и_сервисы/Номинальные_счета/Выплаты/tax-refund-accept.md +++ b/_docs/alfabank/payin_and_kyc/продукты_и_сервисы/Номинальные_счета/Выплаты/tax-refund-accept.md @@ -27,7 +27,7 @@ | Атрибут | Тип | Обязательность | Описание | | :---------------- | :----- | :------------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| **Authorization** | string | required | Bearer {access_token}, полученный по [Authorization Code Flow H2H](https://developers.alfabank.ru/products/alfa-api/documentation/articles/alfa-id/articles/acf-h2h/articles/intro/intro) | +| **Authorization** | string | required | Bearer {access_token}, полученный по [Authorization Code Flow H2H](../../../../Alfa_ID/Authorization_Code_Flow_for_H2H_Integrations/How_to_use_ACF_for_H2H.md) | | **Accept** | string | required | `application/json` | ### PATH (Путь) @@ -90,5 +90,5 @@ curl --location --globoff --request PATCH \ ## Навигация -- **Предыдущий шаг:** [Получение статуса запроса на возврат налоговых денежных средств](https://developers.alfabank.ru/products/alfa-api/documentation/articles/nominal-accounts/articles/na-payments/articles/get-tax-refund-request-status/v1/get-tax-refund-request-status) +- **Предыдущий шаг:** [Получение статуса запроса на возврат налоговых денежных средств](get-tax-refund-request-status.md) - **Раздел:** Номинальные счета / Выплаты diff --git a/_docs/alfabank/payin_and_kyc/продукты_и_сервисы/Номинальные_счета/Идентификация_пополнений/identify.md b/_docs/alfabank/payin_and_kyc/продукты_и_сервисы/Номинальные_счета/Идентификация_пополнений/identify.md index 1efcda2..9b82937 100644 --- a/_docs/alfabank/payin_and_kyc/продукты_и_сервисы/Номинальные_счета/Идентификация_пополнений/identify.md +++ b/_docs/alfabank/payin_and_kyc/продукты_и_сервисы/Номинальные_счета/Идентификация_пополнений/identify.md @@ -1,7 +1,6 @@ -Вот очищенная и структурированная версия документации в формате Markdown: - # Создание запроса на идентификацию пополнения номинального счёта + **Тип интеграции:** H2H ## Эндпоинты @@ -27,7 +26,7 @@ ### HEADERS | Атрибут | Тип | Обяз. | Описание | | :--- | :--- | :--- | :--- | -| **Authorization** | string | Да | Bearer {access_token}, полученный по [Authorization Code Flow H2H](https://developers.alfabank.ru/products/alfa-api/documentation/articles/alfa-id/articles/acf-h2h/articles/intro/intro) | +| **Authorization** | string | Да | Bearer {access_token}, полученный по [Authorization Code Flow H2H](../../../../Alfa_ID/Authorization_Code_Flow_for_H2H_Integrations/How_to_use_ACF_for_H2H.md) | | **Accept** | string | Да | application/json | | **Content-Type** | string | Да | application/json | @@ -104,5 +103,5 @@ curl --location --globoff 'https://baas.alfabank.ru/api/na/jp/v1/unidentified-tr --- **Навигация:** -* [Предыдущая: Получение списка неидентифицированных пополнений](https://developers.alfabank.ru/products/alfa-api/documentation/articles/nominal-accounts/articles/identify-transactions/articles/get-unidentified-transactions/v1/get-unidentified-transactions) -* [Следующая: Получение статуса запроса на идентификацию](https://developers.alfabank.ru/products/alfa-api/documentation/articles/nominal-accounts/articles/identify-transactions/articles/get-identify-request-status/v1/get-identify-request-status) +* [Предыдущая: Получение списка неидентифицированных пополнений](get-unidentified-transactions.md) +* [Следующая: Получение статуса запроса на идентификацию](get-identify-request-status.md) diff --git a/_docs/alfabank/payin_and_kyc/продукты_и_сервисы/Номинальные_счета/Контрагенты/Бенефициары/beneficiary-scoring.md b/_docs/alfabank/payin_and_kyc/продукты_и_сервисы/Номинальные_счета/Контрагенты/Бенефициары/beneficiary-scoring.md index d4bd53b..e1bb89b 100644 --- a/_docs/alfabank/payin_and_kyc/продукты_и_сервисы/Номинальные_счета/Контрагенты/Бенефициары/beneficiary-scoring.md +++ b/_docs/alfabank/payin_and_kyc/продукты_и_сервисы/Номинальные_счета/Контрагенты/Бенефициары/beneficiary-scoring.md @@ -28,7 +28,7 @@ | Атрибут | Тип | Обязательность | Описание | | :---------------- | :------- | :------------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| **Authorization** | `string` | required | Bearer {access_token}, полученный по [Authorization Code Flow H2H](https://developers.alfabank.ru/products/alfa-api/documentation/articles/alfa-id/articles/acf-h2h/articles/intro/intro) | +| **Authorization** | `string` | required | Bearer {access_token}, полученный по [Authorization Code Flow H2H](../../../../../Alfa_ID/Authorization_Code_Flow_for_H2H_Integrations/How_to_use_ACF_for_H2H.md) | | **Accept** | `string` | required | `application/json` | ### PATH @@ -86,5 +86,5 @@ curl --location --globoff --request POST 'https://baas.alfabank.ru/api/na/jp/v1/ ## Навигация -- **Предыдущий метод:** [Создание запроса на изменение информации о бенефициаре](https://developers.alfabank.ru/products/alfa-api/documentation/articles/nominal-accounts/articles/counterparties/articles/beneficiaries/articles/change-beneficiary/v1/change-beneficiary) -- **Следующий метод:** [Добавление платёжных реквизитов бенефициара](https://developers.alfabank.ru/products/alfa-api/documentation/articles/nominal-accounts/articles/counterparties/articles/beneficiaries/articles/add-requisites/v1/add-requisites) +- **Предыдущий метод:** [Создание запроса на изменение информации о бенефициаре](change-beneficiary.md) +- **Следующий метод:** [Добавление платёжных реквизитов бенефициара](add-requisites.md) diff --git a/_docs/alfabank/payin_and_kyc/продукты_и_сервисы/Номинальные_счета/Контрагенты/Универсальные_реципиенты/add-universal_recipient.md b/_docs/alfabank/payin_and_kyc/продукты_и_сервисы/Номинальные_счета/Контрагенты/Универсальные_реципиенты/add-universal_recipient.md index 607293b..8211bb3 100644 --- a/_docs/alfabank/payin_and_kyc/продукты_и_сервисы/Номинальные_счета/Контрагенты/Универсальные_реципиенты/add-universal_recipient.md +++ b/_docs/alfabank/payin_and_kyc/продукты_и_сервисы/Номинальные_счета/Контрагенты/Универсальные_реципиенты/add-universal_recipient.md @@ -24,7 +24,7 @@ ### HEADERS | Атрибут | Тип | Обяз. | Описание | | :--- | :--- | :--- | :--- | -| **Authorization** | string | Да | Bearer {access_token}, полученный по [Authorization Code Flow H2H](https://developers.alfabank.ru/products/alfa-api/documentation/articles/alfa-id/articles/acf-h2h/articles/intro/intro) | +| **Authorization** | string | Да | Bearer {access_token}, полученный по [Authorization Code Flow H2H](../../../../../Alfa_ID/Authorization_Code_Flow_for_H2H_Integrations/How_to_use_ACF_for_H2H.md) | | **Accept** | string | Да | `application/json` | | **Content-Type** | string | Да | `application/json` | @@ -99,5 +99,5 @@ curl --location 'https://baas.alfabank.ru/api/na/jp/v1/universal-recipients' \ --- **Навигация:** -* Предыдущая статья: [Получение списка денежных операций бенефициара](https://developers.alfabank.ru/products/alfa-api/documentation/articles/nominal-accounts/articles/counterparties/articles/beneficiaries/articles/get-transactions/v1/get-transactions) -* Следующая статья: [Получение списка универсальных реципиентов номинального счёта](https://developers.alfabank.ru/products/alfa-api/documentation/articles/nominal-accounts/articles/counterparties/articles/universal-recipients/articles/get-urs/v1/get-urs) +* Предыдущая статья: [Получение списка денежных операций бенефициара](../Бенефициары/get-transactions.md) +* Следующая статья: [Получение списка универсальных реципиентов номинального счёта](get-universal_recipients_list.md) diff --git a/_docs/alfabank/qr_payout/0_full.md b/_docs/alfabank/qr_payout/0_full.md index 8f62cd6..e34110b 100644 --- a/_docs/alfabank/qr_payout/0_full.md +++ b/_docs/alfabank/qr_payout/0_full.md @@ -1,8 +1,20 @@ ## Главная ### Инструкция по интеграции СБП C2B (Альфа-Банк) +## Содержание +- [Обзор API](#1-обзор-api) +- [Процесс аутентификации](#2-процесс-аутентификации) +- [Тестирование](#3-тестирование) +- [Как провести тестовую оплату](#4-как-провести-тестовую-оплату) +- [Получение статуса платежа](#5-получение-статуса-платежа) +- [Переход на промышленную среду](#6-переход-на-промышленную-среду) +- [Статический QR-код](#статический-qr-код-сбп) +- [Динамический QR-код](#интеграция-динамических-qr-кодов-сбп) +- [Кассовая платёжная ссылка](#кассовая-платёжная-ссылка-сбп-техническая-документация) + Добро пожаловать в руководство по прямой интеграции с платежным шлюзом (ПШ) Альфа-Банка для реализации сервиса СБП C2B. + --- ### ⚠️ Важное объявление (Изменение адресов) diff --git a/_docs/laravel-libs/laravel-data/advanced-usage/available-property-mappers.md b/_docs/laravel-libs/laravel-data/advanced-usage/available-property-mappers.md index b64704d..f76a3c7 100644 --- a/_docs/laravel-libs/laravel-data/advanced-usage/available-property-mappers.md +++ b/_docs/laravel-libs/laravel-data/advanced-usage/available-property-mappers.md @@ -3,8 +3,8 @@ title: Available property mappers weight: 19 --- -In previous sections we've already seen how to [create](/docs/laravel-data/v4/as-a-data-transfer-object/mapping-property-names) data objects where the keys of the -payload differ from the property names of the data object. It is also possible to [transform](/docs/laravel-data/v4/as-a-resource/mapping-property-names) data objects to an array/json/... where the keys of the payload differ +In previous sections we've already seen how to [create](../as-a-data-transfer-object/mapping-property-names.md) data objects where the keys of the +payload differ from the property names of the data object. It is also possible to [transform](../as-a-resource/mapping-property-names.md) data objects to an array/json/... where the keys of the payload differ from the property names of the data object. These mappings can be set manually put the package also provide a set of mappers that can be used to automatically map diff --git a/_docs/laravel-libs/laravel-data/advanced-usage/creating-a-cast.md b/_docs/laravel-libs/laravel-data/advanced-usage/creating-a-cast.md index 5929c6b..db9e59f 100644 --- a/_docs/laravel-libs/laravel-data/advanced-usage/creating-a-cast.md +++ b/_docs/laravel-libs/laravel-data/advanced-usage/creating-a-cast.md @@ -16,7 +16,7 @@ interface Cast A cast receives the following: -- **property** a `DataProperty` object which represents the property for which the value is cast. You can read more about the internal structures of the package [here](/docs/laravel-data/v4/advanced-usage/internal-structures) +- **property** a `DataProperty` object which represents the property for which the value is cast. You can read more about the internal structures of the package [here](../advanced-usage/internal-structures.md) - **value** the value that should be cast - **properties** an array of the current properties that will be used to create the data object - **creationContext** the context in which the data object is being created you'll find the following info here: diff --git a/_docs/laravel-libs/laravel-data/advanced-usage/creating-a-rule-inferrer.md b/_docs/laravel-libs/laravel-data/advanced-usage/creating-a-rule-inferrer.md index be6cfa2..a1d3777 100644 --- a/_docs/laravel-libs/laravel-data/advanced-usage/creating-a-rule-inferrer.md +++ b/_docs/laravel-libs/laravel-data/advanced-usage/creating-a-rule-inferrer.md @@ -14,7 +14,7 @@ interface RuleInferrer } ``` -A collection of previous inferred rules is given, and a `DataProperty` object which represents the property for which the value is transformed. You can read more about the internal structures of the package [here](/docs/laravel-data/v4/advanced-usage/internal-structures). +A collection of previous inferred rules is given, and a `DataProperty` object which represents the property for which the value is transformed. You can read more about the internal structures of the package [here](../advanced-usage/internal-structures.md). The `ValidationContext` is also injected, this contains the following info: diff --git a/_docs/laravel-libs/laravel-data/advanced-usage/creating-a-transformer.md b/_docs/laravel-libs/laravel-data/advanced-usage/creating-a-transformer.md index 7555958..1dde397 100644 --- a/_docs/laravel-libs/laravel-data/advanced-usage/creating-a-transformer.md +++ b/_docs/laravel-libs/laravel-data/advanced-usage/creating-a-transformer.md @@ -16,7 +16,7 @@ interface Transformer The following parameters are provided: -- **property**: a `DataProperty` object which represents the property for which the value is transformed. You can read more about the internal structures of the package [here](/docs/laravel-data/v4/advanced-usage/internal-structures) +- **property**: a `DataProperty` object which represents the property for which the value is transformed. You can read more about the internal structures of the package [here](../advanced-usage/internal-structures.md) - **value**: the value that should be transformed, this will never be `null` - **context**: a `TransformationContext` object which contains the current transformation context with the following properties: - **transformValues** indicates if values should be transformed or not diff --git a/_docs/laravel-libs/laravel-data/advanced-usage/pipeline.md b/_docs/laravel-libs/laravel-data/advanced-usage/pipeline.md index e2aec83..218f5e0 100644 --- a/_docs/laravel-libs/laravel-data/advanced-usage/pipeline.md +++ b/_docs/laravel-libs/laravel-data/advanced-usage/pipeline.md @@ -57,7 +57,7 @@ The `handle` method has several arguments: - **payload** the non normalized payload - **class** the `DataClass` object for the data - object [more info](/docs/laravel-data/v4/advanced-usage/internal-structures) + object [more info](../advanced-usage/internal-structures.md) - **properties** the key-value properties which will be used to construct the data object - **creationContext** the context in which the data object is being created you'll find the following info here: - **dataClass** the data class which is being created diff --git a/_docs/laravel-libs/laravel-data/as-a-data-transfer-object/casts.md b/_docs/laravel-libs/laravel-data/as-a-data-transfer-object/casts.md index cfadf33..2225b7f 100644 --- a/_docs/laravel-libs/laravel-data/as-a-data-transfer-object/casts.md +++ b/_docs/laravel-libs/laravel-data/as-a-data-transfer-object/casts.md @@ -118,7 +118,7 @@ Tip: we can also remove the `EnumCast` since the package will automatically cast ## Creating your own casts -It is possible to create your casts. You can read more about this in the [advanced chapter](/docs/laravel-data/v4/advanced-usage/creating-a-cast). +It is possible to create your casts. You can read more about this in the [advanced chapter](../advanced-usage/creating-a-cast.md). ## Casting arrays or collections of non-data types diff --git a/_docs/laravel-libs/laravel-data/as-a-data-transfer-object/creating-a-data-object.md b/_docs/laravel-libs/laravel-data/as-a-data-transfer-object/creating-a-data-object.md index ca60c60..686bc27 100644 --- a/_docs/laravel-libs/laravel-data/as-a-data-transfer-object/creating-a-data-object.md +++ b/_docs/laravel-libs/laravel-data/as-a-data-transfer-object/creating-a-data-object.md @@ -162,7 +162,7 @@ will try to create itself from the following types: - An *array* This list can be extended using extra normalizers, find more about -it [here](/docs/laravel-data/v4/advanced-usage/normalizers). +it [here](../advanced-usage/normalizers.md). When a data object cannot be created using magical methods or the default methods, a `CannotCreateData` exception will be thrown. @@ -190,7 +190,7 @@ SongData::factory()->withoutMagicalCreation()->from($song); ## Advanced creation using factories It is possible to configure how a data object is created, whether it will be validated, which casts to use and more. You -can read more about it [here](/docs/laravel-data/v4/as-a-data-transfer-object/factories). +can read more about it [here](../as-a-data-transfer-object/factories.md). ## DTO classes diff --git a/_docs/laravel-libs/laravel-data/as-a-data-transfer-object/factories.md b/_docs/laravel-libs/laravel-data/as-a-data-transfer-object/factories.md index 651db34..142bc40 100644 --- a/_docs/laravel-libs/laravel-data/as-a-data-transfer-object/factories.md +++ b/_docs/laravel-libs/laravel-data/as-a-data-transfer-object/factories.md @@ -22,7 +22,7 @@ SongData::factory()->collect(Song::all()) ## Disable property name mapping -We saw [earlier](/docs/laravel-data/v4/as-a-data-transfer-object/mapping-property-names) that it is possible to map +We saw [earlier](../as-a-data-transfer-object/mapping-property-names.md) that it is possible to map property names when creating a data object from an array. This can be disabled when using a factory: ```php @@ -47,7 +47,7 @@ SongData::factory()->withoutValidation()->from(['title' => 'Never gonna give you ## Disabling magic methods A data object can be created -using [magic methods](/docs/laravel-data/v4/as-a-data-transfer-object/creating-a-data-object.md#magical-creation) , this can be disabled +using [magic methods](../as-a-data-transfer-object/creating-a-data-object.md.md#magical-creation) , this can be disabled when using a factory: ```php @@ -136,4 +136,4 @@ class SongData extends Data } ``` -You can read more about creation contexts [here](/docs/laravel-data/v4/advanced-usage/pipeline). +You can read more about creation contexts [here](../advanced-usage/pipeline.md). diff --git a/_docs/laravel-libs/laravel-data/as-a-data-transfer-object/mapping-property-names.md b/_docs/laravel-libs/laravel-data/as-a-data-transfer-object/mapping-property-names.md index 2251ec2..e4f922d 100644 --- a/_docs/laravel-libs/laravel-data/as-a-data-transfer-object/mapping-property-names.md +++ b/_docs/laravel-libs/laravel-data/as-a-data-transfer-object/mapping-property-names.md @@ -37,7 +37,7 @@ class ContractData extends Data } ``` -You can also use the `MapName` attribute when you want to combine input (see [transforming data objects](/docs/laravel-data/v4/as-a-resource/mapping-property-names)) and output property name mapping: +You can also use the `MapName` attribute when you want to combine input (see [transforming data objects](../as-a-resource/mapping-property-names.md)) and output property name mapping: ```php #[MapName(SnakeCaseMapper::class)] @@ -91,4 +91,4 @@ SongData::from([ ]); ``` -The package has a set of default mappers available, you can find them [here](/docs/laravel-data/v4/advanced-usage/available-property-mappers). +The package has a set of default mappers available, you can find them [here](../advanced-usage/available-property-mappers.md). diff --git a/_docs/laravel-libs/laravel-data/as-a-data-transfer-object/optional-properties.md b/_docs/laravel-libs/laravel-data/as-a-data-transfer-object/optional-properties.md index 81460ba..f96ff72 100644 --- a/_docs/laravel-libs/laravel-data/as-a-data-transfer-object/optional-properties.md +++ b/_docs/laravel-libs/laravel-data/as-a-data-transfer-object/optional-properties.md @@ -68,4 +68,4 @@ SongData::factory() ->from(['title' => 'Never gonna give you up']); // artist will `null` instead of `Optional` ``` -You can read more about this [here](/docs/laravel-data/v4/as-a-data-transfer-object/factories#disabling-optional-values). +You can read more about this [here](../as-a-data-transfer-object/factories.md#disabling-optional-values). diff --git a/_docs/laravel-libs/laravel-data/as-a-data-transfer-object/request-to-data-object.md b/_docs/laravel-libs/laravel-data/as-a-data-transfer-object/request-to-data-object.md index 53f77f0..889def8 100644 --- a/_docs/laravel-libs/laravel-data/as-a-data-transfer-object/request-to-data-object.md +++ b/_docs/laravel-libs/laravel-data/as-a-data-transfer-object/request-to-data-object.md @@ -63,7 +63,7 @@ class UpdateSongController } ``` -We have a complete section within these docs dedicated to validation, you can find it [here](/docs/laravel-data/v4/validation/introduction). +We have a complete section within these docs dedicated to validation, you can find it [here](../validation/introduction.md). ## Getting the data object filled with request data from anywhere diff --git a/_docs/laravel-libs/laravel-data/as-a-resource/from-data-to-array.md b/_docs/laravel-libs/laravel-data/as-a-resource/from-data-to-array.md index 58138df..1fc1c8e 100644 --- a/_docs/laravel-libs/laravel-data/as-a-resource/from-data-to-array.md +++ b/_docs/laravel-libs/laravel-data/as-a-resource/from-data-to-array.md @@ -18,7 +18,7 @@ Which will output the following array: ] ``` -By default, calling `toArray` on a data object will recursively transform all properties to an array. This means that nested data objects and collections of data objects will also be transformed to arrays. Other complex types like `Carbon`, `DateTime`, `Enums`, etc... will be transformed into a string. We'll see in the [transformers](/docs/laravel-data/v4/as-a-resource/transformers) section how to configure and customize this behavior. +By default, calling `toArray` on a data object will recursively transform all properties to an array. This means that nested data objects and collections of data objects will also be transformed to arrays. Other complex types like `Carbon`, `DateTime`, `Enums`, etc... will be transformed into a string. We'll see in the [transformers](../as-a-resource/transformers.md) section how to configure and customize this behavior. If you only want to transform a data object to an array without transforming the properties, you can call the `all` method: diff --git a/_docs/laravel-libs/laravel-data/as-a-resource/mapping-property-names.md b/_docs/laravel-libs/laravel-data/as-a-resource/mapping-property-names.md index c21faff..8585604 100644 --- a/_docs/laravel-libs/laravel-data/as-a-resource/mapping-property-names.md +++ b/_docs/laravel-libs/laravel-data/as-a-resource/mapping-property-names.md @@ -81,4 +81,4 @@ And a transformed version of the data object will look like this: ] ``` -The package has a set of default mappers available, you can find them [here](/docs/laravel-data/v4/advanced-usage/available-property-mappers). +The package has a set of default mappers available, you can find them [here](../advanced-usage/available-property-mappers.md). diff --git a/_docs/laravel-libs/laravel-data/as-a-resource/transformers.md b/_docs/laravel-libs/laravel-data/as-a-resource/transformers.md index 7d778b4..357ff43 100644 --- a/_docs/laravel-libs/laravel-data/as-a-resource/transformers.md +++ b/_docs/laravel-libs/laravel-data/as-a-resource/transformers.md @@ -43,7 +43,7 @@ class ArtistData extends Data{ Next to a `DateTimeInterfaceTransformer` the package also ships with an `ArrayableTransformer` that transforms an `Arrayable` object to an array. -It is possible to create transformers for your specific types. You can find more info [here](/docs/laravel-data/v4/advanced-usage/creating-a-transformer). +It is possible to create transformers for your specific types. You can find more info [here](../advanced-usage/creating-a-transformer.md). ## Global transformers @@ -114,7 +114,7 @@ Outputting the following array: ] ``` -The [mapping of property names](/docs/laravel-data/v4/as-a-resource/mapping-property-names) can also be disabled: +The [mapping of property names](../as-a-resource/mapping-property-names.md) can also be disabled: ```php ArtistData::from($artist)->transform( @@ -122,7 +122,7 @@ ArtistData::from($artist)->transform( ); ``` -It is possible to enable [wrapping](/docs/laravel-data/v4/as-a-resource/wrapping-data) the data object: +It is possible to enable [wrapping](../as-a-resource/wrapping-data.md) the data object: ```php use Spatie\LaravelData\Support\Wrapping\WrapExecutionType; diff --git a/_docs/laravel-libs/laravel-data/getting-started/quickstart.md b/_docs/laravel-libs/laravel-data/getting-started/quickstart.md index 5b89492..1c20d3a 100644 --- a/_docs/laravel-libs/laravel-data/getting-started/quickstart.md +++ b/_docs/laravel-libs/laravel-data/getting-started/quickstart.md @@ -5,7 +5,19 @@ weight: 1 In this quickstart, we'll guide you through the most important functionalities of the package and how to use them. -First, you should [install the package](/docs/laravel-data/v4/installation-setup). +## Table of Contents +- [Using requests](#using-requests) +- [Casting data](#casting-data) +- [Customizing the creation of a data object](#customizing-the-creation-of-a-data-object) +- [Nesting data objects and arrays of data objects](#nesting-data-objects-and-arrays-of-data-objects) +- [Usage in controllers](#usage-in-controllers) +- [Using transformers](#using-transformers) +- [Generating a blueprint](#generating-a-blueprint) +- [Lazy properties](#lazy-properties) +- [Conclusion](#conclusion) + +First, you should [install the package](../installation-setup.md). + We will create a blog with different posts, so let's start with the `PostData` object. A post has a title, some content, a status and a date when it was published: @@ -189,7 +201,7 @@ As you can see, we're missing the `date` rule on the `published_at` property. By - `array` when a property type is `array` - `enum:*` when a property type is a native enum -You can read more about the process of automated rule generation [here](/docs/laravel-data/v4/as-a-data-transfer-object/request-to-data-object#content-automatically-inferring-rules-for-properties-1). +You can read more about the process of automated rule generation [here](../as-a-data-transfer-object/request-to-data-object.md#content-automatically-inferring-rules-for-properties-1). We can easily add the date rule by using an attribute to our data object: @@ -232,7 +244,7 @@ array:4 [ ] ``` -There are [tons](/docs/laravel-data/v4/advanced-usage/validation-attributes) of validation rule attributes you can add to data properties. There's still much more you can do with validating data objects. Read more about it [here](/docs/laravel-data/v4/as-a-data-transfer-object/request-to-data-object#validating-a-request). +There are [tons](../advanced-usage/validation-attributes.md) of validation rule attributes you can add to data properties. There's still much more you can do with validating data objects. Read more about it [here](../as-a-data-transfer-object/request-to-data-object.md#validating-a-request). Tip: By default, when creating a data object in a non request context, no validation is executed: @@ -275,7 +287,7 @@ It is possible to define casts within the `data.php` config file. By default, th This code means that if a class property is of type `DateTime`, `Carbon`, `CarbonImmutable`, ... it will be automatically cast. -You can create your own casts; read more about it [here](/docs/laravel-data/v4/advanced-usage/creating-a-cast). +You can create your own casts; read more about it [here](../advanced-usage/creating-a-cast.md). ### Local casts @@ -356,7 +368,7 @@ class PostData extends Data } ``` -You can read more about casting [here](/docs/laravel-data/v4/as-a-data-transfer-object/casts). +You can read more about casting [here](../as-a-data-transfer-object/casts.md). ## Customizing the creation of a data object @@ -406,7 +418,7 @@ class PostData extends Data ``` Magic creation methods allow you to create data objects from any type by passing them to the `from` method of a data -object, you can read more about it [here](/docs/laravel-data/v4/as-a-data-transfer-object/creating-a-data-object#content-magical-creation). +object, you can read more about it [here](../as-a-data-transfer-object/creating-a-data-object.md#content-magical-creation). It can be convenient to transform more complex models than our `Post` into data objects because you can decide how a model would be mapped onto a data object. @@ -764,7 +776,7 @@ Which leads to the following JSON: } ``` -You can read more about transformers [here](/docs/laravel-data/v4/as-a-resource/transformers). +You can read more about transformers [here](../as-a-resource/transformers.md). ## Generating a blueprint @@ -1010,19 +1022,19 @@ You can do quite a lot with lazy properties like including them: - when they are requested in the URL query - by default, with an option to exclude them -And a lot more. You can read all about it [here](/docs/laravel-data/v4/as-a-resource/lazy-properties). +And a lot more. You can read all about it [here](../as-a-resource/lazy-properties.md). ## Conclusion So that's it, a quick overview of this package. We barely scratched the surface of what's possible with the package. There's still a lot more you can do with data objects like: -- [casting](/docs/laravel-data/v4/advanced-usage/eloquent-casting) them into Eloquent models -- [transforming](/docs/laravel-data/v4/advanced-usage/typescript) the structure to typescript -- [working](/docs/laravel-data/v4/as-a-data-transfer-object/collections) with `DataCollections` -- [optional properties](/docs/laravel-data/v4/as-a-data-transfer-object/optional-properties) not always required when creating a data object -- [wrapping](/docs/laravel-data/v4/as-a-resource/wrapping) transformed data into keys -- [mapping](/docs/laravel-data/v4/as-a-data-transfer-object/mapping-property-names) property names when creating or transforming a data object -- [appending](/docs/laravel-data/v4/as-a-resource/appending-properties) extra data -- [including](/docs/laravel-data/v4/as-a-resource/lazy-properties#content-using-query-strings) properties using the URL query string +- [casting](../advanced-usage/eloquent-casting.md) them into Eloquent models +- [transforming](../advanced-usage/typescript.md) the structure to typescript +- [working](../as-a-data-transfer-object/collections.md) with `DataCollections` +- [optional properties](../as-a-data-transfer-object/optional-properties.md) not always required when creating a data object +- [wrapping](../as-a-resource/wrapping.md) transformed data into keys +- [mapping](../as-a-data-transfer-object/mapping-property-names.md) property names when creating or transforming a data object +- [appending](../as-a-resource/appending-properties.md) extra data +- [including](../as-a-resource/lazy-properties.md#content-using-query-strings) properties using the URL query string - [inertia](https://spatie.be/docs/laravel-data/v4/advanced-usage/use-with-inertia) support for lazy properties - and so much more ... you'll find all the information here in the docs diff --git a/_docs/laravel-libs/laravel-data/validation/auto-rule-inferring.md b/_docs/laravel-libs/laravel-data/validation/auto-rule-inferring.md index 50cadef..f8921f8 100644 --- a/_docs/laravel-libs/laravel-data/validation/auto-rule-inferring.md +++ b/_docs/laravel-libs/laravel-data/validation/auto-rule-inferring.md @@ -57,4 +57,4 @@ By default, five rule inferrers are enabled: - A `array` type will add the `array` rule - **AttributesRuleInferrer** will make sure that rule attributes we described above will also add their rules -It is possible to write your rule inferrers. You can find more information [here](/docs/laravel-data/v4/advanced-usage/creating-a-rule-inferrer). +It is possible to write your rule inferrers. You can find more information [here](../advanced-usage/creating-a-rule-inferrer.md). diff --git a/_docs/laravel-libs/laravel-data/validation/introduction.md b/_docs/laravel-libs/laravel-data/validation/introduction.md index df02f56..bd78726 100644 --- a/_docs/laravel-libs/laravel-data/validation/introduction.md +++ b/_docs/laravel-libs/laravel-data/validation/introduction.md @@ -56,7 +56,7 @@ Completely disabling validation can be done by setting the `validation_strategy` 'validation_strategy' => \Spatie\LaravelData\Support\Creation\ValidationStrategy::Disabled->value, ``` -If you require a more fine-grained control over when validation should happen, you can use [data factories](/docs/laravel-data/v4/as-a-data-transfer-object/factories) to manually specify the validation strategy. +If you require a more fine-grained control over when validation should happen, you can use [data factories](../as-a-data-transfer-object/factories.md) to manually specify the validation strategy. ## A quick glance at the validation functionality @@ -87,7 +87,7 @@ The package will generate the following validation rules: ] ``` -The package follows an algorithm to infer rules from the data object. You can read more about it [here](/docs/laravel-data/v4/validation/auto-rule-inferring). +The package follows an algorithm to infer rules from the data object. You can read more about it [here](../validation/auto-rule-inferring.md). ### Validation attributes @@ -107,7 +107,7 @@ class SongData extends Data When you provide an artist with a length of more than 20 characters, the validation will fail. -There's a complete [chapter](/docs/laravel-data/v4/validation/using-validation-attributes) dedicated to validation attributes. +There's a complete [chapter](../validation/using-validation-attributes.md) dedicated to validation attributes. ### Manual rules @@ -132,7 +132,7 @@ class SongData extends Data } ``` -You can read more about manual rules in its [dedicated chapter](/docs/laravel-data/v4/validation/manual-rules). +You can read more about manual rules in its [dedicated chapter](../validation/manual-rules.md). ### Using the container @@ -147,7 +147,7 @@ If the request contains data that is not compatible with the data object, a vali ### Working with the validator -We provide a few points where you can hook into the validation process. You can read more about it in the [dedicated chapter](/docs/laravel-data/v4/validation/working-with-the-validator). +We provide a few points where you can hook into the validation process. You can read more about it in the [dedicated chapter](../validation/working-with-the-validator.md). It is for example to: @@ -207,7 +207,7 @@ The validation rules for this class will be: ] ``` -There are a few quirky things to keep in mind when working with nested data objects, you can read all about it [here](/docs/laravel-data/v4/validation/nesting-data). +There are a few quirky things to keep in mind when working with nested data objects, you can read all about it [here](../validation/nesting-data.md). ## Validation of nested data collections @@ -241,7 +241,7 @@ In this case the validation rules for `AlbumData` would look like this: ] ``` -More info about nested data collections can be found [here](/docs/laravel-data/v4/validation/nesting-data). +More info about nested data collections can be found [here](../validation/nesting-data.md). ## Default values diff --git a/_docs/laravel-libs/laravel-data/validation/nesting-data.md b/_docs/laravel-libs/laravel-data/validation/nesting-data.md index f8402fa..2ba67c2 100644 --- a/_docs/laravel-libs/laravel-data/validation/nesting-data.md +++ b/_docs/laravel-libs/laravel-data/validation/nesting-data.md @@ -5,7 +5,7 @@ weight: 6 A data object can contain other data objects or collections of data objects. The package will make sure that also for these data objects validation rules will be generated. -Let's take a look again at the data object from the [nesting](/docs/laravel-data/v4/as-a-data-transfer-object/nesting) section: +Let's take a look again at the data object from the [nesting](../as-a-data-transfer-object/nesting.md) section: ```php class AlbumData extends Data diff --git a/_docs/laravel-libs/laravel-data/validation/skipping-validation.md b/_docs/laravel-libs/laravel-data/validation/skipping-validation.md index f5c9695..bc607c4 100644 --- a/_docs/laravel-libs/laravel-data/validation/skipping-validation.md +++ b/_docs/laravel-libs/laravel-data/validation/skipping-validation.md @@ -63,4 +63,4 @@ Now the validation rules will look like this: ## Skipping validation for all properties -By using [data factories](/docs/laravel-data/v4/as-a-data-transfer-object/factories) or setting the `validation_strategy` in the `data.php` config you can skip validation for all properties of a data class. +By using [data factories](../as-a-data-transfer-object/factories.md) or setting the `validation_strategy` in the `data.php` config you can skip validation for all properties of a data class. diff --git a/_docs/laravel-libs/laravel-data/validation/using-validation-attributes.md b/_docs/laravel-libs/laravel-data/validation/using-validation-attributes.md index 1cfc035..3a5e3d8 100644 --- a/_docs/laravel-libs/laravel-data/validation/using-validation-attributes.md +++ b/_docs/laravel-libs/laravel-data/validation/using-validation-attributes.md @@ -31,7 +31,7 @@ above data object will look like this: ``` For each Laravel validation rule we've got a matching validation attribute, you can find a list of -them [here](/docs/laravel-data/v4/advanced-usage/validation-attributes). +them [here](../advanced-usage/validation-attributes.md). ## Referencing route parameters