amocrm_v4

package module
v0.2.26 Latest Latest
Warning

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

Go to latest
Published: Jul 14, 2022 License: MIT Imports: 13 Imported by: 0

README

amocrmV4

Клиент для AMOCRM для 4 версии API

Documentation

Index

Constants

View Source
const (
	CatalogRegular  CatalogType = "regular"
	CatalogInvoices CatalogType = "invoices"
	CatalogProducts CatalogType = "products"

	ElementWithInvoiceLink ElementWithType = "invoice_link" // При передаче данного параметра, вернется дополнительное свойство invoice_link, содержащие ссылку на печатную форму счета. Если передать этот параметр с отличным от списка Счетов списком, то вернется null.
)
View Source
const (
	// TaskCall задача – Звонок
	TaskCall TaskTypeIdType = iota + 1
	// TaskMeeting задача – Встреча
	TaskMeeting

	TaskForLead       TaskEntityType = "leads"
	TaskForContact    TaskEntityType = "contacts"
	TasksForCompany   TaskEntityType = "companies"
	TasksForCustomers TaskEntityType = "customers"

	FilterByIsCompletedTrue  FilterByIsCompletedType = 1
	FilterByIsCompletedFalse FilterByIsCompletedType = 0

	OrderByCreatedAt    OrderType = "created_at"
	OrderByCompleteTill OrderType = "complete_till"
	OrderById           OrderType = "id"

	OrderAsc  OrderDirectionType = "asc"
	OrderDesc OrderDirectionType = "desc"
)

Variables

This section is empty.

Functions

func GetAllProducts added in v0.2.25

func GetAllProducts()

Types

type Amo added in v0.2.23

type Amo struct {
	Contact Ct
	Lead    Ld
	Task    Tsk
	Catalog Ctg
}

func NewClient

func NewClient(initConfig *InitAmoConfig, storageConfig *AuthAmoStorageConfig) *Amo

type AmoAuthorizationDataStorage

type AmoAuthorizationDataStorage struct {
	Storage    string `json:"storage"`
	ConnectURI string `json:"connect_uri"`
}

type AuthAmoStorageConfig

type AuthAmoStorageConfig struct {
	DB        *gorm.DB
	TableName string
	AppName   string
}

type AuthorizationData

type AuthorizationData struct {
	gorm.Model
	AppName      string    `gorm:"column:app_name"`
	RefreshToken string    `gorm:"column:refresh_token"`
	ExpiresIn    time.Time `gorm:"column:expires_in"`
}

type CatalogType added in v0.2.25

type CatalogType string

type Catalogs added in v0.2.25

type Catalogs []*catalog

type ContactWithType added in v0.2.14

type ContactWithType string
const (
	ContactWithLeads           ContactWithType = "leads"
	ContactWithCustomers       ContactWithType = "customers"
	ContactWithCatalogElements ContactWithType = "catalog_elements"
)

type Ct added in v0.2.11

type Ct struct{}

func (Ct) All added in v0.2.11

func (c Ct) All() ([]*contact, error)

func (Ct) ByID added in v0.2.14

func (c Ct) ByID(id int, with []ContactWithType) (*contact, error)

func (Ct) New added in v0.2.11

func (c Ct) New() *contact

New Method creates empty struct

func (Ct) Query added in v0.2.11

func (c Ct) Query(params *GetContactsQueryParams) ([]*contact, error)

type Ctg added in v0.2.25

type Ctg struct{}

func (Ctg) All added in v0.2.25

func (c Ctg) All() (*Catalogs, error)

All Метод позволяет получить доступные списки в аккаунте.

func (Ctg) ByID added in v0.2.25

func (c Ctg) ByID(id int) (*catalog, error)

ByID Метод позволяет получить данные конкретного списка по ID.

func (Ctg) Create added in v0.2.25

func (c Ctg) Create(catalogs Catalogs) (*allCatalogs, error)

Create Метод позволяет добавлять списки в аккаунт пакетно.

func (Ctg) New added in v0.2.25

func (c Ctg) New() *catalog

type CustomField added in v0.2.25

type CustomField struct {
	FieldId   int     `json:"field_id"`
	FieldName string  `json:"field_name"`
	FieldCode *string `json:"field_code"`
	FieldType string  `json:"field_type"`
	Values    []struct {
		Value    string `json:"value"`
		EnumId   int    `json:"enum_id,omitempty"`
		EnumCode string `json:"enum_code,omitempty"`
	} `json:"values"`
}

type ElementWithType added in v0.2.25

type ElementWithType string

type Elements added in v0.2.25

type Elements []*element

type FilterByIsCompletedType added in v0.2.25

type FilterByIsCompletedType int

type GetCatalogElementsQueryParams added in v0.2.25

