products

package
v1.14.0 Latest Latest
Warning

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

Go to latest
Published: Oct 22, 2020 License: MIT Imports: 7 Imported by: 0

Documentation

Index

Constants

View Source
const (
	ResponseTypeCSV = "CSV"
)

Variables

This section is empty.

Functions

This section is empty.

Types

type AddAssortmentProductsResponse added in v1.9.1

type AddAssortmentProductsResponse struct {
	Status                       sharedCommon.Status           `json:"status"`
	AddAssortmentProductsResults []AddAssortmentProductsResult `json:"records"`
}

type AddAssortmentProductsResponseBulk added in v1.9.1

type AddAssortmentProductsResponseBulk struct {
	Status    sharedCommon.Status                     `json:"status"`
	BulkItems []AddAssortmentProductsResponseBulkItem `json:"requests"`
}

type AddAssortmentProductsResponseBulkItem added in v1.9.1

type AddAssortmentProductsResponseBulkItem struct {
	Status                       sharedCommon.StatusBulk       `json:"status"`
	AddAssortmentProductsResults []AddAssortmentProductsResult `json:"records"`
}

type AddAssortmentProductsResult added in v1.9.1

type AddAssortmentProductsResult struct {
	ProductsAlreadyInAssortment string `json:"productsAlreadyInAssortment"`
	NonExistingIDs              string `json:"nonExistingIDs"`
}

type Client

type Client struct {
	*common.Client
}

func NewClient

func NewClient(client *common.Client) *Client

func (*Client) AddAssortmentProducts added in v1.9.1

func (cli *Client) AddAssortmentProducts(ctx context.Context, filters map[string]string) (AddAssortmentProductsResult, error)

func (*Client) AddAssortmentProductsBulk added in v1.9.1

func (cli *Client) AddAssortmentProductsBulk(ctx context.Context, bulkFilters []map[string]interface{}, baseFilters map[string]string) (AddAssortmentProductsResponseBulk, error)

func (*Client) DeleteProduct added in v1.9.1

func (cli *Client) DeleteProduct(ctx context.Context, filters map[string]string) error

func (*Client) DeleteProductBulk added in v1.9.1

func (cli *Client) DeleteProductBulk(ctx context.Context, bulkFilters []map[string]interface{}, baseFilters map[string]string) (DeleteProductResponseBulk, error)

func (*Client) EditAssortmentProducts added in v1.9.1

func (cli *Client) EditAssortmentProducts(ctx context.Context, filters map[string]string) (EditAssortmentProductsResult, error)

func (*Client) EditAssortmentProductsBulk added in v1.9.1

func (cli *Client) EditAssortmentProductsBulk(ctx context.Context, bulkFilters []map[string]interface{}, baseFilters map[string]string) (EditAssortmentProductsResponseBulk, error)

func (*Client) GetBrands added in v1.4.1

func (cli *Client) GetBrands(ctx context.Context, filters map[string]string) ([]ProductBrand, error)

func (*Client) GetProductBrands

func (cli *Client) GetProductBrands(ctx context.Context, filters map[string]string) ([]ProductBrand, error)

func (*Client) GetProductCategories

func (cli *Client) GetProductCategories(ctx context.Context, filters map[string]string) ([]ProductCategory, error)

func (*Client) GetProductGroups

func (cli *Client) GetProductGroups(ctx context.Context, filters map[string]string) ([]ProductGroup, error)

func (*Client) GetProductStock added in v1.7.5

func (cli *Client) GetProductStock(ctx context.Context, filters map[string]string) ([]GetProductStock, error)

func (*Client) GetProductStockFile added in v1.7.5

func (cli *Client) GetProductStockFile(ctx context.Context, filters map[string]string) ([]GetProductStockFile, error)

func (*Client) GetProductStockFileBulk added in v1.7.5

func (cli *Client) GetProductStockFileBulk(ctx context.Context, bulkFilters []map[string]interface{}, baseFilters map[string]string) (GetProductStockFileResponseBulk, error)

