2024-05-04 18:38:36 +00:00
|
|
|
|
package models
|
|
|
|
|
|
|
|
|
|
type DealReq struct {
|
2024-05-04 18:41:04 +00:00
|
|
|
|
Name string `json:"name"` // название сделки
|
|
|
|
|
Price int `json:"price"` // бюджет сделки
|
|
|
|
|
StatusID int32 `json:"status_id"` // id статуса (шага в нашем случае) в который добавляется сделка
|
|
|
|
|
PipelineID int32 `json:"pipeline_id"` // ID воронки, в которую добавляется сделка
|
|
|
|
|
CreatedBy int32 `json:"created_by"` // id пользователя amoid который создает сделку (тот кто подключил интеграцию)
|
|
|
|
|
UpdatedBy int `json:"updated_by"` // ID пользователя, изменяющий сделку. При передаче значения 0, сделка будет считаться измененной роботом
|
|
|
|
|
ClosedAt int64 `json:"closed_at"` // Дата закрытия сделки, передается в Unix Timestamp
|
|
|
|
|
CreatedAt int64 `json:"created_at"` // Дата создания сделки, передается в Unix Timestamp
|
|
|
|
|
UpdatedAt int64 `json:"updated_at"` // Дата изменения сделки, передается в Unix Timestamp
|
|
|
|
|
LossReasonID *int `json:"loss_reason_id,omitempty"` // ID причины отказа
|
|
|
|
|
ResponsibleUserID int32 `json:"responsible_user_id"` // ID пользователя, ответственного за сделку, в нашем случае PerformerID
|
|
|
|
|
CustomFieldsValues []FieldsValues `json:"custom_fields_values"` // Массив полей которые заполняются значениями
|
|
|
|
|
TagsToAdd []Tag `json:"tags_to_add"` // Массив тегов для добавления
|
2024-05-04 18:38:36 +00:00
|
|
|
|
Embed Embedd `json:"_embedded"`
|
2024-05-05 12:22:54 +00:00
|
|
|
|
RequestID string `json:"request_id"`
|
2024-05-04 18:38:36 +00:00
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
type FieldsValues struct {
|
|
|
|
|
FieldID int `json:"field_id"`
|
|
|
|
|
Values []Values `json:"values"`
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
type Values struct {
|
|
|
|
|
Value string `json:"value"` // пока так пока не понятно
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
type Embedd struct {
|
|
|
|
|
Tags []Tag `json:"tags"` // Данные тегов, добавляемых к сделке
|
|
|
|
|
Contact []Contact `json:"contacts"` // Данные контактов, которые будет прикреплены к сделке
|
|
|
|
|
Company []Company `json:"companies"` // Данные компании, которая будет прикреплена к сделке
|
|
|
|
|
Source Source `json:"source"`
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
type Contact struct {
|
2024-05-05 12:22:54 +00:00
|
|
|
|
//ID int32 `json:"id"` // ID контакта
|
2024-05-05 16:06:49 +00:00
|
|
|
|
//IsMain bool `json:"is_main"` // Флаг, показывающий, является контакт главным или нет
|
2024-05-04 21:06:17 +00:00
|
|
|
|
Name string `json:"first_name"`
|
2024-05-05 16:06:49 +00:00
|
|
|
|
ResponsibleUserID int32 `json:"responsible_user_id"` // ID пользователя, ответственного за сделку, в нашем случае PerformerID
|
|
|
|
|
CreatedBy int32 `json:"created_by"` // id пользователя amoid который создает сделку (тот кто подключил интеграцию)
|
2024-05-04 21:06:17 +00:00
|
|
|
|
UpdatedBy int `json:"updated_by"`
|
2024-05-05 16:06:49 +00:00
|
|
|
|
CreatedAt int64 `json:"created_at"`
|
|
|
|
|
UpdatedAt int64 `json:"updated_at"` // Дата изменения сделки, передается в Unix Timestamp
|
2024-05-04 21:06:17 +00:00
|
|
|
|
CustomFieldsValues []FieldsValues `json:"custom_fields_values"` // Массив полей которые заполняются значениями
|
2024-05-04 18:38:36 +00:00
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
type Company struct {
|
2024-05-05 12:22:54 +00:00
|
|
|
|
//ID int32 `json:"id"` // ID компании
|
|
|
|
|
Name string `json:"name"` // Название компании
|
|
|
|
|
ResponsibleUserID int32 `json:"responsible_user_id"` // ID пользователя, ответственного за сделку, в нашем случае PerformerID
|
|
|
|
|
CreatedBy int32 `json:"created_by"` // id пользователя amoid который создает сделку (тот кто подключил интеграцию)
|
|
|
|
|
UpdatedBy int `json:"updated_by"`
|
|
|
|
|
CreatedAt int64 `json:"created_at"`
|
|
|
|
|
UpdatedAt int64 `json:"updated_at"` // Дата изменения сделки, передается в Unix Timestamp
|
|
|
|
|
CustomFieldsValues []FieldsValues `json:"custom_fields_values"` // Массив полей которые заполняются значениями
|
2024-05-04 18:38:36 +00:00
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
type Source struct {
|
|
|
|
|
ExternalID int `json:"external_id"` // Внешний ID источника
|
|
|
|
|
Type string `json:"type"` // Тип источника. Для сделок, добавляемых интеграциями, поддерживается только widget
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
type DealResp struct {
|
2024-05-06 10:44:02 +00:00
|
|
|
|
DealID int32 `json:"id"` // ID сделки
|
2024-05-05 12:22:54 +00:00
|
|
|
|
ContactID int `json:"contact_id"` // ID контакта
|
|
|
|
|
CompanyID int `json:"company_id"` // ID компании
|
|
|
|
|
Merged bool `json:"merged"` // Флаг, который показывает, найден дубль подходящий под условия поиска дублей и произведено объединение или нет
|
|
|
|
|
RequestID []string `json:"request_id"` // Массив строк с пользовательскими идентификаторами, которые были переданы с каждой сущностью
|
2024-05-04 18:38:36 +00:00
|
|
|
|
}
|