gointrum

package module
v0.3.7 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Apr 25, 2025 License: LGPL-2.1 Imports: 9 Imported by: 0

README

Intrum Go

Библиотека API-запросов к Intrum CRM на Golang.

Оригинальная документация API Intrum: https://www.intrumnet.com/api/

Установка

go get -u github.com/theloveofcat/go-intrum

Documentation

Index

Constants

View Source
const (
	DatetimeLayout string = "2006-01-02 15:04:05" // Формат даты и времени Intrum
	DateLayout     string = "2006-01-02"          // Формат даты Intrum
	TimeLayout     string = "15:04:05"            // Формат времени Intrum

	TypeStock    string = "stock"    // Тип сущности "Объект"
	TypeCustomer string = "customer" // Тип сущности "Контакт"
	TypeSale     string = "sale"     // Тип сущности "Сделка"
	TypeRequest  string = "request"  // Тип сущности "Заявка"
)

Variables

This section is empty.

Functions

This section is empty.

Types

type Application added in v0.2.11

type Application struct {
	ID                   uint64                       `json:"id,string"`
	Publish              string                       `json:"publish"`
	EmployeeID           uint64                       `json:"employee_id,string"`
	CustomerID           uint64                       `json:"customer_id,string"`
	VisitID              uint64                       `json:"visit_id,string"`
	RequestTypeID        uint16                       `json:"request_type_id,string"`
	RequestTypeName      string                       `json:"request_type_name"`
	Source               string                       `json:"source"`
	DateCreate           time.Time                    `json:"date_create"`
	Comment              string                       `json:"comment"`
	RequestName          string                       `json:"request_name"`
	Status               string                       `json:"status"`
	RequestActivityType  string                       `json:"request_activity_type"`
	RequestActivityDate  time.Time                    `json:"request_activity_date"`
	RequestCreatorID     any                          `json:"request_creator_id"`
	AdditionalEmployeeID []any                        `json:"additional_employee_id"`
	Fields               map[string]*ApplicationField `json:"fields"`
}

func (*Application) GetFieldAttach added in v0.2.11

func (s *Application) GetFieldAttach(fieldID uint64) []uint64

attach

func (*Application) GetFieldDate added in v0.2.11

func (s *Application) GetFieldDate(fieldID uint64) time.Time

date

func (*Application) GetFieldDateRange added in v0.2.11

func (s *Application) GetFieldDateRange(fieldID uint64) [2]time.Time

date_range

func (*Application) GetFieldDatetime added in v0.2.11

func (s *Application) GetFieldDatetime(fieldID uint64) time.Time

datetime

func (*Application) GetFieldDatetimeRange added in v0.2.11

func (s *Application) GetFieldDatetimeRange(fieldID uint64) [2]time.Time

datetime_range

func (*Application) GetFieldDecimal added in v0.2.11

func (s *Application) GetFieldDecimal(fieldID uint64) float64

decimal

func (*Application) GetFieldDecimalRange added in v0.2.11

func (s *Application) GetFieldDecimalRange(fieldID uint64) [2]float64

decimal_range

func (*Application) GetFieldFile added in v0.2.11

func (s *Application) GetFieldFile(fieldID uint64) string

file

func (*Application) GetFieldInteger added in v0.2.11

func (s *Application) GetFieldInteger(fieldID uint64) int64

integer

func (*Application) GetFieldIntegerRange added in v0.2.11

func (s *Application) GetFieldIntegerRange(fieldID uint64) [2]int64

integer_range

func (*Application) GetFieldMultiselect added in v0.2.11

func (s *Application) GetFieldMultiselect(fieldID uint64) []string

multiselect

func (*Application) GetFieldPoint added in v0.2.11

func (s *Application) GetFieldPoint(fieldID uint64) [2]string

point

func (*Application) GetFieldPrice added in v0.2.11

func (s *Application) GetFieldPrice(fieldID uint64) float64

price

func (*Application) GetFieldRadio added in v0.2.11

func (s *Application) GetFieldRadio(fieldID uint64) bool

radio

func (*Application) GetFieldSelect added in v0.2.11

