Lead / Client DTO
Описание сущностей и типов из src/dto/lead/client/.
Обогащено snapshot-данными бэкенд-DTO (0 из 6 типов сопоставлено, snapshot от 2026-05-05T13:21:51.699Z).
Содержание
- ClientLeadDto
- CreateClientLeadRequestDto
- CurrentSituationDto
- GetClientLeadsRequestDto
- HouseholdSupportDto
- PaginatedClientLeadsResponseDto
ClientLeadDto
Client lead — landing-page inquiry. Mirrors ClientLeadModel JSON shape.
Поля
| Поле | Тип | Обязательное | Описание |
|---|---|---|---|
id | number | да | — |
createDateTime | string | да | — |
updateDateTime | string | null | нет | — |
deleteDateTime | string | null | нет | — |
name | string | да | — |
phoneLinkContacts | PhoneLinkContactDto[] | да | — |
emailLinkContacts | EmailLinkContactDto[] | да | — |
postalCode | string | null | нет | — |
city | string | null | нет | — |
householdSupport | HouseholdSupportDto[] | да | — |
currentSituation | CurrentSituationDto[] | да | — |
utmSource | string | null | нет | — |
utmMedium | string | null | нет | — |
utmCampaign | string | null | нет | — |
utmTerm | string | null | нет | — |
utmContent | string | null | нет | — |
pageUrl | string | null | нет | — |
pageTitle | string | null | нет | — |
referrer | string | null | нет | — |
linkedClientId | number | null | нет | Client auto-created from (or matched to) this lead on submission. Null if none was linked. |
Пример
json
{
"id": 0,
"createDateTime": "2026-05-05T08:00:00Z",
"updateDateTime": "2026-05-05T08:00:00Z",
"deleteDateTime": "2026-05-05T08:00:00Z",
"name": "string",
"phoneLinkContacts": [],
"emailLinkContacts": [],
"postalCode": "string",
"city": "string",
"householdSupport": [],
"currentSituation": [],
"utmSource": "string",
"utmMedium": "string",
"utmCampaign": "string",
"utmTerm": "string",
"utmContent": "string",
"pageUrl": "https://...",
"pageTitle": "string",
"referrer": "string",
"linkedClientId": 0
}CreateClientLeadRequestDto
Body for POST Api/ClientLeads — the public form a potential client fills in.
Поля
| Поле | Тип | Обязательное | Описание |
|---|---|---|---|
name | string | да | — |
phone | string | да | — |
email | string | null | нет | — |
postalCode | string | null | нет | — |
city | string | null | нет | — |
householdSupport | HouseholdSupportDto[] | да | Who needs the support. |
currentSituation | CurrentSituationDto[] | да | Where the person stands right now, e.g. a care level already assigned. |
utm | UtmRequestDto | null | нет | Marketing attribution of the page the form was submitted from. |
pageUrl | string | null | нет | — |
pageTitle | string | null | нет | — |
referrer | string | null | нет | — |
Пример
json
{
"name": "string",
"phone": "+49123456789",
"email": "user@example.com",
"postalCode": "string",
"city": "string",
"householdSupport": [],
"currentSituation": [],
"utm": "<utmrequestdto>",
"pageUrl": "https://...",
"pageTitle": "string",
"referrer": "string"
}CurrentSituationDto
Значения
| Имя | Значение | Описание |
|---|---|---|
NotFound | 0 | — |
CareLevelAssigned | 1 | — |
HasMedicalOrder | 2 | — |
Пример
json
0GetClientLeadsRequestDto
Filters for GET Api/ClientLeads. Every field except pagination is optional — an absent field means the condition is not applied. Passing several narrows by all of them.
Поля
| Поле | Тип | Обязательное | Описание |
|---|---|---|---|
pagination | Pagination | да | — |
searchQuery | string | нет | Full-text search over name, city and postal code together. Independent of the per-field filters below; word-based, so it does not match a partial word. |
createFromFilter | string | нет | ISO date. Kept for compatibility — createdAt is the range form. |
createToFilter | string | нет | ISO date. Kept for compatibility — createdAt is the range form. |
name | string | нет | Prefix match on the name. |
city | string | нет | Prefix match on the city. |
postalCode | string | нет | Prefix match on the postal code. |
createdAt | PaginationRangeFilter<string> | нет | ISO 8601 range over the creation timestamp. |
updatedAt | PaginationRangeFilter<string> | нет | ISO 8601 range over the last-update timestamp. Leads never updated are excluded. |
householdSupport | HouseholdSupportDto[] | нет | Matches leads having any of the listed household support values. |
currentSituation | CurrentSituationDto[] | нет | Matches leads having any of the listed current situation values. |
utmSource | string | нет | Prefix match on the UTM source. |
utmMedium | string | нет | Prefix match on the UTM medium. |
utmCampaign | string | нет | Prefix match on the UTM campaign. |
utmTerm | string | нет | Prefix match on the UTM term. |
utmContent | string | нет | Prefix match on the UTM content. |
pageUrl | string | нет | Prefix match on the landing page URL. |
pageTitle | string | нет | Substring match on the landing page title. |
referrer | string | нет | Prefix match on the referrer. |
linkedClientId | number | нет | Client this lead was converted into. |
phoneNumber | string | нет | Exact match against the linked phone contacts. Normalized before comparison (digits only, 49-prefixed), so a partial number does not match. |
email | string | нет | Exact match against the linked email contacts. Stored as a value object, so a partial address does not match — pass the full address. |
Пример
json
{
"pagination": "<Pagination>",
"searchQuery": "string",
"createFromFilter": "string",
"createToFilter": "string",
"name": "string",
"city": "string",
"postalCode": "string",
"createdAt": "<PaginationRangeFilter<string>>",
"updatedAt": "<PaginationRangeFilter<string>>",
"householdSupport": [],
"currentSituation": [],
"utmSource": "string",
"utmMedium": "string",
"utmCampaign": "string",
"utmTerm": "string",
"utmContent": "string",
"pageUrl": "https://...",
"pageTitle": "string",
"referrer": "string",
"linkedClientId": 0,
"phoneNumber": "+49123456789",
"email": "user@example.com"
}HouseholdSupportDto
Значения
| Имя | Значение | Описание |
|---|---|---|
NotFound | 0 | — |
Myself | 1 | — |
MyFamilyMember | 2 | — |
AnotherPersonCloseToMe | 3 | — |
Пример
json
0PaginatedClientLeadsResponseDto
Поля
| Поле | Тип | Обязательное | Описание |
|---|---|---|---|
pagination | PaginationResult<ClientLeadDto> | да | — |
Пример
json
{
"pagination": "<PaginationResult<ClientLeadDto>>"
}