Java ozon seller api

Saved searches

Use saved searches to filter your results more quickly

You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session.

PHP client for Ozon Seller API

License

gam6itko/ozon-seller

This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?

Sign In Required

Please sign in to use Codespaces.

Launching GitHub Desktop

If nothing happens, download GitHub Desktop and try again.

Launching GitHub Desktop

If nothing happens, download GitHub Desktop and try again.

Launching Xcode

If nothing happens, download Xcode and try again.

Launching Visual Studio Code

Your codespace will open once ready.

There was a problem preparing your codespace, please try again.

Latest commit

Git stats

Files

Failed to load latest commit information.

README.md

composer require gam6itko/ozon-seller

Для взаимодействия библиотеки с Ozon-Api нужно дополнительно установить реализации PSR-18: HTTP Client и PSR-17: HTTP Factories.

composer require symfony/http-client composer require nyholm/psr7
use Gam6itko\OzonSeller\Service\V1\ProductService; use Symfony\Component\HttpClient\Psr18Client; $config = [$_SERVER['CLIENT_ID'], $_SERVER['API_KEY'], $_SERVER['API_URL']]; $client = new Psr18Client(); $svc = new ProductService($config, $client); //do stuff

Использование без Symfony

composer require php-http/guzzle6-adapter
use Gam6itko\OzonSeller\Service\V1\CategoriesService; use GuzzleHttp\Client as GuzzleClient; use Http\Adapter\Guzzle6\Client as GuzzleAdapter; use Http\Factory\Guzzle\RequestFactory; use Http\Factory\Guzzle\StreamFactory; $config = [ 'clientId' => '', 'apiKey' => '', 'host' => 'http://cb-api.ozonru.me/' ]; $client = new GuzzleAdapter(new GuzzleClient()); $requestFactory = new RequestFactory(); $streamFactory = new StreamFactory(); $svc = new CategoriesService($config, $client, $requestFactory, $streamFactory); //do stuff

Чтобы узнать какой класс и метод реализуют запрос на нужный URL воспользуйтесь скриптом bin/is_realized.php

php bin/is_realized.php | grep /v2/posting/fbs/get
/v2/posting/fbs/get: Gam6itko\OzonSeller\Service\V2\Posting\FbsService::get /v2/posting/fbs/get-by-barcode: NotRealized

Автор не всегда успевает добавлять реализации новых методов. Если нужного вам метода нет в библиотеке, то не стесняйтесь открыть issue или PR.

Больше примеров смотрите в папке tests/Service/