func (s *Application) GetFieldSelect(fieldID uint64) string

select

func (*Application) GetFieldText added in v0.2.11

func (s *Application) GetFieldText(fieldID uint64) string

text

func (*Application) GetFieldTime added in v0.2.11

func (s *Application) GetFieldTime(fieldID uint64) time.Time

time

func (*Application) GetFieldTimeRange added in v0.2.11

func (s *Application) GetFieldTimeRange(fieldID uint64) [2]time.Time

time_range

func (*Application) UnmarshalJSON added in v0.2.11

func (s *Application) UnmarshalJSON(data []byte) error

type ApplicationField added in v0.2.11

type ApplicationField struct {
	Datatype string `json:"datatype"`
	Value    any    `json:"value"`
}

type ApplicationFilterData added in v0.2.11

type ApplicationFilterData struct {
	List  []*Application `json:"list"`
	Count bool           `json:"count"`
}

type ApplicationFilterParams added in v0.2.11

type ApplicationFilterParams struct {
	Search           string           // поисковая строка (может содержать фамилию, телефон контакта или название заявки)
	Groups           []uint16         // массив CRM групп
	Manager          []uint64         // id ответственного или массив с несколькими id
	RequestCreatorID uint64           // id создателя
	ByID             uint64           // id заявки
	ByIDs            []uint64         // массив ids заявок
	Customer         uint64           // id контакта
	Fields           map[int64]string // массив условий поиска по полям
	Types            []uint16         // массив id типов
	OrderField       string           // если в качестве значения указать request_activity_date выборка будет сортироваться по дате активности
	Order            string           // направление сортировки asc - по возрастанию, desc - по убыванию (сортировка только по дате последней активности)
	Date             [2]time.Time     // {from: "2015-10-29", to: "2015-11-19"} выборка за определенный период
	DateField        string           // если в качестве значения указать request_activity_date выборка по параметру заявки, create_date - по дате создания, delete_date - по дате удаления, id - по id
	Statuses         []string         // массив id статусов
	Page             uint16           // номер страницы выборки (нумерация с 1)
	Publish          string           // 1 - активные, 0 - удаленные, по умолчанию 1
	Limit            uint16           // число записей в выборке (макс. 500)
	SliceFields      []uint64         // массив id дополнительных полей, которые будут в ответе (по умолчанию, если не задано, то выводятся все)
}

Ссылка на метод: https://www.intrumnet.com/api/#applications-filter

type ApplicationFilterResponse added in v0.2.11

type ApplicationFilterResponse struct {
	*Response
	Data *ApplicationFilterData `json:"data,omitempty"`
}

func ApplicationFilter added in v0.2.11

func ApplicationFilter(ctx context.Context, subdomain, apiKey string, params *ApplicationFilterParams) (*ApplicationFilterResponse, error)

type HistoryLogData added in v0.2.8

type HistoryLogData struct {
	ObjectID   uint64    `json:"object_id,string"`
	PropertyID string    `json:"property_id"`
	Value      string    `json:"value"`
	Current    string    `json:"current"`
	Date       time.Time `json:"date"`
	EmployeeID uint64    `json:"employee_id,string"`
}

func (*HistoryLogData) UnmarshalJSON added in v0.2.8

func (d *HistoryLogData) UnmarshalJSON(data []byte) error

type HistoryLogParams added in v0.2.8

type HistoryLogParams struct {
	ObjectType string       // Обязательно. Одно из значений: stock | customer | sale | request
	ObjectID   []uint64     // Массив ID объекта
	EmployeeID []uint64     // Массив ID сотрудников, проводивших изменения
	Date       [2]time.Time // Выборка за определенный период

}

Ссылка на метод: https://www.intrumnet.com/api/#history

type HistoryLogParamsLog added in v0.2.8

type HistoryLogParamsLog struct {
	PropertyID string       // ID свойства
	Date       [2]time.Time // Выборка за определенный период
	Value      string       // Предыдущее значение. Одно из значений: @any | @empty | @not-empty
	Current    string       // Текущее значение. Одно из значений: @any | @empty | @not-empty
}