type GetCatalogElementsQueryParams struct {
	Page       int             `url:"page"`         //Страница выборки
	Limit      int             `url:"limit"`        //Количество возвращаемых сущностей за один запрос (Максимум – 250)
	Query      string          `url:"query"`        //Поисковый запрос (Осуществляет поиск по заполненным полям сущности)
	FilterByID string          `url:"filter_by_id"` //Фильтр по ID элемента. Можно передать как один ID, так и массив из нескольких ID
	With       ElementWithType `url:"with"`         //Поля для выборки
}

type GetCatalogsQueryParams added in v0.2.25

type GetCatalogsQueryParams struct {
	Page  int `url:"page"`
	Limit int `url:"limit"`
}

type GetContactsQueryParams added in v0.2.14

type GetContactsQueryParams struct {
	With   []ContactWithType `url:"with,omitempty"`
	Limit  int               `url:"limit,omitempty"`
	Page   int               `url:"page,omitempty"`
	Query  interface{}       `url:"query,omitempty"`
	Filter interface{}       `url:"filter,omitempty"`
	Order  interface{}       `url:"order,omitempty"`
}

type GetLeadsQueryParams added in v0.2.14

type GetLeadsQueryParams struct {
	With   []string    `url:"with,omitempty"`
	Limit  int         `url:"limit,omitempty"`
	Page   int         `url:"page,omitempty"`
	Query  interface{} `url:"query,omitempty"`
	Filter interface{} `url:"filter,omitempty"`
	Order  interface{} `url:"order,omitempty"`
}

type GetNotesQueryParams added in v0.2.12

type GetNotesQueryParams struct {
	//entityType        string      `url:"-"`
	//entityId          int         `url:"-"`
	//path              string      `url:"-"`
	Page              int         `url:"page,omitempty"`
	Limit             int         `url:"limit,omitempty"`
	Filter            interface{} `url:"filter,omitempty"`
	FilterById        interface{} `url:"filter[id],omitempty"`
	FilterByNoteType  interface{} `url:"filter[note_type],omitempty"`
	FilterByUpdatedAt interface{} `url:"filter[updated_at],omitempty"`
	Order             interface{} `url:"order,omitempty"`
}

type GetTaskQueryParams added in v0.2.25

type GetTaskQueryParams struct {
	Page                      int                     `url:"page,omitempty"`                          // Страница выборки
	Limit                     int                     `url:"limit,omitempty"`                         // Количество возвращаемых сущностей за один запрос (Максимум – 250)
	FilterByResponsibleUserId []int                   `url:"filter[responsible_user_id][],omitempty"` // Фильтр по ID ответственного за задачу пользователя. Можно передать как один ID, так и массив из нескольких ID
	FilterByIsCompleted       FilterByIsCompletedType `url:"filter[is_completed][],omitempty"`        // Фильтр по статусу задачи.
	FilterByTaskType          []TaskEntityType        `url:"filter[task_type][],omitempty"`           // Фильтр по ID типа задачи. Можно передать как один ID, так и массив из нескольких ID
	FilterByEntityType        TaskEntityType          `url:"filter[entity_type][],omitempty"`         // Фильтр по типу привязанной к задаче сущности. Возможные значения: leads, contacts, companies, customers
	FilterByEntityId          []int                   `url:"filter[entity_id][],omitempty"`           // Фильтр по ID, привязанной к задаче, сущности. Для его использования необходимо передать значение в filter[entity_type]. Можно передать как один ID, так и массив из нескольких ID
	FilterById                []int                   `url:"filter[id][],omitempty"`                  // Фильтр по ID задачи. Можно передать как один ID, так и массив из нескольких ID
	FilterByUpdatedAt         int                     `url:"filter[updated_at][],omitempty"`          // Фильтр по дате последнего изменения задачи. Можно передать timestamp, в таком случае будут возвращены задачи, которые были изменены после переданного значения. Также можно передать массив вида filter[updated_at][from]=… и filter[updated_at][to]=…, для фильтрации по значениям ОТ и ДО.
	FilterByUpdatedAtFrom     int                     `url:"filter[updated_at][from],omitempty"`
	FilterByUpdatedAtTo       int                     `url:"filter[updated_at][to],omitempty"`
	OrderByCreatedAt          OrderDirectionType      `url:"order[created_at],omitempty"`
	OrderBuCompleteTill       OrderDirectionType      `url:"order[complete_till],omitempty"`
	OrderById                 OrderDirectionType      `url:"order[id],omitempty"`
}

type InitAmoConfig

type InitAmoConfig struct {
	Domain       string
	ClientID     string `json:"client_id"`
	ClientSecret string `json:"client_secret"`
	Code         string `json:"code"`
	RedirectURI  string `json:"redirect_uri"`
}

type Ld added in v0.2.11

type Ld struct{}

func (Ld) All added in v0.2.11

func (l Ld) All() ([]*lead, error)