use Gam6itko\OzonSeller\Service\V1\CategoriesService; use GuzzleHttp\Client as GuzzleClient; use Http\Adapter\Guzzle6\Client as GuzzleAdapter; $config = [ 'clientId' => '', 'apiKey' => '', 'host' => 'http://cb-api.ozonru.me/' //sandbox ]; $adapter = new GuzzleAdapter(new GuzzleClient()); $svc = new CategoriesService($config, $adapter); //Server Response example: https://cb-api.ozonru.me/apiref/en/#t-title_categories $categoryTree = $svc->tree(); //Server Response example: https://cb-api.ozonru.me/apiref/en/#t-title_get_categories_attributes $attributes = $svc->attributes(17038826);
use Gam6itko\OzonSeller\Service\V2\Posting\CrossborderService; use GuzzleHttp\Client as GuzzleClient; use Http\Adapter\Guzzle6\Client as GuzzleAdapter; $config = [ 'clientId' => '', 'apiKey' => '', 'host' => 'http://cb-api.ozonru.me/' ]; $adapter = new GuzzleAdapter(new GuzzleClient()); $svc = new CrossborderService($config, $adapter); $postingNumber = '39268230-0002-3'; $orderArr = $svc->get($postingNumber); echo json_encode($orderArr);
< "result": [ < "address": < "address_tail": "г. Москва, ул. Центральная, 1", "addressee": "Петров Иван Владимирович", "city": "Москва", "comment": "", "country": "Россия", "district": "", "phone": "+7 495 123-45-67", "region": "Москва", "zip_code": "101000" >, "auto_cancel_date": "2019-11-18T11:30:11.571Z", "cancel_reason_id": 76, "created_at": "2019-11-18T11:30:11.571Z", "customer_email": "petrov@email.com", "customer_id": 60006, "in_process_at": "2019-11-18T11:30:11.571Z", "order_id": 77712345, "order_nr": "1111444", "posting_number": "39268230-0002-3", "products": [ < "name": "Фитнес-браслет", "offer_id": "DEP-1234", "price": "1900.00", "quantity": 1, "sku": 100056 > ], "shipping_provider_id": 0, "status": "awaiting_approve", "tracking_number": "" > ] >
use Gam6itko\OzonSeller\Service\V1\ProductService; use GuzzleHttp\Client as GuzzleClient; use Http\Adapter\Guzzle6\Client as GuzzleAdapter; $config = [ 'clientId' => '', 'apiKey' => '', // use prod host by default ]; $adapter = new GuzzleAdapter(new GuzzleClient()); $svcProduct = new ProductService($config, $adapter); $product = [ 'barcode' => '8801643566784', 'description' => 'Red Samsung Galaxy S9 with 512GB', 'category_id' => 17030819, 'name' => 'Samsung Galaxy S9', 'offer_id' => 'REDSGS9-512', 'price' => '79990', 'old_price' => '89990', 'premium_price' => '75555', 'vat' => '0', 'vendor' => 'Samsung', 'vendor_code' => 'SM-G960UZPAXAA', 'height' => 77, 'depth' => 11, 'width' => 120, 'dimension_unit' => 'mm', 'weight' => 120, 'weight_unit' => 'g', 'images' => [ [ 'file_name' => 'https://ozon-st.cdn.ngenix.net/multimedia/c1200/1022555115.jpg', 'default' => true, ], [ 'file_name' => 'https://ozon-st.cdn.ngenix.net/multimedia/c1200/1022555110.jpg', 'default' => false, ], [ 'file_name' => 'https://ozon-st.cdn.ngenix.net/multimedia/c1200/1022555111.jpg', 'default' => false, ], ], 'attributes' => [ [ 'id' => 8229, 'value' => '4747', ], [ 'id' => 9048, 'value' => 'Samsung Galaxy S9', ], [ 'id' => 4742, 'value' => '512 ГБ', ], [ 'id' => 4413, 'collection' => ['1', '2', '13'], ], [ 'id' => 4018, 'complex_collection' => [ [ 'collection' => [ [ 'id' => 4068, 'value' => 'Additional video', ], [ 'id' => 4074, 'value' => '5_-NKRVn7IQ', ], ], ], [ 'collection' => [ [ 'id' => 4068, 'value' => 'Another one video', ], [ 'id' => 4074, 'value' => '5_-NKRVn7IQ', ], ], ], ], ], ], ]; $svcProduct->import($product); // or $svcProduct->import([$product, $product1, $product2, ...]); // or $res = $svcProduct->import(['items' => [$product, $product1, $product2, ...] ]); echo $res['task_id']; // save it for checking by `importInfo`

About

PHP client for Ozon Seller API

Источник

Saved searches

Use saved searches to filter your results more quickly

You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session.

Реализация методов Ozon Seller Api в среде Google Apps Script

googlesheets-ru/OzonFromGAS

This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?

Sign In Required

Please sign in to use Codespaces.

Launching GitHub Desktop

If nothing happens, download GitHub Desktop and try again.

Launching GitHub Desktop

If nothing happens, download GitHub Desktop and try again.

Launching Xcode

If nothing happens, download Xcode and try again.

Launching Visual Studio Code

Your codespace will open once ready.

There was a problem preparing your codespace, please try again.

Latest commit

Git stats

Files

Failed to load latest commit information.

README.md

Реализация методов Ozon Seller Api в среде Google Apps Script

Проект начат в рамках подготовки материала для информационной платформы dev.ozon.ru.
Библиотека представляет из себя клиент для отправки запросов, адаптированный под выполнение в среде Google Apps Script. Все методы и типы в ней полностью соответствуют официальной документации, типы сгенерированны автоматически.
Для того, чтобы поставить галочку за соблюдение принципа разделения ответственности, облегчить поддержку и исключить путаницу — ничего, кроме того, что есть в документации, в этой библиотеке не будет. Различные функции-помощники, синтаксический сахар и вообще все, что не касается методов Ozon Seller API, будет в таблице-примере.

Подключение библиотеки к скрипту 🚀

  1. В редакторе скриптов нажимаем на иконку “+” рядом с пунктом “библиотеки” link_lib1
  2. В появившемся окне в поле “Идентификатор скрипта” вводим идентификатор библиотеки 1jNkKwjF2fasD2kSn9KvjtcOe-09LepeUS4016TolPomer8oo4bsFkPLt и нажимаем кнопку “найти”
    link_lib2
  3. Если идентификатор библиотеки введен верно, то увидим следующее окно. Выбираем самую последнюю версию (она необязательно будет 1)
    link_lib3
  4. После подключения к скрипту, в разделе “Библиотеки” появится новый, нужный нам элемент. Значение “OzonApi” говорит о том, что именно через этот объект возможно получить доступ.
    Например, так: const client = OzonApi.client(keys);
    link_lib4

1.Получение списка идентификатор товара

 /** Инициализируем апи клиент */ const client = OzonApi.client(keys); const productsIdsListResponse = client.productApiGetProductList(< filter: < /* Можно отфильтровать по offer_id, чтобы получить другие данные о товаре */ // offer_id: [''], /* или по product_id */ // product_id: [''], /** Здесь фильтр "по видимости", подробнее - https://docs.ozon.ru/api/seller/#operation/ProductAPI_GetProductList */ visibility: 'ALL', >, limit: 20, >); 
 /** Инициализируем апи клиент */ const client = OzonApi.client(keys); /**Запрашиваем информацию о товарах по полученному списку offer_id */ const productsInfoListResponse = client.productApiGetProductInfoListV2(< offer_id: productsOfferIds, >); 

Ответы на вопросы и помощь в нашем чате телеграм

About

Реализация методов Ozon Seller Api в среде Google Apps Script

Источник

Клиент Ozon Seller API на Golang

Как всем известно, Ozon предоставляет продавцам API для работы с площадкой. В возможности API входит весь функционал площадки, с помощью которого можно работать с карточками товаров, складами, заказами, продвижением своих карточек и даже чатом.

Для чего он нужен и как им можно пользоваться? Например, если вы продаете на нескольких площадках, то целесообразнее было бы хранить информацию о товаре в структурированном виде и добавлять их на площадки при помощи API. Так вы сэкономите время и убережете себя от ошибок. Также легко копировать карточки с одной площадки на другую. Или можно написать сайт с статистикой о продажах по категориям на основе данных продавцов, полученных при помощи API.

404 Not found

На просторах Github я не смог найти какой-либо поддержанной и полной клиентской библиотеки с API Ozon, поэтому я решил написать ее самостоятельно. Ее можно посмотреть на моем github. На момент написания этой статьи она еще находится на стадии добавления всех endpoints, поэтому хотелось бы получить какой-то фидбэк о данной библиотеке и узнать каков на нее спрос.

Как пользоваться

Для начала нужно получить Client-Id и Api-Key в своем личном кабинете продавца на ozon.

Затем необходимо добавить пакет при помощи:

go get github.com/diphantxm/ozon-api-client

Необходимо создать клиент, в который нужно передать полученные ранее Client-Id и Api-Key:

client := ozon.NewClient("my-client-id", "my-api-key")

Функционал библиотеки разделен по структурам. Например, чтобы создать карточку товара, необходимо обратиться к структуре Products в клиенте:

resp, err := client.Products().GetProductDetails(&ozon.GetProductDetailsParams< ProductId: 123456789, >)

В функцию передаем параметры запроса и получаем ответ от Ozon API.

package main import ( "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 client := ozon.NewClient("my-client-id", "my-api-key") // Send request with parameters resp, err := client.Products().GetProductDetails(&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) >>

На данный момент библиотеке находится в процессе реализации всех endpoint, поэтому какого-то функционала еще нет. Если вы хотели бы пользоваться такой библиотекой и вам нужны некоторые функции, можете оставить Issue с списков необходимых методов. Или можете реализовать их сами и отправить Pull Request. Вклад в развитие приветствуется 🙂

Источник

Читайте также:  Простая перестановка шифрование python
Оцените статью