type HistoryLogResponse added in v0.2.8

type HistoryLogResponse struct {
	*Response
	Data []*HistoryLogData `json:"data,omitempty"`
}

func HistoryLog added in v0.2.8

func HistoryLog(ctx context.Context, subdomain, apiKey string, inParams *HistoryLogParams) (*HistoryLogResponse, error)

Ссылка на метод: https://www.intrumnet.com/api/#history

type Response added in v0.3.0

type Response struct {
	Status  string `json:"status"`
	Message string `json:"message,omitempty"`
}

Ответ API Intrum

func (*Response) GetErrorMessage added in v0.3.0

func (r *Response) GetErrorMessage() string

type Sale

type Sale struct {
	ID                   uint64                `json:"id,string"`              // ID сделки
	CustomersID          uint64                `json:"customers_id,string"`    // ID контакта
	EmployeeID           uint64                `json:"employee_id,string"`     // ID ответственного
	AdditionalEmployeeID []uint64              `json:"additional_employee_id"` // Массив ID доп. ответственных
	DateCreate           time.Time             `json:"date_create"`            // Дата создания
	SalesTypeID          uint16                `json:"sales_type_id,string"`   // ID типа активности
	SaleStageID          uint16                `json:"sale_stage_id,string"`   // ID стадии
	SaleName             string                `json:"sale_name"`              // Название сделки
	SaleActivityType     string                `json:"sale_activity_type"`     // Тип последней активности
	SaleActivityDate     time.Time             `json:"sale_activity_date"`     // Дата последней активности сделк
	Fields               map[string]*SaleField `json:"fields"`                 // Данные полей
}

func (*Sale) GetFieldAttach added in v0.2.5

func (s *Sale) GetFieldAttach(fieldID uint64) []uint64

attach

func (*Sale) GetFieldDate added in v0.2.5

func (s *Sale) GetFieldDate(fieldID uint64) time.Time

date

func (*Sale) GetFieldDateRange added in v0.2.5

func (s *Sale) GetFieldDateRange(fieldID uint64) [2]time.Time

date_range

func (*Sale) GetFieldDatetime added in v0.2.5

func (s *Sale) GetFieldDatetime(fieldID uint64) time.Time

datetime

func (*Sale) GetFieldDatetimeRange added in v0.2.5

func (s *Sale) GetFieldDatetimeRange(fieldID uint64) [2]time.Time

datetime_range

func (*Sale) GetFieldDecimal added in v0.2.5

func (s *Sale) GetFieldDecimal(fieldID uint64) float64

decimal

func (*Sale) GetFieldDecimalRange added in v0.2.5

func (s *Sale) GetFieldDecimalRange(fieldID uint64) [2]float64

decimal_range

func (*Sale) GetFieldFile added in v0.2.5

func (s *Sale) GetFieldFile(fieldID uint64) string

file

func (*Sale) GetFieldInteger added in v0.2.5

func (s *Sale) GetFieldInteger(fieldID uint64) int64

integer

func (*Sale) GetFieldIntegerRange added in v0.2.5

func (s *Sale) GetFieldIntegerRange(fieldID uint64) [2]int64

integer_range

func (*Sale) GetFieldMultiselect added in v0.2.5

func (s *Sale) GetFieldMultiselect(fieldID uint64) []string

multiselect

func (*Sale) GetFieldPoint added in v0.2.5

func (s *Sale) GetFieldPoint(fieldID uint64) [2]string

point

func (*Sale) GetFieldPrice added in v0.2.5

func (s *Sale) GetFieldPrice(fieldID uint64) float64

price

func (*Sale) GetFieldRadio added in v0.2.5

func (s *Sale) GetFieldRadio(fieldID uint64) bool

radio

func (*Sale) GetFieldSelect added in v0.2.5

func (s *Sale) GetFieldSelect(fieldID uint64) string

select

func (*Sale) GetFieldText added in v0.2.5

func (s *Sale) GetFieldText(fieldID uint64) string

text

func (*Sale) GetFieldTime added in v0.2.5

