ozon-api-client
Ozon Seller API Client
A Ozon Seller API client written in Golang
Ozon is a marketplace for small and medium enterprises to launch and grow their businesses in Russia.
Read full documentation
You can check list of supported endpoints
How to start
API
Get Client-Id and Api-Key in your seller profile here
Just add dependency to your project and you're ready to go.
go get github.com/diphantxm/ozon-api-client
A simple example on how to use this library:
package main
import ( "context" "fmt" "log" "net/http"
"github.com/diphantxm/ozon-api-client/ozon")
func main() { // Create a client with your Client-Id and Api-Key // [Documentation]: https://docs.ozon.ru/api/seller/en/#tag/Auth opts := []ozon.ClientOption{ ozon.WithAPIKey("api-key"), ozon.WithClientId("client-id"), } c := ozon.NewClient(opts...)
// Send request with parameters resp, err := client.Products().GetProductDetails(context.Background(), &ozon.GetProductDetailsParams{ ProductId: 123456789, }) if err != nil || resp.StatusCode != http.StatusOK { log.Fatalf("error when getting product details: %s", err) }
// Do some stuff for _, d := range resp.Result.Barcodes { fmt.Printf("Barcode %s\n", d) }}
Notifications
Ozon can send push-notifications to your REST server. There is an implementation of REST server that handles notifications in this library.
How to use:
package main
import ( "log"
"github.com/diphantxm/ozon-api-client/ozon/notifications")
func main() { // Create server port := 5000 server := notifications.NewNotificationServer(port)
// Register handlers passing message type and handler itself server.Register(notifications.ChatClosedType, func(req interface{}) error { notification := req.(*notifications.ChatClosed)
// Do something with the notification here... log.Printf("chat %s has been closed\n", notification.ChatId)
return nil })
// Run server if err := server.Run(); err != nil { log.Printf("error while running notification server: %s", err) }}
Contribution
If you need some endpoints ASAP, create an issue and list all the endpoints. I will add them to library soon.
Or you can implement them and contribute to the project. Contribution to the project is welcome.
Описание
Ozon Seller API Client in Golang
Языки
Go