Перейти к основному содержимому

Provider Adapter:

Назначение

Опиши внешний provider, capability, owning service и anti-corruption boundary. Provider input считается недоверенным внешним вводом.

Границы Adapter-а

ПолеЗначение
Provider<ProviderName>
Сервис<service-name>
Capability<геокодинг/импорт каталога застройщика/уведомления>
Adapter class<AdapterName>
Typed client<ClientName>
Внутренняя операция<имя операции>

Контракты Provider-а

Операция Provider-аDirectionInternal modelProvider-specific model
<operation>outbound / callback<InternalModel><ProviderModel>

Модель Internal <InternalModel>

ПолеТипОбязательностьОписаниеMapping
<FieldName><Type>Да/Нет<описание><provider field/rule>

Модель Provider-Specific <ProviderModel>

ПолеТипОбязательностьProvider formatValidationInternal mapping
<providerField><Type>Да/Нет<format><signature/range/enum><InternalField>

Безопасность

КонтрольПравило
Authentication<api key/oauth/mTLS/signature>
Signature validation<algorithm, signed fields, replay window>
Secrets<secret names, storage, rotation>
PII<masked/excluded fields>
Tenant binding<provider account to TenantId/BrandId mapping>

Resilience И Устойчивость

АспектПравило
Timeout<duration>
Retry<policy and retryable errors>
Circuit breaker<policy>
Idempotency<key source>
Rate limit<provider limit and local throttle>

Обработка Callback

ШагПравило
Verify<signature, timestamp, source account>
Normalize<ProviderModel -> InternalModel>
Validate<validator and typed errors>
Dispatch<запустить внутреннюю операцию обработки>
Store<typed callback record with safe fields>

Маппинг Ошибок

Provider codeInternal errorПовторяемостьВидно пользователю
<code><ErrorCode>Да/НетДа/Нет

Наблюдаемость

ТипПравило
Logs<request started/success/provider error/signature failure>
Metrics<latency/error rate/retry count/circuit state>
TracescorrelationId, provider request id, tenant id
RedactionProvider secrets и raw sensitive fields исключаются.

Обратные ссылки

Автоссылки: где используется этот документ.