Skip to content

Lead / Client DTO

Описание сущностей и типов из src/dto/lead/client/.

Обогащено snapshot-данными бэкенд-DTO (0 из 6 типов сопоставлено, snapshot от 2026-05-05T13:21:51.699Z).

Содержание


ClientLeadDto

Client lead — landing-page inquiry. Mirrors ClientLeadModel JSON shape.

Поля

ПолеТипОбязательноеОписание
idnumberда
createDateTimestringда
updateDateTimestring | nullнет
deleteDateTimestring | nullнет
namestringда
phoneLinkContactsPhoneLinkContactDto[]да
emailLinkContactsEmailLinkContactDto[]да
postalCodestring | nullнет
citystring | nullнет
householdSupportHouseholdSupportDto[]да
currentSituationCurrentSituationDto[]да
utmSourcestring | nullнет
utmMediumstring | nullнет
utmCampaignstring | nullнет
utmTermstring | nullнет
utmContentstring | nullнет
pageUrlstring | nullнет
pageTitlestring | nullнет
referrerstring | nullнет
linkedClientIdnumber | 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.

Поля

ПолеТипОбязательноеОписание
namestringда
phonestringда
emailstring | nullнет
postalCodestring | nullнет
citystring | nullнет
householdSupportHouseholdSupportDto[]даWho needs the support.
currentSituationCurrentSituationDto[]даWhere the person stands right now, e.g. a care level already assigned.
utmUtmRequestDto | nullнетMarketing attribution of the page the form was submitted from.
pageUrlstring | nullнет
pageTitlestring | nullнет
referrerstring | 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

Значения

ИмяЗначениеОписание
NotFound0
CareLevelAssigned1
HasMedicalOrder2

Пример

json
0


GetClientLeadsRequestDto

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.

Поля

ПолеТипОбязательноеОписание
paginationPaginationда
searchQuerystringнет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.
createFromFilterstringнетISO date. Kept for compatibility — createdAt is the range form.
createToFilterstringнетISO date. Kept for compatibility — createdAt is the range form.
namestringнетPrefix match on the name.
citystringнетPrefix match on the city.
postalCodestringнетPrefix match on the postal code.
createdAtPaginationRangeFilter<string>нетISO 8601 range over the creation timestamp.
updatedAtPaginationRangeFilter<string>нетISO 8601 range over the last-update timestamp. Leads never updated are excluded.
householdSupportHouseholdSupportDto[]нетMatches leads having any of the listed household support values.
currentSituationCurrentSituationDto[]нетMatches leads having any of the listed current situation values.
utmSourcestringнетPrefix match on the UTM source.
utmMediumstringнетPrefix match on the UTM medium.
utmCampaignstringнетPrefix match on the UTM campaign.
utmTermstringнетPrefix match on the UTM term.
utmContentstringнетPrefix match on the UTM content.
pageUrlstringнетPrefix match on the landing page URL.
pageTitlestringнетSubstring match on the landing page title.
referrerstringнетPrefix match on the referrer.
linkedClientIdnumberнетClient this lead was converted into.
phoneNumberstringнетExact match against the linked phone contacts. Normalized before comparison (digits only, 49-prefixed), so a partial number does not match.
emailstringнет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

Значения

ИмяЗначениеОписание
NotFound0
Myself1
MyFamilyMember2
AnotherPersonCloseToMe3

Пример

json
0


PaginatedClientLeadsResponseDto

Поля

ПолеТипОбязательноеОписание
paginationPaginationResult<ClientLeadDto>да

Пример

json
{
  "pagination": "<PaginationResult<ClientLeadDto>>"
}