func (Ld) ByID added in v0.2.14

func (l Ld) ByID(id int) (*lead, error)

func (Ld) Create added in v0.2.25

func (l Ld) Create(leads Leads) (*allLeads, error)

func (Ld) New added in v0.2.11

func (l Ld) New() *lead

func (Ld) Query added in v0.2.14

func (l Ld) Query(params *GetLeadsQueryParams) ([]*lead, error)

func (Ld) Update added in v0.2.25

func (l Ld) Update(leads Leads) (*allLeads, error)

type LeadWithType added in v0.2.25

type LeadWithType string
const (
	// LeadWithCatalogElements Добавляет в ответ связанные со сделками элементы списков
	LeadWithCatalogElements LeadWithType = "catalog_elements"

	// LeadWithIsPriceModifiedByRobot Добавляет в ответ свойство, показывающее,
	// изменен ли в последний раз бюджет сделки роботом
	LeadWithIsPriceModifiedByRobot LeadWithType = "is_price_modified_by_robot"

	// LeadWithLossReason Добавляет в ответ расширенную информацию по причине отказа
	LeadWithLossReason LeadWithType = "loss_reason"

	// LeadWithContacts Добавляет в ответ информацию о связанных со сделкой контактах
	LeadWithContacts LeadWithType = "contacts"

	// LeadWithOnlyDeleted Если передать данный параметр, то в ответе на запрос метода,
	// вернутся удаленные сделки, которые еще находятся в корзине. В ответ вы получите модель сделки,
	// у которой доступны дату изменения, ID пользователя сделавшего последнее изменение,
	// её ID и параметр is_deleted = true.
	LeadWithOnlyDeleted LeadWithType = "only_deleted"

	// LeadWithSourceID Добавляет в ответ ID источника
	LeadWithSourceID LeadWithType = "source_id"
)

type Leads added in v0.2.25

type Leads []*lead

type MessageCashierNoteStatusType added in v0.2.11

type MessageCashierNoteStatusType string
const (
	MessageCashierNoteStatusCreated  MessageCashierNoteStatusType = "created"
	MessageCashierNoteStatusShown    MessageCashierNoteStatusType = "shown"
	MessageCashierNoteStatusCanceled MessageCashierNoteStatusType = "canceled"
)

type NoteEntityType added in v0.2.18

type NoteEntityType string
const (
	NoteEntityTypeLead    NoteEntityType = "leads"
	NoteEntityTypeContact NoteEntityType = "contacts"
)

type NoteType added in v0.2.11

type NoteType string
const (
	CommonNote                 NoteType = "common"
	CallInNote                 NoteType = "call_in"
	CallOutNote                NoteType = "call_out"
	ServiceMessageNote         NoteType = "service_message"
	ExtendedServiceMessageNote NoteType = "extended_service_message"
	MessageCashierNote         NoteType = "message_cashier"
	InvoicePaidNote            NoteType = "invoice_paid"
	GeolocationNote            NoteType = "geolocation"
	SmsInNote                  NoteType = "sms_in"
	SmsOutNote                 NoteType = "sms_out"
	AttachmentNote             NoteType = "attachment"
)

type Nt added in v0.2.18

type Nt struct{}

type OrderDirectionType added in v0.2.25

type OrderDirectionType string

type OrderType added in v0.2.25

type OrderType string

type Tag added in v0.2.25

type Tag struct {
	Id        int         `json:"id,omitempty"`
	Name      string      `json:"name"`
	Color     interface{} `json:"color"`
	RequestID string      `json:"request_id"`
}

type TaskEntityType added in v0.2.25

type TaskEntityType string

type TaskTypeIdType added in v0.2.25

type TaskTypeIdType int

type Tasks added in v0.2.25

type Tasks []*task

type Tg added in v0.2.25

type Tg struct{}

type Tsk added in v0.2.25

type Tsk struct{}

func (Tsk) All added in v0.2.25

func (t Tsk) All() (Tasks, error)

All Возвращает список всех задач.

func (Tsk) ByID added in v0.2.25

func (t Tsk) ByID(id int) (*task, error)

func (Tsk) Create added in v0.2.25

func (t Tsk) Create(tsk Tasks) (*allTasks, error)

Create Создает новую задачу. Для создания задачи нужно передать 2 обязательных параметра: text и complete_till.

func (Tsk) New added in v0.2.25

func (t Tsk) New() *task

func (Tsk) Query added in v0.2.25

func (t Tsk) Query(params GetTaskQueryParams) (Tasks, error)

Query Возвращает список задач по заданным параметрам.

func (Tsk) Update added in v0.2.25

func (t Tsk) Update(tsk Tasks) (*allTasks, error)

Update Обновляет задачу. Данный метод может использоваться для пакетного обновления задач.

Jump to

Keyboard shortcuts

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