func (s *Sale) GetFieldTime(fieldID uint64) time.Time

time

func (*Sale) GetFieldTimeRange added in v0.2.5

func (s *Sale) GetFieldTimeRange(fieldID uint64) [2]time.Time

time_range

func (*Sale) UnmarshalJSON added in v0.2.0

func (s *Sale) UnmarshalJSON(data []byte) error

type SaleField

type SaleField struct {
	DataType string `json:"datatype"`
	Value    any    `json:"value"`
}

Использовать метод GetField для получения значения поля // TODO

type SalesFilterData

type SalesFilterData struct {
	List []*Sale `json:"list"`
}

type SalesFilterParams

type SalesFilterParams struct {
	Manager     []uint64 // Массив ID ответственных
	Type        []uint16 // Массив ID типов сделок
	Stage       []uint16 // Массив ID стадий сделок
	ByIDs       []uint64 // Получение сделок по массиву ID
	SliceFields []uint64 // Массив ID дополнительных полей, которые будут в ответе (по умолчанию выводятся все)
	Limit       uint16   // Число записей в выборке (Макс. 500)

	/*
			Массив условий поиска, где ключ - ID поля, значение - значение поля
			Для полей с типом integer,decimal,price,time,date,datetime возможно указывать границы:
		    Value: ">= значение" - больше или равно
		    Value: "<= значение" - меньше или равно
		    Value: "значение_1 & значение_2" - между значением 1 и 2
	*/
	Fields map[uint64]string
}

Ссылка на метод: https://www.intrumnet.com/api/#sales-filter

type SalesFilterResponse

type SalesFilterResponse struct {
	*Response
	Data *SalesFilterData `json:"data,omitempty"`
}

func SalesFilter

func SalesFilter(ctx context.Context, subdomain, apiKey string, inputParams *SalesFilterParams) (*SalesFilterResponse, error)

Ссылка на метод: https://www.intrumnet.com/api/#sales-filter

type SalesGetByChangeStageData

type SalesGetByChangeStageData struct {
	List []*SalesGetByChangeStageDataList `json:"list"`
}

type SalesGetByChangeStageDataList

type SalesGetByChangeStageDataList struct {
	SaleID     uint64    `json:"sale_id,string"`
	SaleTypeID uint16    `json:"sale_type_id,string"`
	ToStage    uint16    `json:"to_stage,string"`
	FromStage  uint16    `json:"from_stage,string"`
	Date       time.Time `json:"date"`
}

func (*SalesGetByChangeStageDataList) UnmarshalJSON added in v0.2.0

func (s *SalesGetByChangeStageDataList) UnmarshalJSON(data []byte) error

type SalesGetByChangeStageParams

type SalesGetByChangeStageParams struct {
	DateStart time.Time
	DateEnd   time.Time
	SaleID    []uint64
	Stage     []uint16
}

Ссылка на метод: https://www.intrumnet.com/api/#sales-filter-stage-period

type SalesGetByChangeStageResponse

type SalesGetByChangeStageResponse struct {
	*Response
	Data *SalesGetByChangeStageData `json:"data,omitempty"`
}

func SalesGetByChangeStage

func SalesGetByChangeStage(ctx context.Context, subdomain, apiKey string, inputParams *SalesGetByChangeStageParams) (*SalesGetByChangeStageResponse, error)

Ссылка на метод: https://www.intrumnet.com/api/#sales-filter-stage-period

type SalesStage

type SalesStage struct {
	ID        uint16 `json:"id,string"`
	Name      string `json:"name"`
	Color     string `json:"color"`
	Order     uint16 `json:"order,string"`
	IsSuccess *bool  `json:"is_success,omitempty"`
	IsFail    *bool  `json:"is_fail,omitempty"`
}

type SalesTypesData

type SalesTypesData struct {
	ID     uint16        `json:"id,string"`
	Name   string        `json:"name"`
	Stages []*SalesStage `json:"stages"`
}

type SalesTypesResponse

type SalesTypesResponse struct {
	*Response
	Data []*SalesTypesData `json:"data,omitempty"`
}