func (*Client) GetProductUnits

func (cli *Client) GetProductUnits(ctx context.Context, filters map[string]string) ([]ProductUnit, error)

func (*Client) GetProducts

func (cli *Client) GetProducts(ctx context.Context, filters map[string]string) ([]Product, error)

func (*Client) GetProductsBulk added in v1.5.0

func (cli *Client) GetProductsBulk(ctx context.Context, bulkFilters []map[string]interface{}, baseFilters map[string]string) (GetProductsResponseBulk, error)

GetProductsBulk will list products according to specified filters sending a bulk request to fetch more products than the default limit

func (*Client) GetProductsCount added in v1.9.1

func (cli *Client) GetProductsCount(ctx context.Context, filters map[string]string) (int, error)

func (*Client) RemoveAssortmentProducts added in v1.9.1

func (cli *Client) RemoveAssortmentProducts(ctx context.Context, filters map[string]string) (RemoveAssortmentProductResult, error)

func (*Client) RemoveAssortmentProductsBulk added in v1.9.1

func (cli *Client) RemoveAssortmentProductsBulk(ctx context.Context, bulkFilters []map[string]interface{}, baseFilters map[string]string) (RemoveAssortmentProductResponseBulk, error)

func (*Client) SaveAssortment added in v1.9.1

func (cli *Client) SaveAssortment(ctx context.Context, filters map[string]string) (SaveAssortmentResult, error)

func (*Client) SaveAssortmentBulk added in v1.9.1

func (cli *Client) SaveAssortmentBulk(ctx context.Context, bulkFilters []map[string]interface{}, baseFilters map[string]string) (SaveAssortmentResponseBulk, error)

func (*Client) SaveProduct added in v1.9.1

func (cli *Client) SaveProduct(ctx context.Context, filters map[string]string) (SaveProductResult, error)

func (*Client) SaveProductBulk added in v1.9.1

func (cli *Client) SaveProductBulk(ctx context.Context, bulkFilters []map[string]interface{}, baseFilters map[string]string) (SaveProductResponseBulk, error)

type DeleteProductResponse added in v1.9.1

type DeleteProductResponse struct {
	Status sharedCommon.Status `json:"status"`
}

type DeleteProductResponseBulk added in v1.9.1

type DeleteProductResponseBulk struct {
	Status    sharedCommon.Status             `json:"status"`
	BulkItems []DeleteProductResponseBulkItem `json:"requests"`
}

type DeleteProductResponseBulkItem added in v1.9.1

type DeleteProductResponseBulkItem struct {
	Status sharedCommon.StatusBulk `json:"status"`
}

type EditAssortmentProductsResponse added in v1.9.1

type EditAssortmentProductsResponse struct {
	Status                        sharedCommon.Status            `json:"status"`
	EditAssortmentProductsResults []EditAssortmentProductsResult `json:"records"`
}

type EditAssortmentProductsResponseBulk added in v1.9.1

type EditAssortmentProductsResponseBulk struct {
	Status    sharedCommon.Status                      `json:"status"`
	BulkItems []EditAssortmentProductsResponseBulkItem `json:"requests"`
}

type EditAssortmentProductsResponseBulkItem added in v1.9.1

type EditAssortmentProductsResponseBulkItem struct {
	Status                        sharedCommon.StatusBulk        `json:"status"`
	EditAssortmentProductsResults []EditAssortmentProductsResult `json:"records"`
}

type EditAssortmentProductsResult added in v1.9.1

type EditAssortmentProductsResult struct {
	ProductsNotInAssortment string `json:"productsNotInAssortment"`
}

type GetProductStock added in v1.7.5

