mirror of
https://github.com/retailcrm/api-client-go.git
synced 2025-04-14 06:20:54 +00:00
149 lines
6.2 KiB
Go
149 lines
6.2 KiB
Go
package v5
|
|
|
|
// VersionResponse return available API versions
|
|
type VersionResponse struct {
|
|
Success bool `json:"success,omitempty"`
|
|
Versions []string `json:"versions,brackets,omitempty"`
|
|
}
|
|
|
|
// CredentialResponse return available API methods
|
|
type CredentialResponse struct {
|
|
Success bool `json:"success,omitempty"`
|
|
Credentials []string `json:"credentials,brackets,omitempty"`
|
|
SiteAccess string `json:"siteAccess,omitempty"`
|
|
SitesAvailable []string `json:"sitesAvailable,brackets,omitempty"`
|
|
}
|
|
|
|
// Pagination type
|
|
type Pagination struct {
|
|
Limit int `json:"limit,omitempty"`
|
|
TotalCount int `json:"totalCount,omitempty"`
|
|
CurrentPage int `json:"currentPage,omitempty"`
|
|
TotalPageCount int `json:"totalPageCount,omitempty"`
|
|
}
|
|
|
|
// Address type
|
|
type Address struct {
|
|
Index string `json:"index,omitempty"`
|
|
CountryIso string `json:"countryIso,omitempty"`
|
|
Region string `json:"region,omitempty"`
|
|
RegionId int `json:"regionId,omitempty"`
|
|
City string `json:"city,omitempty"`
|
|
CityId int `json:"cityId,omitempty"`
|
|
CityType string `json:"cityType,omitempty"`
|
|
Street string `json:"street,omitempty"`
|
|
StreetId int `json:"streetId,omitempty"`
|
|
StreetType string `json:"streetType,omitempty"`
|
|
Building string `json:"building,omitempty"`
|
|
Flat string `json:"flat,omitempty"`
|
|
IntercomCode string `json:"intercomCode,omitempty"`
|
|
Floor int `json:"floor,omitempty"`
|
|
Block int `json:"block,omitempty"`
|
|
House string `json:"house,omitempty"`
|
|
Metro string `json:"metro,omitempty"`
|
|
Notes string `json:"notes,omitempty"`
|
|
Text string `json:"text,omitempty"`
|
|
}
|
|
|
|
// Source type
|
|
type Source struct {
|
|
Source string `json:"source,omitempty"`
|
|
Medium string `json:"medium,omitempty"`
|
|
Campaign string `json:"campaign,omitempty"`
|
|
Keyword string `json:"keyword,omitempty"`
|
|
Content string `json:"content,omitempty"`
|
|
}
|
|
|
|
// Contragent type
|
|
type Contragent struct {
|
|
ContragentType string `json:"contragentType,omitempty"`
|
|
LegalName string `json:"legalName,omitempty"`
|
|
LegalAddress string `json:"legalAddress,omitempty"`
|
|
INN string `json:"INN,omitempty"`
|
|
OKPO string `json:"OKPO,omitempty"`
|
|
KPP string `json:"KPP,omitempty"`
|
|
OGRN string `json:"OGRN,omitempty"`
|
|
OGRNIP string `json:"OGRNIP,omitempty"`
|
|
CertificateNumber string `json:"certificateNumber,omitempty"`
|
|
CertificateDate string `json:"certificateDate,omitempty"`
|
|
BIK string `json:"BIK,omitempty"`
|
|
Bank string `json:"bank,omitempty"`
|
|
BankAddress string `json:"bankAddress,omitempty"`
|
|
CorrAccount string `json:"corrAccount,omitempty"`
|
|
BankAccount string `json:"bankAccount,omitempty"`
|
|
}
|
|
|
|
// Customer type
|
|
type Customer struct {
|
|
Id int `json:"id,omitempty"`
|
|
ExternalId string `json:"externalId,omitempty"`
|
|
FirstName string `json:"firstName,omitempty"`
|
|
LastName string `json:"lastName,omitempty"`
|
|
Patronymic string `json:"patronymic,omitempty"`
|
|
Sex string `json:"sex,omitempty"`
|
|
Email string `json:"email,omitempty"`
|
|
Phones []CustomerPhone `json:"phones,brackets,omitempty"`
|
|
Address *Address `json:"address,omitempty"`
|
|
CreatedAt string `json:"createdAt,omitempty"`
|
|
Birthday string `json:"birthday,omitempty"`
|
|
ManagerId int `json:"managerId,omitempty"`
|
|
Vip bool `json:"vip,omitempty"`
|
|
Bad bool `json:"bad,omitempty"`
|
|
Site string `json:"site,omitempty"`
|
|
Source *Source `json:"source,omitempty"`
|
|
Contragent *Contragent `json:"contragent,omitempty"`
|
|
PersonalDiscount float32 `json:"personalDiscount,omitempty"`
|
|
CumulativeDiscount float32 `json:"cumulativeDiscount,omitempty"`
|
|
DiscountCardNumber string `json:"discountCardNumber,omitempty"`
|
|
EmailMarketingUnsubscribedAt string `json:"emailMarketingUnsubscribedAt,omitempty"`
|
|
AvgMarginSumm float32 `json:"avgMarginSumm,omitempty"`
|
|
MarginSumm float32 `json:"marginSumm,omitempty"`
|
|
TotalSumm float32 `json:"totalSumm,omitempty"`
|
|
AverageSumm float32 `json:"averageSumm,omitempty"`
|
|
OrdersCount int `json:"ordersCount,omitempty"`
|
|
CostSumm float32 `json:"costSumm,omitempty"`
|
|
MaturationTime int `json:"maturationTime,omitempty"`
|
|
FirstClientId string `json:"firstClientId,omitempty"`
|
|
LastClientId string `json:"lastClientId,omitempty"`
|
|
//CustomFields map[string]string `json:"customFields,omitempty"`
|
|
}
|
|
|
|
// CustomerPhone type
|
|
type CustomerPhone struct {
|
|
Number string `json:"number,omitempty"`
|
|
}
|
|
|
|
// CustomerGetFilter for get customer request
|
|
type CustomerGetFilter struct {
|
|
By string `url:"by,omitempty"`
|
|
Site string `url:"site,omitempty"`
|
|
}
|
|
|
|
// CustomerResponse type
|
|
type CustomerResponse struct {
|
|
Success bool `json:"success"`
|
|
Customer *Customer `json:"customer,omitempty,brackets"`
|
|
}
|
|
|
|
type CustomersFilter struct {
|
|
ExternalIds []string `url:"externalIds,omitempty,brackets"`
|
|
City string `url:"city,omitempty"`
|
|
}
|
|
|
|
type CustomersParameters struct {
|
|
Filter CustomersFilter `url:"filter,omitempty"`
|
|
Limit int `url:"limit,omitempty"`
|
|
Page int `url:"page,omitempty"`
|
|
}
|
|
|
|
type CustomersResponse struct {
|
|
Success bool `json:"success"`
|
|
Pagination *Pagination `json:"pagination,omitempty"`
|
|
Customers []Customer `json:"customers,omitempty,brackets"`
|
|
}
|
|
|
|
type CustomerChangeResponse struct {
|
|
Success bool `json:"success"`
|
|
Id int `json:"id,omitempty"`
|
|
State string `json:"state,omitempty"`
|
|
}
|