func SalesTypes

func SalesTypes(ctx context.Context, subdomain, apiKey string) (*SalesTypesResponse, error)

Ссылка на метод: https://www.intrumnet.com/api/#sales-types

type SalesUpdateParams

type SalesUpdateParams struct {
	ID            uint64 // ID существующего объекта // ! Обязательно
	SalesStatusID uint16 // ID стадии сделки

	// Дополнительные поля
	//
	// 	Ключ uint64 == ID поля
	// 	Значение any == Значение поля
	//		"знач1,знач2,знач3" (Для значений с типом "множественный выбор")
	Fields map[uint64]string // Дополнительные поля

}

Ссылка на метод: https://www.intrumnet.com/api/#sales-update

type SalesUpdateResponse

type SalesUpdateResponse struct {
	*Response
	Data bool `json:"data,omitempty"`
}

func SalesUpdate

func SalesUpdate(ctx context.Context, subdomain, apiKey string, inputParams *SalesUpdateParams) (*SalesUpdateResponse, error)

Ссылка на метод: https://www.intrumnet.com/api/#sales-update

Ограничение 1 запрос == 1 сделка

type Stock added in v0.2.6

type Stock struct {
	ID                   uint64                 `json:"id,string"`
	StockType            uint16                 `json:"stock_type,string"`
	Type                 uint16                 `json:"type,string"`
	Parent               uint16                 `json:"parent,string"`
	Name                 string                 `json:"name"`
	DateAdd              time.Time              `json:"date_add"` // TODO
	Count                bool                   `json:"count"`
	Author               uint64                 `json:"author,string"`
	EmployeeID           uint64                 `json:"employee_id,string"`
	AdditionalAuthor     []uint64               `json:"additional_author"`
	AdditionalEmployeeID []uint64               `json:"additional_employee_id"`
	LastModify           time.Time              `json:"last_modify"` // TODO
	CustomerRelation     uint64                 `json:"customer_relation,string"`
	StockActivityType    string                 `json:"stock_activity_type"`
	StockActivityDate    time.Time              `json:"stock_activity_date"` // TODO
	Publish              bool                   `json:"publish"`
	Copy                 uint64                 `json:"copy,string"`
	GroupID              uint16                 `json:"group_id,string"`
	StockCreatorID       uint64                 `json:"stock_creator_id,string"`
	Fields               map[uint64]*StockField `json:"fields"`
}

func (*Stock) GetFieldAttach added in v0.2.6

func (s *Stock) GetFieldAttach(fieldID uint64) []uint64

attach

func (*Stock) GetFieldDate added in v0.2.6

func (s *Stock) GetFieldDate(fieldID uint64) time.Time

date

func (*Stock) GetFieldDateRange added in v0.2.6

func (s *Stock) GetFieldDateRange(fieldID uint64) [2]time.Time

date_range

func (*Stock) GetFieldDatetime added in v0.2.6

func (s *Stock) GetFieldDatetime(fieldID uint64) time.Time

datetime

func (*Stock) GetFieldDatetimeRange added in v0.2.6

func (s *Stock) GetFieldDatetimeRange(fieldID uint64) [2]time.Time

datetime_range

func (*Stock) GetFieldDecimal added in v0.2.6

func (s *Stock) GetFieldDecimal(fieldID uint64) float64

decimal

func (*Stock) GetFieldDecimalRange added in v0.2.6

func (s *Stock) GetFieldDecimalRange(fieldID uint64) [2]float64

decimal_range

func (*Stock) GetFieldFile added in v0.2.6

func (s *Stock) GetFieldFile(fieldID uint64) string

file

func (*Stock) GetFieldInteger added in v0.2.6

func (s *Stock) GetFieldInteger(fieldID uint64) int64

integer

func (*Stock) GetFieldIntegerRange added in v0.2.6

func (s *Stock) GetFieldIntegerRange(fieldID uint64) [2]int64

integer_range

func (*Stock) GetFieldMultiselect added in v0.2.6

func (s *Stock) GetFieldMultiselect(fieldID uint64) []string

multiselect