type GetProductStock struct {
	ProductID              int         `json:"productID"`
	AmountInStock          json.Number `json:"amountInStock"`
	AmountReserved         float64     `json:"amountReserved"`
	SuggestedPurchasePrice float64     `json:"suggestedPurchasePrice"`
	AveragePurchasePrice   float64     `json:"averagePurchasePrice"`
	AverageCost            float64     `json:"averageCost"`
	FirstPurchaseDate      string      `json:"firstPurchaseDate"`
	LastPurchaseDate       string      `json:"lastPurchaseDate"`
	LastSoldDate           string      `json:"lastSoldDate"`
	ReorderPoint           int         `json:"reorderPoint"`
	RestockLevel           float64     `json:"restockLevel"`
}

type GetProductStockFile added in v1.7.5

type GetProductStockFile struct {
	ReportLink string `json:"reportLink"`
}

type GetProductStockFileResponse added in v1.7.5

type GetProductStockFileResponse struct {
	Status              sharedCommon.Status   `json:"status"`
	GetProductStockFile []GetProductStockFile `json:"records"`
}

type GetProductStockFileResponseBulk added in v1.7.5

type GetProductStockFileResponseBulk struct {
	Status    sharedCommon.Status                   `json:"status"`
	BulkItems []GetProductStockFileResponseBulkItem `json:"requests"`
}

type GetProductStockFileResponseBulkItem added in v1.7.5

type GetProductStockFileResponseBulkItem struct {
	Status               sharedCommon.StatusBulk `json:"status"`
	GetProductStockFiles []GetProductStockFile   `json:"records"`
}

type GetProductStockResponse added in v1.7.5

type GetProductStockResponse struct {
	Status          sharedCommon.Status `json:"status"`
	GetProductStock []GetProductStock   `json:"records"`
}

type GetProductUnitsResponse

type GetProductUnitsResponse struct {
	Status       sharedCommon.Status `json:"status"`
	ProductUnits []ProductUnit       `json:"records"`
}

GetProductUnitsResponse ...

type GetProductsResponse

type GetProductsResponse struct {
	Status   sharedCommon.Status `json:"status"`
	Products []Product           `json:"records"`
}

type GetProductsResponseBulk added in v1.5.0

type GetProductsResponseBulk struct {
	Status    sharedCommon.Status           `json:"status"`
	BulkItems []GetProductsResponseBulkItem `json:"requests"`
}

type GetProductsResponseBulkItem added in v1.5.0

type GetProductsResponseBulkItem struct {
	Status   sharedCommon.StatusBulk `json:"status"`
	Products []Product               `json:"records"`
}

type ListingDataProvider added in v1.6.1

type ListingDataProvider struct {
	// contains filtered or unexported fields
}

func NewListingDataProvider added in v1.6.1

func NewListingDataProvider(erplyClient Manager) *ListingDataProvider

func (*ListingDataProvider) Count added in v1.6.1

func (l *ListingDataProvider) Count(ctx context.Context, filters map[string]interface{}) (int, error)

func (*ListingDataProvider) Read added in v1.6.1

func (l *ListingDataProvider) Read(ctx context.Context, bulkFilters []map[string]interface{}, callback func(item interface{})) error

type Manager

