amocrm_v4

package module
v0.0.0-...-9af1c6f Latest Latest
Warning

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

Go to latest
Published: Aug 25, 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

func GetAllProducts()

Types

type Amo

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

type CatalogType string

type Catalogs

type Catalogs []*catalog

type ContactWithType

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

type Ct

type Ct struct{}

func (Ct) All

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

func (Ct) ByID

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

func (Ct) New

func (c Ct) New() *contact

New Method creates empty struct

func (Ct) Query

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

type Ctg

type Ctg struct{}

func (Ctg) All

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

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

func (Ctg) ByID

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

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

func (Ctg) Create

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

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

func (Ctg) New

func (c Ctg) New() *catalog

type CustomField

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

type ElementWithType string

type Elements

type Elements []*element

type FilterByIsCompletedType

type FilterByIsCompletedType int

type GetCatalogElementsQueryParams

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

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

type GetContactsQueryParams

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

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

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

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

type Ld struct{}

func (Ld) All

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

func (Ld) ByID

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

func (Ld) Create

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

func (Ld) New

func (l Ld) New() *lead

func (Ld) Query

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

func (Ld) Update

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

type LeadWithType

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

type Leads []*lead

type MessageCashierNoteStatusType

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

type NoteEntityType

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

type NoteType

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

type Nt struct{}

type OrderDirectionType

type OrderDirectionType string

type OrderType

type OrderType string

type Tag

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

type TaskEntityType

type TaskEntityType string

type TaskTypeIdType

type TaskTypeIdType int

type Tasks

type Tasks []*task

type Tg

type Tg struct{}

type Tsk

type Tsk struct{}

func (Tsk) All

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

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

func (Tsk) ByID

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

func (Tsk) Create

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

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

func (Tsk) New

func (t Tsk) New() *task

func (Tsk) Query

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

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

func (Tsk) Update

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