Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
33 changes: 33 additions & 0 deletions proto/v1/administrator.proto
Original file line number Diff line number Diff line change
Expand Up @@ -33,6 +33,13 @@ service AdministratorService {
body: "*"
};
}

rpc examineNormalization(ExamineNormalizationRequest) returns (ExamineNormalizationResponse) {
option (google.api.http) = {
post: "/v1/bereg/administrator/examineNormalization"
body: "*"
};
}
}

message MakeChangeOrderRequest {
Expand Down Expand Up @@ -190,4 +197,30 @@ message CreatePaperlessOrderResponse {
_ = 0;
}
}
}

message ExamineNormalizationRequest {
uint64 normalization_id = 1;
bool is_correct = 2;
}

message ExamineNormalizationResponse {
oneof result {
Success success = 1;
Error error = 2;
}

message Success {
}

message Error {
string message = 1;
ErrorCode code = 2;

enum ErrorCode {
_ = 0;
NOT_FOUND = 1;
ALREADY_EXAMINED = 2;
}
}
}
185 changes: 64 additions & 121 deletions proto/v1/structure.proto
Original file line number Diff line number Diff line change
Expand Up @@ -10,205 +10,148 @@ message Administrator {
// Юридическое лицо
LegalEntity legal_entity = 2;
}

message Contacts {
// Почтовый адрес для отправки бумажной корреспонденции
// @NotEmpty
Address post_address = 1;

// Почтовый адрес для отправки бумажной корреспонденции на английском языке
// @NotEmpty
InternationalAddress international_post_address = 2;
Address international_post_address = 2;

// Телефонные номера для связи
// @Amount(min = 1, max = 14)
repeated Phone phone = 3;

// Административный телефон, с возможностью приёма SMS сообщений
// Используется для подтверждения процедуры переноса домена
// @NotEmpty
Phone administrative_phone = 4;

// E-mail адрес для связи
// @Email
// @Amount(min = 1, max = 15)
repeated string email = 6;

// E-mail адрес для связи по вопросам трансфера домена от регистратора к регистратору
// Используется для подтверждения процедуры переноса домена
// @Email
string administrative_email = 7;
}

message PhysicalPerson {
// Фамилия имя и отчество администратора домена
// @Length(max = 255)
// @NotEmpty
string full_name = 1;

Name name = 1;

// Фамилия имя и отчество администратора домена на английском языке
// @Length(max = 255)
// @NotEmpty
// @Pattern(regexp = "^[A-z -.']*$")
string international_full_name = 2;
Name international_name = 2;

// Документ, удостоверяющий личность администратора домена
IdentityDocument identity_document = 3;

// Номер налогоплательщика
// @Nullable
// @Length(max = 27)
string taxpayer_number = 4;

// Дата рождения
// @Date("Y-m-d")
// @Past
string birthday = 5;

// ISO код страны, резидентом которой является физическое лицо
// @Length(min = 2,max = 2)
// @NotEmpty
// @Pattern(regexp = "^[A-Z]{2}$")
string resident_country_code = 6;

// Контактные данные администратора домена
Contacts contacts = 7;
Contacts contacts = 6;

message IdentityDocument {
// Тип документа удостоверяющего личность. Например: паспорт
// @Nullable
// @Length(max = 10)
string type = 1;
DocumentType type = 1;

// серия документа
string series = 2;

// Идентификатор документа удостоверяющего личность. Например: серия и номер паспорта
// @Length(max = 50)
// @NotEmpty
string identifier = 2;
// номер документа
string number = 3;

// Дата выдачи документа удостоверяющего личность
// @Date("Y-m-d")
// @Past
string issue_date = 3;

// Дополнительная информация о документе удостоверяющего личность
// @Length(max = 185)
// @NotEmpty
string additional_info = 4;
string issue_date = 4;

// Код подразделения, выпустившего документ
string issue_id = 5;

// Кем выдан документ
string issued_by = 6;

// Срок действия документа
string expiry_date = 7;

enum DocumentType {
_ = 0;
// паспорт гражданина Российской Федерации
RF_PASSPORT = 1;
// удостоверение личности
FID_DOC = 2;
// военный билет
MLTR_ID = 3;
// зарубежный паспорт.
FRGN_PASS = 4;
}
}

message Name {
string first_name = 1;

string middle_name = 2;

string last_name = 3;
}
}