type Manager interface {
	GetProducts(ctx context.Context, filters map[string]string) ([]Product, error)
	GetProductsCount(ctx context.Context, filters map[string]string) (int, error)
	GetProductsBulk(ctx context.Context, bulkFilters []map[string]interface{}, baseFilters map[string]string) (GetProductsResponseBulk, error)
	GetProductUnits(ctx context.Context, filters map[string]string) ([]ProductUnit, error)
	GetProductCategories(ctx context.Context, filters map[string]string) ([]ProductCategory, error)
	GetProductBrands(ctx context.Context, filters map[string]string) ([]ProductBrand, error)
	GetBrands(ctx context.Context, filters map[string]string) ([]ProductBrand, error)
	GetProductGroups(ctx context.Context, filters map[string]string) ([]ProductGroup, error)
	GetProductStock(ctx context.Context, filters map[string]string) ([]GetProductStock, error)
	GetProductStockFile(ctx context.Context, filters map[string]string) ([]GetProductStockFile, error)
	GetProductStockFileBulk(ctx context.Context, bulkFilters []map[string]interface{}, baseFilters map[string]string) (GetProductStockFileResponseBulk, error)
	SaveProduct(ctx context.Context, filters map[string]string) (SaveProductResult, error)
	SaveProductBulk(ctx context.Context, bulkFilters []map[string]interface{}, baseFilters map[string]string) (SaveProductResponseBulk, error)
	DeleteProduct(ctx context.Context, filters map[string]string) error
	DeleteProductBulk(ctx context.Context, bulkFilters []map[string]interface{}, baseFilters map[string]string) (DeleteProductResponseBulk, error)
	SaveAssortment(ctx context.Context, filters map[string]string) (SaveAssortmentResult, error)
	SaveAssortmentBulk(ctx context.Context, bulkFilters []map[string]interface{}, baseFilters map[string]string) (SaveAssortmentResponseBulk, error)
	AddAssortmentProducts(ctx context.Context, filters map[string]string) (AddAssortmentProductsResult, error)
	AddAssortmentProductsBulk(ctx context.Context, bulkFilters []map[string]interface{}, baseFilters map[string]string) (AddAssortmentProductsResponseBulk, error)
	EditAssortmentProducts(ctx context.Context, filters map[string]string) (EditAssortmentProductsResult, error)
	EditAssortmentProductsBulk(ctx context.Context, bulkFilters []map[string]interface{}, baseFilters map[string]string) (EditAssortmentProductsResponseBulk, error)
	RemoveAssortmentProducts(ctx context.Context, filters map[string]string) (RemoveAssortmentProductResult, error)
	RemoveAssortmentProductsBulk(ctx context.Context, bulkFilters []map[string]interface{}, baseFilters map[string]string) (RemoveAssortmentProductResponseBulk, error)
}

type NameLanguages added in v1.7.4

type NameLanguages struct {
	Name    string `json:"name"`
	NameEng string `json:"nameENG"`
	NameSpa string `json:"nameSPA"`
	NameEst string `json:"nameEST"`
	NameGer string `json:"nameGER"`
	NameSwe string `json:"nameSWE"`
	NameFin string `json:"nameFIN"`
	NameRus string `json:"nameRUS"`
	NameLat string `json:"nameLAT"`
	NameLit string `json:"nameLIT"`
	NameGre string `json:"nameGRE"`
}

type Parameter added in v1.9.1

type Parameter struct {
	ID      string `json:"parameterID"`
	Name    string `json:"parameterName"`
	Type    string `json:"parameterType"`
	GroupID string `json:"parameterGroupID"`
	Value   string `json:"parameterValue"`
}

type Product

