2024-09-23 14:46:46 +00:00
package models
type CreatingDealReq struct {
Fields CreateDealFields ` json:"fields" `
//Params struct {
// RegisterSonetEvent string `json:"REGISTER_SONET_EVENT"` // Зарегистрировать ли событие добавления сделки в живой ленте. Возможные значения: Y/N def - Y
//} `json:"params"`
}
type CreateDealFields struct {
Title string ` json:"TITLE" ` // название
TypeID string ` json:"TYPE_ID" ` // шаг сделки только с "ENTITY_ID":"DEAL_TYPE","STATUS_ID":"SALE"
StageID string ` json:"STAGE_ID" ` // стадия сделки, шаг "ENTITY_ID":"DEAL_STAGE","STATUS_ID":"NEW"
CompanyID int32 ` json:"COMPANY_ID" ` // id компании
ContactIDs [ ] int32 ` json:"CONTACT_IDS" ` // id контакта
Opened string ` json:"OPENED" ` // открыта или нет Y/N
2024-10-18 14:11:28 +00:00
AssignedByID int ` json:"ASSIGNED_BY_ID" ` // ответсвенный
2024-09-23 14:46:46 +00:00
CategoryID int32 ` json:"CATEGORY_ID" ` // воронка id воронки
SourceID string ` json:"SOURCE_ID" ` // тип источника, шаг "ENTITY_ID":"SOURCE","STATUS_ID":"CALL"
UtmSource string ` json:"UTM_SOURCE" ` // Рекламная система (Google-Adwords и другие)
UtmMedium string ` json:"UTM_MEDIUM" ` // Тип трафика. Возможные значения:CPC — объявления, CPM — баннеры
UtmCampaign string ` json:"UTM_CAMPAIGN" ` // Обозначение рекламной кампании
UtmContent string ` json:"UTM_CONTENT" ` // Содержание кампании. Например, для контекстных объявлений
UtmTerm string ` json:"UTM_TERM" ` // Условие поиска кампании. Например, ключевые слова контекстной рекламы
// todo умаю пока не нужны
//IsRecurring string `json:"IS_RECURRING"` // Является ли сделка регулярной (Y/N)
//IsReturnCustomer string `json:"IS_RETURN_CUSTOMER"` // Является ли сделка повторной (Y/N)
//IsRepeatedApproach string `json:"IS_REPEATED_APPROACH"` // Является ли сделка повторным обращением (Y/N)
//Probability int `json:"PROBABILITY"` // Вероятность успеха сделки, %
//CurrencyID string `json:"CURRENCY_ID"` // Идентификатор валюты сделки
//Opportunity float64 `json:"OPPORTUNITY"` // Сумма сделки
//IsManualOpportunity string `json:"IS_MANUAL_OPPORTUNITY"` // Включен ли ручной расчет суммы (Y/N)
//TaxValue float64 `json:"TAX_VALUE"` // Сумма налога
//BeginDate string `json:"BEGINDATE"` // Дата начала сделки
//CloseDate string `json:"CLOSEDATE"` // Дата завершения сделки
//Closed string `json:"CLOSED"` // Сделка закрыта (Y/N)
//Comments string `json:"COMMENTS"` // Комментарии к сделке
//SourceDescription string `json:"SOURCE_DESCRIPTION"` // Описание источника
//AdditionalInfo string `json:"ADDITIONAL_INFO"` // Дополнительная информация
//LocationID string `json:"LOCATION_ID"` // Местоположение клиента
//OriginatorID string `json:"ORIGINATOR_ID"` // Идентификатор источника данных
//OriginID string `json:"ORIGIN_ID"` // Идентификатор элемента в источнике данных
//Trace string `json:"TRACE"` // Информация для сквозной аналитики
//UfCrmCustomField []string `json:"UF_CRM_..."` // Пользовательские поля CRM
//ParentID string `json:"PARENT_ID_..."` // Поля связей с о смарт-процессами
}
2024-09-24 14:36:29 +00:00
//func (c *CreatingDealReq) FormattingToMap(fieldAnswer map[string]string) map[string]map[string]interface{} {
// resultFields := make(map[string]interface{})
// result := make(map[string]map[string]interface{})
//
// fields := reflect.ValueOf(c.Fields)
// fieldType := reflect.TypeOf(c.Fields)
//
// for i := 0; i < fields.NumField(); i++ {
// field := fields.Field(i)
// fieldName := fieldType.Field(i).Tag.Get("json")
//
// switch field.Kind() {
// case reflect.String:
// resultFields[fieldName] = field.String()
// case reflect.Int32, reflect.Int:
// resultFields[fieldName] = field.Int()
// case reflect.Slice:
// if field.Type().Elem().Kind() == reflect.Int32 {
// resultFields[fieldName] = field.Interface().([]int32)
// }
// }
// }
//
// for key, value := range fieldAnswer {
// resultFields[key] = value
// }
// result["fields"] = resultFields
//
// return result
//}
2024-09-23 14:46:46 +00:00
2024-09-24 14:36:29 +00:00
type MultiResp struct {
2024-09-23 14:46:46 +00:00
ID int32 ` json:"result" `
}