message LegalEntity {
// Название юридического лица
// @Length(max = 255)
// @NotEmpty
string full_name = 1;

// Название юридического лица на английском языке
// @Length(max = 255)
// @NotEmpty
// @Pattern(regexp = "^[A-z -.']*$")
string international_full_name = 2;

// Номер налогоплательщика юридического лица. Например: ИНН
// @NotEmpty
// @Length(max = 27)
string taxpayer_number = 5;
string taxpayer_number = 3;

// Юридический адрес организации
// @NotEmpty
Address legal_address = 6;

// ISO код страны, резидентом которой является юридическое лицо
// @Length(min = 2,max = 2)
// @NotEmpty
// @Pattern(regexp = "^[A-Z]{2}$")
string resident_country_code = 7;
Address legal_address = 4;

// Контактные данные администратора домена
Contacts contacts = 8;
Contacts contacts = 5;
}

message Phone {
// ISO код страны телефона
// @Length(min = 2,max = 2)
// @NotEmpty
// @Pattern(regexp = "^[A-Z]{2}$")
string country_code = 1;

// Полный телефонный номер. Необходимо разделить код страны, код оператора и номер пробелами
// Например: +7 954 1002010
// @NotEmpty
string number = 2;
}

message Address {
// Почтовый индекс
// @NotEmpty
// @Length(min = 3, max = 10)
string postal_code = 1;

// ISO код страны
// @Length(min = 2,max = 2)
// @NotEmpty
// @Pattern(regexp = "^[A-Z]{2}$")
string country_code = 2;
string country_code = 1;

// Почтовый индекс
string postal_code = 2;

// Название страны
// @NotEmpty
// @Length(max = 70)
string country_name = 3;
string region = 3;

// Штат, область, край и т.д.
// @Nullable
// @Length(max = 100)
string area = 4;

// Город, поселение, посёлок и т.д.
// @NotEmpty
// @Length(max = 100)
string locality = 5;

// Любая дополнительная информация об адресе, в.т.ч. улица, дом, квартира/офис
// @NotEmpty
// @Length(max = 230)
string additional_info = 6;
}
string city = 5;

message InternationalAddress {
// Почтовый индекс
// @NotEmpty
// Pattern(regexp = "[1]*$")
// @Length(min = 3, max = 10)
string postal_code = 1;
// улица
string street = 6;

// ISO код страны
// @Length(min = 2,max = 2)
// @NotEmpty
// @Pattern(regexp = "^[A-Z]{2}$")
string country_code = 2;
// дом
string house = 7;

// Название страны
// @NotEmpty
// Pattern(regexp = "^[A-z0-9 ,.-]*$")
// @Length(max = 70)
string country_name = 3;
// здание
string building = 8;

// Штат, область, край и т.д.
// @Nullable
// Pattern(regexp = "^[A-z0-9 ,.-]*$")
// @Length(max = 100)
string area = 4;
// корпус
string frame = 9;

// Город, поселение, посёлок и т.д.
// @NotEmpty
// Pattern(regexp = "^[A-z0-9 ,.-]*$")
// @Length(max = 100)
string locality = 5;

// Любая дополнительная информация об адресе, в.т.ч. улица, дом, квартира/офис
// @NotEmpty
// Pattern(regexp = "^[A-z0-9 ,.-]*$")
// @Length(max = 230)
string additional_info = 6;
// квартира
string flat = 10;

// @Description("Любая дополнительная информация об адресе, офис итд")
string additional_info = 11;
}
}