Зарплатный проект (tbank.salary)¶
Зарплатные выплаты сотрудникам: регистрация анкет, платёжные реестры, их
создание, подписание (в т.ч. «создать и подписать» одним вызовом), оплата и
отмена. Операции асинхронные: инициатор возвращает клиентский correlationId
(оплата — ключ идемпотентности id), по которому опрашивается результат.
Хосты: анкеты, создание черновика реестра и карточка — на
business.tbank.ru/openapiпо Bearer-токену; подписание, создание-и-подписание, оплата, отмена и список реестров — наsecured-openapi.tbank.ruпо mTLS (cert).Суммы:
Decimalв рублях. Провод:camelCase.Клиенты:
tbank.salary.SalaryClient(async) иtbank.salary.sync.SalaryClient(sync).
Сценарий выплаты зарплаты¶
from decimal import Decimal
from tbank.salary import SalaryClient
from tbank.salary.models import (
CreateSubmitRegistryRequest, RegistryPayment, RegistryEmployeeInfo, PayRegistryRequest,
)
client = SalaryClient(
token="self-service-token",
cert=("client.pem", "client-key.pem"), # mTLS для подписания/оплаты
)
# создать и сразу подписать реестр (mTLS) → correlationId
cid = await client.create_and_submit_registry(CreateSubmitRegistryRequest(
payments=[RegistryPayment(
number=1, account_number="40817810000000000001",
payment_purpose="Зарплата за июнь",
employee_info=RegistryEmployeeInfo(first_name="Иван", last_name="Петров"),
sum=Decimal("50000.75"),
period_start="2026-06-01", period_end="2026-06-30",
)],
))
res = await client.get_create_submit_result(cid) # → paymentRegistryId, ACCEPTED
# оплатить (mTLS) → возвращает ключ идемпотентности id
await client.pay_payment_registry(PayRegistryRequest(
payment_registry_id=res.payment_registry_id,
account_number="40702810000000000000", purpose="Зарплата за июнь",
))
Раздельный поток тоже доступен: create_payment_registry → submit_payment_registry
→ pay_payment_registry; отменить отправку — cancel_payment_registry.
Сотрудники¶
from tbank.salary.models import (
AddEmployeesByRequisitesRequest, EmployeeByRequisites, EmployeeBankInfo,
CreateEmployeesRequest, EmployeeDraft, JobInfo, ListEmployeesRequest,
)
# добавить по реквизитам → correlationId, затем опросить результат
cid = await client.add_employees_by_requisites(AddEmployeesByRequisitesRequest(
employees=[EmployeeByRequisites(
number=1, first_name="Иван", last_name="Петров",
bank_info=EmployeeBankInfo(account_number="40817810000000000001"),
)],
))
await client.get_add_employees_result(cid)
# полная анкета (черновик)
await client.create_employees(CreateEmployeesRequest(employees=[EmployeeDraft(
number=1, first_name="Иван", last_name="Петров",
birth_date="1990-01-02", birth_place="Москва", citizenship="РФ",
job_info=JobInfo(position="Инженер"),
)]))
# информация по сотрудникам
await client.list_employees(ListEmployeesRequest(employee_ids=[7, 8]))
Реестры¶
from tbank.salary.models import ListRegistriesRequest
from tbank.salary.enums import RegistryStatus
await client.list_payment_registries(ListRegistriesRequest(
statuses=[RegistryStatus.EXECUTED], period_start="2026-01-01", period_end="2026-06-30",
))
info = await client.get_payment_registry(registry_id) # суммы, статусы, платежи
Клиент¶
- class tbank.salary.aio.SalaryClient(token, *, base_url=None, secured_base_url=None, sandbox=False, cert=None, verify=True, retry=None, transport=None, secured_transport=None)[исходный код]¶
Базовые классы:
BaseAsyncClientАсинхронный клиент зарплатного проекта: анкеты сотрудников, платёжные реестры, их создание/подписание/оплата/отмена.
Подписание, создание-и-подписание, оплата, отмена и список реестров идут на secured-хост и требуют mTLS-сертификата (cert); анкеты и создание черновика реестра — на обычном хосте по Bearer-токену. Инициирующие методы возвращают клиентский correlationId (оплата — ключ идемпотентности id), по которому опрашивается *_result.
- Параметры:
token (str)
base_url (Optional[str])
secured_base_url (Optional[str])
sandbox (bool)
cert (Optional[CertTypes])
verify (VerifyTypes)
retry (Optional[RetryPolicy])
transport (Optional[AsyncTransport])
secured_transport (Optional[AsyncTransport])
- decimal_body: ClassVar[bool] = True¶
True → тело парсится с parse_float=Decimal (точные денежные суммы).
- async add_employees_by_requisites(request)[исходный код]¶
Добавить сотрудников по реквизитам.
- Параметры:
request (AddEmployeesByRequisitesRequest)
- Тип результата:
- async get_add_employees_result(correlation_id)[исходный код]¶
Результат добавления сотрудников по реквизитам.
- Параметры:
correlation_id (str)
- Тип результата:
- async create_employees(request)[исходный код]¶
Создать черновики анкет сотрудников.
- Параметры:
request (CreateEmployeesRequest)
- Тип результата:
- async get_create_employees_result(correlation_id)[исходный код]¶
Результат создания черновиков анкет сотрудников.
- Параметры:
correlation_id (str)
- Тип результата:
- async list_employees(request)[исходный код]¶
Информация по сотрудникам по их идентификаторам.
- Параметры:
request (ListEmployeesRequest)
- Тип результата:
- async create_payment_registry(request)[исходный код]¶
Создать черновик платёжного реестра.
- Параметры:
request (CreatePaymentRegistryRequest)
- Тип результата:
- async get_create_registry_result(correlation_id)[исходный код]¶
Результат создания черновика реестра (paymentRegistryId + ошибки).
- Параметры:
correlation_id (str)
- Тип результата:
- async create_and_submit_registry(request)[исходный код]¶
Создать и сразу подписать платёжный реестр (mTLS).
- Параметры:
request (CreateSubmitRegistryRequest)
- Тип результата:
- async get_create_submit_result(correlation_id)[исходный код]¶
Результат создания-и-подписания реестра (mTLS).
- Параметры:
correlation_id (str)
- Тип результата:
- async submit_payment_registry(registry_id, *, correlation_id=None)[исходный код]¶
Подписать платёжный реестр (mTLS).
- async get_submit_result(correlation_id)[исходный код]¶
Результат подписания реестра (mTLS).
- Параметры:
correlation_id (str)
- Тип результата:
- async pay_payment_registry(request)[исходный код]¶
Оплатить платёжный реестр (mTLS). Возвращает ключ идемпотентности id.
- Параметры:
request (PayRegistryRequest)
- Тип результата:
- async cancel_payment_registry(payment_order_number, *, correlation_id=None)[исходный код]¶
Отменить отправку платёжного реестра (mTLS).
- async get_cancel_result(correlation_id)[исходный код]¶
Результат отмены отправки реестра (mTLS).
- Параметры:
correlation_id (str)
- Тип результата:
- async list_payment_registries(request)[исходный код]¶
Список платёжных реестров за период (mTLS).
- Параметры:
request (ListRegistriesRequest)
- Тип результата:
- async get_payment_registry(registry_id)[исходный код]¶
Карточка платёжного реестра: суммы, статусы, платежи.
- Параметры:
registry_id (int)
- Тип результата:
Модели¶
- class tbank.salary.models.SalaryModel[исходный код]¶
Базовые классы:
BaseModelБазовая модель домена: snake_case в Python, camelCase на проводе.
- model_config = {'alias_generator': <function to_camel>, 'extra': 'ignore', 'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
Базовые классы:
SalaryModelЗапрос-инициатор async-операции с клиентским correlationId.
- Параметры:
correlationId (str)
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- class tbank.salary.models.FieldError(*, fieldName, errorDescription)[исходный код]¶
Базовые классы:
SalaryModel- model_config = {'alias_generator': <function to_camel>, 'extra': 'ignore', 'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- class tbank.salary.models.CodeMessageError(*, errorCode, errorMessage)[исходный код]¶
Базовые классы:
SalaryModel- model_config = {'alias_generator': <function to_camel>, 'extra': 'ignore', 'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- class tbank.salary.models.CodeDescriptionError(*, errorCode, errorDescription=None)[исходный код]¶
Базовые классы:
SalaryModel- model_config = {'alias_generator': <function to_camel>, 'extra': 'ignore', 'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- class tbank.salary.models.PaymentError(*, number, accountNumber=None, errors=<factory>)[исходный код]¶
Базовые классы:
SalaryModel- Параметры:
number (int)
accountNumber (str | None)
errors (List[FieldError])
- model_config = {'alias_generator': <function to_camel>, 'extra': 'ignore', 'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- class tbank.salary.models.EmployeeResult(*, number, firstName, lastName, status, employeeId=None, middleName=None, errors=<factory>)[исходный код]¶
Базовые классы:
SalaryModel- Параметры:
number (int)
firstName (str)
lastName (str)
status (DraftStatus)
employeeId (int | None)
middleName (str | None)
errors (List[FieldError])
- model_config = {'alias_generator': <function to_camel>, 'extra': 'ignore', 'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- class tbank.salary.models.EmployeeBankInfo(*, accountNumber, bankBic=None)[исходный код]¶
Базовые классы:
SalaryModel- model_config = {'alias_generator': <function to_camel>, 'extra': 'ignore', 'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- class tbank.salary.models.EmployeeByRequisites(*, number, firstName, lastName, bankInfo, middleName=None, birthDate=None, passportSerial=None, passportNumber=None, mobileNumber=None, email=None)[исходный код]¶
Базовые классы:
SalaryModel- Параметры:
- model_config = {'alias_generator': <function to_camel>, 'extra': 'ignore', 'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- class tbank.salary.models.AddEmployeesByRequisitesRequest(*, correlationId=<factory>, employees)[исходный код]¶
Базовые классы:
CorrelatedRequest- Параметры:
correlationId (str)
employees (List[EmployeeByRequisites])
- model_config = {'alias_generator': <function to_camel>, 'extra': 'ignore', 'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- class tbank.salary.models.AddEmployeesResult(*, employeesResults=<factory>)[исходный код]¶
Базовые классы:
SalaryModel- Параметры:
employeesResults (List[EmployeeResult])
- model_config = {'alias_generator': <function to_camel>, 'extra': 'ignore', 'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- class tbank.salary.models.EmployeePhone(*, type, number)[исходный код]¶
Базовые классы:
SalaryModel- model_config = {'alias_generator': <function to_camel>, 'extra': 'ignore', 'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- class tbank.salary.models.EmployeeAddress(*, type, postalCode, state, country=None, city=None, district=None, settlement=None, street=None, house=None, building=None, construction=None, apartment=None)[исходный код]¶
Базовые классы:
SalaryModel- Параметры:
- model_config = {'alias_generator': <function to_camel>, 'extra': 'ignore', 'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- class tbank.salary.models.EmployeeDocument(*, type, serial, date, organization, number=None, division=None, expireDate=None)[исходный код]¶
Базовые классы:
SalaryModel- Параметры:
- model_config = {'alias_generator': <function to_camel>, 'extra': 'ignore', 'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- class tbank.salary.models.JobInfo(*, position=None)[исходный код]¶
Базовые классы:
SalaryModel- Параметры:
position (str | None)
- model_config = {'alias_generator': <function to_camel>, 'extra': 'ignore', 'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- class tbank.salary.models.EmployeeDraft(*, number, firstName, lastName, birthDate, birthPlace, citizenship, jobInfo, middleName=None, email=None, latinFirstName=None, latinLastName=None, phones=None, addresses=None, documents=None)[исходный код]¶
Базовые классы:
SalaryModel- Параметры:
number (int)
firstName (str)
lastName (str)
birthDate (date)
birthPlace (str)
citizenship (str)
jobInfo (JobInfo)
middleName (str | None)
email (str | None)
latinFirstName (str | None)
latinLastName (str | None)
phones (List[EmployeePhone] | None)
addresses (List[EmployeeAddress] | None)
documents (List[EmployeeDocument] | None)
- model_config = {'alias_generator': <function to_camel>, 'extra': 'ignore', 'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- class tbank.salary.models.CreateEmployeesRequest(*, correlationId=<factory>, employees)[исходный код]¶
Базовые классы:
CorrelatedRequest- Параметры:
correlationId (str)
employees (List[EmployeeDraft])
- model_config = {'alias_generator': <function to_camel>, 'extra': 'ignore', 'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- class tbank.salary.models.CreateEmployeesResult(*, employeeResults=<factory>)[исходный код]¶
Базовые классы:
SalaryModel- Параметры:
employeeResults (List[EmployeeResult])
- model_config = {'alias_generator': <function to_camel>, 'extra': 'ignore', 'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- class tbank.salary.models.EmployeeBankInfoFull(*, accountNumber=None, agreementNumber=None)[исходный код]¶
Базовые классы:
SalaryModel- model_config = {'alias_generator': <function to_camel>, 'extra': 'ignore', 'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- class tbank.salary.models.EmployeeInfo(*, id, status, firstName, lastName, bankInfo, middleName=None, birthDate=None, phones=None, documents=None, jobInfo=None)[исходный код]¶
Базовые классы:
SalaryModel- Параметры:
id (int)
status (EmployeeStatus)
firstName (str)
lastName (str)
bankInfo (EmployeeBankInfoFull)
middleName (str | None)
birthDate (date | None)
phones (List[EmployeePhone] | None)
documents (List[EmployeeDocument] | None)
jobInfo (JobInfo | None)
- model_config = {'alias_generator': <function to_camel>, 'extra': 'ignore', 'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- class tbank.salary.models.ListEmployeesRequest(*, employeeIds)[исходный код]¶
Базовые классы:
SalaryModel- model_config = {'alias_generator': <function to_camel>, 'extra': 'ignore', 'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- class tbank.salary.models.ListEmployeesResult(*, employees=<factory>)[исходный код]¶
Базовые классы:
SalaryModel- Параметры:
employees (List[EmployeeInfo])
- model_config = {'alias_generator': <function to_camel>, 'extra': 'ignore', 'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- class tbank.salary.models.RegistryEmployeeInfo(*, firstName, lastName, middleName=None, employeeId=None)[исходный код]¶
Базовые классы:
SalaryModel- model_config = {'alias_generator': <function to_camel>, 'extra': 'ignore', 'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- class tbank.salary.models.RegistryPayment(*, number, accountNumber, paymentPurpose, employeeInfo, sum, periodStart=None, periodEnd=None, revenueTypeCode=None, collectionAmount=None)[исходный код]¶
Базовые классы:
SalaryModel- Параметры:
number (int)
accountNumber (str)
paymentPurpose (str)
employeeInfo (RegistryEmployeeInfo)
sum (Annotated[Decimal, PlainSerializer(func=~tbank.salary.models.<lambda>, return_type=float, when_used=json)])
periodStart (date | None)
periodEnd (date | None)
revenueTypeCode (RevenueTypeCode | None)
collectionAmount (Annotated[Decimal, PlainSerializer(func=~tbank.salary.models.<lambda>, return_type=float, when_used=json)] | None)
- model_config = {'alias_generator': <function to_camel>, 'extra': 'ignore', 'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- class tbank.salary.models.CreatePaymentRegistryRequest(*, correlationId=<factory>, payments=None, companyAccountNumber=None, loadDate=None, registryCreateType=None)[исходный код]¶
Базовые классы:
CorrelatedRequest- Параметры:
correlationId (str)
payments (List[RegistryPayment] | None)
companyAccountNumber (str | None)
loadDate (str | None)
registryCreateType (RegistryCreateType | None)
- model_config = {'alias_generator': <function to_camel>, 'extra': 'ignore', 'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- class tbank.salary.models.CreateSubmitRegistryRequest(*, correlationId=<factory>, payments, companyAccountNumber=None, loadDate=None, registryCreateType=None)[исходный код]¶
Базовые классы:
CorrelatedRequest- Параметры:
correlationId (str)
payments (List[RegistryPayment])
companyAccountNumber (str | None)
loadDate (datetime | None)
registryCreateType (RegistryCreateType | None)
- model_config = {'alias_generator': <function to_camel>, 'extra': 'ignore', 'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- class tbank.salary.models.CreateRegistryResult(*, status, paymentRegistryId=None, error=None, paymentErrors=<factory>)[исходный код]¶
Базовые классы:
SalaryModel- Параметры:
status (DraftStatus)
paymentRegistryId (int | None)
error (FieldError | None)
paymentErrors (List[PaymentError])
- model_config = {'alias_generator': <function to_camel>, 'extra': 'ignore', 'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- class tbank.salary.models.CreateSubmitResult(*, status, paymentRegistryId=None, error=None, paymentErrors=<factory>)[исходный код]¶
Базовые классы:
SalaryModel- Параметры:
status (SubmitResultStatus)
paymentRegistryId (int | None)
error (CodeMessageError | None)
paymentErrors (List[PaymentError])
- model_config = {'alias_generator': <function to_camel>, 'extra': 'ignore', 'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- class tbank.salary.models.RegistryActionRequest(*, correlationId=<factory>, paymentRegistryId)[исходный код]¶
Базовые классы:
CorrelatedRequestТело submit: {correlationId, paymentRegistryId}.
- model_config = {'alias_generator': <function to_camel>, 'extra': 'ignore', 'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- class tbank.salary.models.SubmitResult(*, paymentRegistryId, status, error=None, paymentErrors=<factory>)[исходный код]¶
Базовые классы:
SalaryModel- Параметры:
paymentRegistryId (int)
status (SubmitResultStatus)
error (CodeMessageError | None)
paymentErrors (List[PaymentError])
- model_config = {'alias_generator': <function to_camel>, 'extra': 'ignore', 'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- class tbank.salary.models.PayRegistryRequest(*, paymentRegistryId, accountNumber, purpose, id=<factory>, documentNumber=None, executionOrder=None, dueDate=None, meta=None)[исходный код]¶
Базовые классы:
SalaryModelОплата реестра: id — ключ идемпотентности (генерируется автоматически).
- Параметры:
- model_config = {'alias_generator': <function to_camel>, 'extra': 'ignore', 'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- class tbank.salary.models.CancelRequest(*, correlationId=<factory>, paymentOrderNumber)[исходный код]¶
Базовые классы:
CorrelatedRequest- model_config = {'alias_generator': <function to_camel>, 'extra': 'ignore', 'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- class tbank.salary.models.CancelResult(*, status, error=None)[исходный код]¶
Базовые классы:
SalaryModel- Параметры:
status (CancelStatus)
error (CodeDescriptionError | None)
- model_config = {'alias_generator': <function to_camel>, 'extra': 'ignore', 'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- class tbank.salary.models.ListRegistriesRequest(*, offset=None, statuses=None, periodStart=None, periodEnd=None)[исходный код]¶
Базовые классы:
SalaryModel- Параметры:
offset (int | None)
statuses (List[RegistryStatus] | None)
periodStart (date | None)
periodEnd (date | None)
- model_config = {'alias_generator': <function to_camel>, 'extra': 'ignore', 'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- class tbank.salary.models.PaymentOrder(*, number, date, count, sum, status)[исходный код]¶
Базовые классы:
SalaryModel- Параметры:
number (int)
date (datetime)
count (int)
sum (Decimal)
status (RegistryStatus)
- model_config = {'alias_generator': <function to_camel>, 'extra': 'ignore', 'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- class tbank.salary.models.ListRegistriesResult(*, paymentOrders=<factory>)[исходный код]¶
Базовые классы:
SalaryModel- Параметры:
paymentOrders (List[PaymentOrder])
- model_config = {'alias_generator': <function to_camel>, 'extra': 'ignore', 'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- class tbank.salary.models.RegistryPaymentInfo(*, status, employeeInfo, sum, number=None, accountNumber=None, paymentPurpose=None, periodStart=None, periodEnd=None)[исходный код]¶
Базовые классы:
SalaryModel- Параметры:
status (PaymentInfoStatus)
employeeInfo (RegistryEmployeeInfo)
sum (Decimal)
number (int | None)
accountNumber (str | None)
paymentPurpose (str | None)
periodStart (date | None)
periodEnd (date | None)
- model_config = {'alias_generator': <function to_camel>, 'extra': 'ignore', 'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- class tbank.salary.models.PaymentRegistryInfo(*, status, paymentsCount, totalSum, companyAccountNumber=None, loadDate=None, payments=<factory>)[исходный код]¶
Базовые классы:
SalaryModel- Параметры:
status (RegistryStatus)
paymentsCount (int)
totalSum (Decimal)
companyAccountNumber (str | None)
loadDate (str | None)
payments (List[RegistryPaymentInfo])
- model_config = {'alias_generator': <function to_camel>, 'extra': 'ignore', 'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- class tbank.salary.models.CorrelationRef(*, correlationId)[исходный код]¶
Базовые классы:
SalaryModelСсылка по correlationId (query для GET-результатов).
- Параметры:
correlationId (str)
- model_config = {'alias_generator': <function to_camel>, 'extra': 'ignore', 'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
Перечисления¶
- class tbank.salary.enums.RegistryCreateType(*values)[исходный код]¶
-
Поведение при ошибках в платежах реестра.
- IGNORE_ERRORS = 'IGNORE_ERRORS'¶
- FAIL_ERRORS = 'FAIL_ERRORS'¶
- class tbank.salary.enums.RevenueTypeCode(*values)[исходный код]¶
-
Код вида выплаты (1–5).
- CODE_1 = '1'¶
- CODE_2 = '2'¶
- CODE_3 = '3'¶
- CODE_4 = '4'¶
- CODE_5 = '5'¶
- class tbank.salary.enums.DraftStatus(*values)[исходный код]¶
-
Статус черновика (анкеты сотрудника / реестра) в async-результате.
- QUEUED = 'QUEUED'¶
- CREATED = 'CREATED'¶
- ERROR = 'ERROR'¶
- class tbank.salary.enums.SubmitResultStatus(*values)[исходный код]¶
-
Статус подписания (или создания-и-подписания) реестра.
- IN_PROGRESS = 'IN_PROGRESS'¶
- ACCEPTED = 'ACCEPTED'¶
- ERROR = 'ERROR'¶
- class tbank.salary.enums.CancelStatus(*values)[исходный код]¶
-
Статус отмены отправки реестра.
- QUEUED = 'QUEUED'¶
- DONE = 'DONE'¶
- ERROR = 'ERROR'¶
- class tbank.salary.enums.RegistryStatus(*values)[исходный код]¶
-
Статус платёжного реестра (список / карточка).
- DRAFT = 'DRAFT'¶
- ERROR = 'ERROR'¶
- SUBMITTED = 'SUBMITTED'¶
- PROCESSING = 'PROCESSING'¶
- ACCEPTED = 'ACCEPTED'¶
- EXECUTED = 'EXECUTED'¶
- PART_EXEC = 'PART_EXEC'¶
- REJECTED = 'REJECTED'¶
- CANCELLED = 'CANCELLED'¶
- DELETED = 'DELETED'¶
- class tbank.salary.enums.PaymentInfoStatus(*values)[исходный код]¶
-
Статус отдельного платежа в карточке реестра.
- WAITING = 'WAITING'¶
- ACCEPTED = 'ACCEPTED'¶
- EXECUTED = 'EXECUTED'¶
- REJECTED = 'REJECTED'¶
- CANCELLED = 'CANCELLED'¶
- DELETED = 'DELETED'¶
- class tbank.salary.enums.EmployeeStatus(*values)[исходный код]¶
-
Статус карточки сотрудника.
- DRAFT = 'DRAFT'¶
- PROCESSING = 'PROCESSING'¶
- PROCESSING_ERROR = 'PROCESSING_ERROR'¶
- ACTIVE = 'ACTIVE'¶
- ERROR = 'ERROR'¶
- REJECTED = 'REJECTED'¶
- FIRED = 'FIRED'¶
- DELETED = 'DELETED'¶
- MTNG_SCHD = 'MTNG_SCHD'¶
- MTNG_WAIT = 'MTNG_WAIT'¶
- MTNG_CANC = 'MTNG_CANC'¶
- class tbank.salary.enums.PhoneType(*values)[исходный код]¶
-
Тип телефона (значения на проводе — на русском).
- MOBILE = 'Мобильный'¶
- HOME = 'По месту жительства'¶
- WORK = 'Рабочий'¶
- class tbank.salary.enums.AddressKind(*values)[исходный код]¶
-
Тип адреса анкеты (значения на проводе — на русском).
- RESIDENCE = 'Жительства'¶
- REGISTRATION = 'Регистрации'¶
- WORK = 'Работы'¶
- class tbank.salary.enums.DocumentType(*values)[исходный код]¶
-
Тип документа анкеты (значения на проводе — на русском).
- PASSPORT = 'Паспорт'¶
- FOREIGN_PASSPORT = 'Иностранный паспорт'¶
- FOREIGN_TRAVEL_PASSPORT = 'Загр. паспорт иностранного гр.'¶
- SERVICE_PASSPORT = 'Служебный/официальный паспорт'¶
- DIPLOMATIC_PASSPORT = 'Дипломатический паспорт'¶
- MIGRATION_CARD = 'Миграционная карта'¶
- TEMPORARY_RESIDENCE_PERMIT = 'Разр. на временное проживание'¶
- VISA = 'Виза'¶
- RESIDENCE_PERMIT = 'Вид на жительство'¶