func (*Stock) GetFieldPoint added in v0.2.6

func (s *Stock) GetFieldPoint(fieldID uint64) [2]string

point

func (*Stock) GetFieldPrice added in v0.2.6

func (s *Stock) GetFieldPrice(fieldID uint64) float64

price

func (*Stock) GetFieldRadio added in v0.2.6

func (s *Stock) GetFieldRadio(fieldID uint64) bool

radio

func (*Stock) GetFieldSelect added in v0.2.6

func (s *Stock) GetFieldSelect(fieldID uint64) string

select

func (*Stock) GetFieldText added in v0.2.6

func (s *Stock) GetFieldText(fieldID uint64) string

text

func (*Stock) GetFieldTime added in v0.2.6

func (s *Stock) GetFieldTime(fieldID uint64) time.Time

time

func (*Stock) GetFieldTimeRange added in v0.2.6

func (s *Stock) GetFieldTimeRange(fieldID uint64) [2]time.Time

time_range

func (*Stock) UnmarshalJSON added in v0.2.6

func (s *Stock) UnmarshalJSON(data []byte) error

type StockAttachData added in v0.2.12

type StockAttachData struct {
	Requests []string `json:"requests"`
}

type StockAttachParams added in v0.2.12

type StockAttachParams struct {
	ID []uint64 // ID объектов
}

Ссылка на метод: https://www.intrumnet.com/api/#stock-attach

type StockAttachResponse added in v0.2.12

type StockAttachResponse struct {
	*Response
	Data map[string]*StockAttachData `json:"data,omitempty"`
}

func StockAttach added in v0.2.12

func StockAttach(ctx context.Context, subdomain, apiKey string, params *StockAttachParams) (*StockAttachResponse, error)

StockAttach. Ссылка на метод: https://www.intrumnet.com/api/#stock-attach

func (*StockAttachResponse) UnmarshalJSON added in v0.3.2

func (s *StockAttachResponse) UnmarshalJSON(data []byte) error

type StockField added in v0.2.6

type StockField struct {
	ID    uint64 `json:"id,string"`
	Type  string `json:"type"`
	Value any    `json:"value"`
}

type StockFilterData added in v0.2.6

type StockFilterData struct {
	List []*Stock `json:"list"`
}

type StockFilterParams added in v0.2.6

type StockFilterParams struct {
	Type                uint16       // ID типа объекта (Обязательное поле, если не указаны ByID/ByIDs)
	ByID                uint64       // ID объекта
	ByIDs               []uint64     // Массив ID объектов (Все объекты из массива должны быть одного типа)
	Category            uint16       // ID категории объекта
	Nested              bool         // Включить вложенные категории
	Search              string       // Поисковая строка может содержать имя объекта или вхождения в поля с типами text,select,multiselect (полнотекстовый поиск)
	Manager             []uint64     // Массив ID ответственных
	Groups              []uint16     // Массив CRM групп
	StockCreatorID      uint64       // ID создателя
	IndexFields         bool         // Индексировать массив полей по ID свойства
	RelatedWithCustomer uint64       // ID контакта, связанного с объектом
	Order               string       // Направление сортировки (asc - по возрастанию, desc - по убыванию)
	OrderField          uint64       // ID поля, по которому нужно сделать сортировку (если в качестве значения указать stock_activity_date выборка будет сортироваться по дате активности; date_add - по дате создания, date_delete - по дате удаления, ID - по ID)
	Date                [2]time.Time // Выборка за определенный период
	DateField           string       // Если в качестве значения указать stock_activity_date, то выборка по параметру последней активности (в этом случае период выборки нужно передавать в параметре date)
	Page                uint16       // Номер страницы выборки (например, 2 страница с limit 500 на каждой, нумерация page начиная с 1)
	Publish             string       // "1" - активные | "0" - удаленные | "ignore" - вывод всех (по умолчанию "1")
	Limit               uint16       // Число записей в выборке, по умолчанию 20, макс. 500
	GroupID             uint16       // ID группы для группированных объектов
	Copy                uint64       // ID Родителя группы для группированных объектов
	ObjectGroups        uint16       // Число записей в выборке, по умолчанию 20, макс. 500
	CountTotal          bool         // Подсчет общего количества найденых записей
	OnlyPrimaryID       bool         // Вывести в ответе только ID объектов
	OnlyCountField      bool         // Вывести в ответе только количество
	SliceFields         []uint64     // Массив id дополнительных полей, которые будут в ответе (по умолчанию если не задано то выводятся все)
	SumField            uint64       // ID поля, которое нужно просуммировать. В ответе будет сумма значений поля результатов выборки (переменная: sum_field) и их число (count_field). Опция работает только для числовых полей (целое, число, цена)

	/*
			Массив условий поиска, где ключ - ID поля, значение - значение поля
			Для полей с типом integer,decimal,price,time,date,datetime возможно указывать границы:
		    Value: ">= значение" - больше или равно
		    Value: "<= значение" - меньше или равно
		    Value: "значение_1 & значение_2" - между значением 1 и 2
	*/
	Fields map[uint64]string
}

