bitrix/internal/models/createDeal.go

83 lines
5.1 KiB
Go
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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
AssignedByID int `json:"ASSIGNED_BY_ID"` // ответсвенный
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_..."` // Поля связей со смарт-процессами
}
//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
//}
type MultiResp struct {
ID int32 `json:"result"`
}