type Product struct {
	ProductID int `json:"productID"`
	Active    int `json:"active"`
	NameLanguages
	Code               string             `json:"code"`
	Code2              string             `json:"code2"`
	Code3              *string            `json:"code3"`
	GroupID            uint               `json:"groupID"`
	Price              float64            `json:"price"`
	DisplayedInWebshop byte               `json:"displayedInWebshop"`
	BrandID            uint               `json:"brandID"`
	Description        string             `json:"description"`
	DescriptionLong    string             `json:"longdesc"`
	DescriptionEng     string             `json:"descriptionENG"`
	DescriptionLongEng string             `json:"longdescENG"`
	DescriptionSpa     string             `json:"descriptionSPA"`
	DescriptionLongSpa string             `json:"longdescSPA"`
	DescriptionEst     string             `json:"descriptionEST"`
	DescriptionLongEst string             `json:"longdescEST"`
	DescriptionGer     string             `json:"descriptionGER"`
	DescriptionLongGer string             `json:"longdescGER"`
	DescriptionSwe     string             `json:"descriptionSWE"`
	DescriptionLongSwe string             `json:"longdescSWE"`
	DescriptionFin     string             `json:"descriptionFIN"`
	DescriptionLongFin string             `json:"longdescFIN"`
	DescriptionRus     string             `json:"descriptionRUS"`
	DescriptionLongRus string             `json:"longdescRUS"`
	DescriptionLat     string             `json:"descriptionLAT"`
	DescriptionLongLat string             `json:"longdescLAT"`
	DescriptionLit     string             `json:"descriptionLIT"`
	DescriptionLongLit string             `json:"longdescLIT"`
	DescriptionGre     string             `json:"descriptionGRE"`
	DescriptionLongGre string             `json:"longdescGRE"`
	Added              uint64             `json:"added"`
	LastModified       uint64             `json:"lastModified"`
	Vatrate            float64            `json:"vatrate"`
	PriceWithVat       float32            `json:"priceWithVat"`
	GrossWeight        string             `json:"grossWeight"`
	NetWeight          string             `json:"netWeight"`
	UnitName           *string            `json:"unitName"`
	BrandName          string             `json:"brandName"`
	GroupName          string             `json:"groupName"`
	CategoryId         uint               `json:"categoryID"`
	CategoryName       string             `json:"categoryName"`
	Status             string             `json:"status"`
	SupplierID         int                `json:"supplierID"`
	Images             []ProductImage     `json:"images"`
	ProductVariations  []string           `json:"productVariations"` // Variations of matrix product
	ParentProductID    int                `json:"parentProductID"`
	NonStockProduct    int                `json:"nonStockProduct"`
	TaxFree            int                `json:"taxFree"`
	ContainerID        int                `json:"containerID"`
	Type               string             `json:"type"`
	Warehouses         map[uint]StockInfo `json:"warehouses"`
	Parameters         []Parameter        `json:"parameters"`
	RelatedProducts    []string           `json:"relatedProducts"`
	VariationList      []ProductVariaton  `json:"variationList"`
}

Payload ...

type ProductBrand

type ProductBrand struct {
	ID           uint   `json:"brandID"`
	Name         string `json:"name"`
	Added        uint64 `json:"added"`
	LastModified uint64 `json:"lastModified"`
}

type ProductCategory

type ProductCategory struct {
	ProductCategoryID   uint   `json:"productCategoryID"`
	ParentCategoryID    uint   `json:"parentCategoryID"`
	ProductCategoryName string `json:"productCategoryName"`
	Added               uint64 `json:"added"`
	LastModified        uint64 `json:"lastModified"`
}

type ProductDimensions

type ProductDimensions struct {
	Name             string `json:"name"`
	Value            string `json:"value"`
	Order            int    `json:"order"`
	DimensionID      int    `json:"dimensionID"`
	DimensionValueID int    `json:"dimensionValueID"`
}

type ProductGroup

type ProductGroup struct {
	ID uint `json:"productGroupID"`
	NameLanguages
	ShowInWebshop   string              `json:"showInWebshop"`
	NonDiscountable byte                `json:"nonDiscountable"`
	PositionNo      int                 `json:"positionNo"`
	ParentGroupID   string              `json:"parentGroupID"`
	Added           uint64              `json:"added"`
	LastModified    uint64              `json:"lastModified"`
	SubGroups       []ProductGroup      `json:"subGroups"`
	Attributes      []map[string]string `json:"attributes,omitempty"`
	Images          []ProductGroupImage `json:"images"`
}

type ProductGroupImage added in v1.13.1

type ProductGroupImage struct {
	PictureID string `json:"pictureID"`
	ThumbURL  string `json:"thumbURL"`
	SmallURL  string `json:"smallURL"`
	LargeURL  string `json:"largeURL"`
}

type ProductImage

type ProductImage struct {
	PictureID       string  `json:"pictureID"`
	Name            string  `json:"name"`
	ThumbURL        string  `json:"thumbURL"`
	SmallURL        string  `json:"smallURL"`
	LargeURL        string  `json:"largeURL"`
	FullURL         string  `json:"fullURL"`
	External        byte    `json:"external"`
	HostingProvider string  `json:"hostingProvider"`
	Hash            *string `json:"hash"`
	Tenant          *string `json:"tenant"`
}

type ProductUnit

type ProductUnit struct {
	UnitID string `json:"unitID"`
	Name   string `json:"name"`
}

ProductUnit ...

type ProductVariaton

type ProductVariaton struct {
	ProductID  string              `json:"productID"`
	Name       string              `json:"name"`
	Code       string              `json:"code"`
	Code2      string              `json:"code2"`
	Dimensions []ProductDimensions `json:"dimensions"`
}

type RemoveAssortmentProductResponse added in v1.9.1

type RemoveAssortmentProductResponse struct {
	Status                         sharedCommon.Status             `json:"status"`
	RemoveAssortmentProductResults []RemoveAssortmentProductResult `json:"records"`
}

type RemoveAssortmentProductResponseBulk added in v1.9.1

type RemoveAssortmentProductResponseBulk struct {
	Status    sharedCommon.Status                       `json:"status"`
	BulkItems []RemoveAssortmentProductResponseBulkItem `json:"requests"`
}

type RemoveAssortmentProductResponseBulkItem added in v1.9.1

type RemoveAssortmentProductResponseBulkItem struct {
	Status                         sharedCommon.StatusBulk         `json:"status"`
	RemoveAssortmentProductResults []RemoveAssortmentProductResult `json:"records"`
}

type RemoveAssortmentProductResult added in v1.9.1

type RemoveAssortmentProductResult struct {
	DeletedIDs              string `json:"deletedIDs"`
	ProductsNotInAssortment string `json:"productsNotInAssortment"`
}

type SaveAssortmentResponse added in v1.9.1

type SaveAssortmentResponse struct {
	Status                sharedCommon.Status    `json:"status"`
	SaveAssortmentResults []SaveAssortmentResult `json:"records"`
}

type SaveAssortmentResponseBulk added in v1.9.1

type SaveAssortmentResponseBulk struct {
	Status    sharedCommon.Status              `json:"status"`
	BulkItems []SaveAssortmentResponseBulkItem `json:"requests"`
}

type SaveAssortmentResponseBulkItem added in v1.9.1

type SaveAssortmentResponseBulkItem struct {
	Status                sharedCommon.StatusBulk `json:"status"`
	SaveAssortmentResults []SaveAssortmentResult  `json:"records"`
}

type SaveAssortmentResult added in v1.9.1

type SaveAssortmentResult struct {
	AssortmentID int `json:"assortmentID"`
}

type SaveProductResponse added in v1.9.1

type SaveProductResponse struct {
	Status             sharedCommon.Status `json:"status"`
	SaveProductResults []SaveProductResult `json:"records"`
}

type SaveProductResponseBulk added in v1.9.1

type SaveProductResponseBulk struct {
	Status    sharedCommon.Status           `json:"status"`
	BulkItems []SaveProductResponseBulkItem `json:"requests"`
}

type SaveProductResponseBulkItem added in v1.9.1

type SaveProductResponseBulkItem struct {
	Status   sharedCommon.StatusBulk `json:"status"`
	Products []SaveProductResult     `json:"records"`
}

type SaveProductResult added in v1.9.1

type SaveProductResult struct {
	ProductID int `json:"productID"`
}

type StockInfo

type StockInfo struct {
	WarehouseID   uint    `json:"warehouseID"`
	Free          float64 `json:"free"`
	OrderPending  int     `json:"orderPending"`
	ReorderPoint  int     `json:"reorderPoint"`
	RestockLevel  float64 `json:"restockLevel"`
	FifoCost      float32 `json:"FIFOCost"`
	PurchasePrice float32 `json:"purchasePrice"`
}

Jump to

Keyboard shortcuts

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