xboston / go-admitad-yml

Генератор XML каталога товаров формата Admitad

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

go-admitad-YML

Admitad Market YML (XML) generator for Go (golang) Based on: https://github.com/alehano/goyml

File format description: https://yandex.ru/support/partnermarket/yml/about-yml.xml

Usage:

// Create YML
ymlCat := NewYML("BestShop", "Best online seller Inc.", "http://best.seller.ru/")

// Additional info
ymlCat.Shop.Platform = "CMS"
ymlCat.Shop.Version = "2.3"
ymlCat.Shop.Agency = "Agency"
ymlCat.Shop.Email = "CMS@CMS.ru"

// id, rate, plus
ymlCat.AddCurrency("RUR", "1", 0)

// Categories
ymlCat.AddCategory(1, 0, "Книги")
ymlCat.AddCategory(2, 1, "Детективы")
ymlCat.AddCategory(3, 1, "Боевики")
ymlCat.AddCategory(4, 0, "Видео")
ymlCat.AddCategory(5, 4, "Комедии")
ymlCat.AddCategory(6, 0, "Принтеры")
ymlCat.AddCategory(7, 0, "Оргтехника")

// Delivery
// cost, daysFrom, daysTo (if 0 - omitted), orderBefore
ymlCat.AddDeliveryOption(0, 0, 0, 10)
ymlCat.AddDeliveryOption(0, 1, 0, 0)

// Simple Offer
offer := Offer{
	Id:                   "123",
	Available:            true,
	Bid:                  21,
	Url:                  "http://best.seller.ru/product_page.asp?pid=12348",
	Price:                600,
	OldPrice:             800,
	CurrencyId:           "USD",
	CategoryId:           6,
	Picture:              []string{"http://best.seller.ru/img/device12345.jpg"},
	Store:                false,
	Pickup:               true,
	Delivery:             false,
	Name:                 "Наручные часы Casio A1234567B",
	Vendor:               "Casio",
	VendorCode:           "A1234567B",
	Description:          "Изящные наручные часы.",
	SalesNotes:           "Необходима предоплата.",
	ManufacturerWarranty: true,
	CountryOfOrigin:      "Япония",
	Cpa:                  1,
}
offer.AddBarcode("0123456789012")
offer.AddAge("year", "18")

// Offer vendor.model
offer2 := Offer{
	Id:                   "12341",
	Available:            true,
	Type:                 TypeVendorModel,
	Bid:                  13,
	Url:                  "http://best.seller.ru/product_page.asp?pid=12344",
	Price:                16800,
	OldPrice:             17000,
	CurrencyId:           "USD",
	CategoryId:           6,
	Picture:              []string{"http://best.seller.ru/img/device12345.jpg"},
	Store:                false,
	Pickup:               false,
	Delivery:             true,
	TypePrefix:           "Принтер",
	Vendor:               "HP",
	Model:                "Deskjet D2663",
	Description:          "Серия принтеров для людей, которым нужен надежный, простой в использовании цветной принтер для повседневной печати...",
	SalesNotes:           "Необходима предоплата.",
	ManufacturerWarranty: true,
	CountryOfOrigin:      "Япония",
	Cpa:                  1,
	Rec:                  "123123,1214,243",
	Expiry:               "P5Y",
	Weight:               2.07,
	Dimensions:           "100/25.45/11.112",
}
offer2.AddBarcode("1234567890120")
offer2.AddParam("Максимальный формат", "", "А4")
offer2.AddParam("Технология печати", "", "термическая струйная")
offer2.AddParam("Тип печати", "", "Цветная")
offer2.AddParam("Количество страниц в месяц", "стр", "1000")
offer2.AddParam("Потребляемая мощность", "Вт", "20")
offer2.AddParam("Вес", "кг", "2.73")

err := offer.Validate()
if err != nil {
	fmt.Println(err.Error())
}
err = offer2.Validate()
if err != nil {
	fmt.Println(err.Error())
}

ymlCat.AddOffer(offer)
ymlCat.AddOffer(offer2)

ExportToFile(ymlCat, "/path/to/file/yml.xml", true)

About

Генератор XML каталога товаров формата Admitad

License:MIT License


Languages

Language:Go 100.0%