type StockFilterResponse added in v0.2.6

type StockFilterResponse struct {
	*Response
	Data *StockFilterData `json:"data,omitempty"`
}

func StockFilter added in v0.2.6

func StockFilter(ctx context.Context, subdomain, apiKey string, inputParams *StockFilterParams) (*StockFilterResponse, error)

Ссылка на метод: https://www.intrumnet.com/api/#stock-search

type StockInsertParams

type StockInsertParams struct {
	Parent              uint64   // ID категории объекта // Обязательно
	Name                string   // Название объекта
	Author              uint64   // ID ответственного
	AdditionalAuthor    []uint64 // Массив ID дополнительных ответственных
	RelatedWithCustomer uint64   // ID контакта, прикрепленного к объекту
	GroupID             uint16   // ID группы
	Copy                uint64   // Родительский объект группы

	// Дополнительные поля
	//
	// 	Ключ uint64 == ID поля
	// 	Значение any == Значение поля
	//		"знач1,знач2,знач3" (Для значений с типом "множественный выбор")
	Fields map[uint64]string
}

Ссылка на метод: http://domainname.intrumnet.com:81/sharedapi/stock/insert

type StockInsertResponse

type StockInsertResponse struct {
	*Response
	Data []uint64 `json:"data,omitempty"`
}

func StockInsert

func StockInsert(ctx context.Context, subdomain, apiKey string, inputParams *StockInsertParams) (*StockInsertResponse, error)

Ссылка на метод: http://domainname.intrumnet.com:81/sharedapi/stock/insert

Ограничение 1 запрос == 1 объект

type StockUpdateParams added in v0.2.7

type StockUpdateParams struct {
	ID                  uint64   // ID существующего объекта // ! Обязательно
	Parent              uint16   // ID категории объекта
	Name                string   // Наименования объекта
	Author              uint64   // ID ответственного
	AdditionalAuthor    []uint64 // Массив ID доп. ответственных
	RelatedWithCustomer uint64   // ID контакта, прикрепленного к объекту
	GroupID             uint16   // Связь с группой объектов. Подробнее о группах: https://www.intrumnet.com/wiki/gruppirovka_produktov___obektov__zhilye_kompleksy__kottedzhnye_poselki_-207
	Copy                uint64   // Родительский объект группы
	// Дополнительные поля
	//
	// 	Ключ uint64 == ID поля
	// 	Значение any == Значение поля
	//		"знач1,знач2,знач3" (Для значений с типом "множественный выбор")
	Fields map[uint64]string
}

Ссылка на метод: https://www.intrumnet.com/api/#stock-update

type StockUpdateResponse added in v0.2.7

type StockUpdateResponse struct {
	*Response
	Data bool `json:"data,omitempty"`
}

func StockUpdate added in v0.2.7

func StockUpdate(ctx context.Context, subdomain, apiKey string, inputParams *StockUpdateParams) (*StockUpdateResponse, error)

Ссылка на метод: https://www.intrumnet.com/api/#stock-update

Ограничение 1 запрос == 1 сделка

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL