mediaopt/image-similarity-as-a-service-sdk

dev-master 2021-08-18 11:19 UTC

This package is auto-updated.

Last update: 2024-03-18 16:49:26 UTC


README

You could use this SDK to build your own integration

Installation

With Composer, run

composer require mediaopt/image-similarity-as-a-service-sdk

Configuration

You have to create a new class that implements the Mediaopt\ImageSdk\AbstractConfigurator

// app/MyConfigurator.php

use Mediaopt\ImageSdk\AbstractConfigurator;
use Monolog\Handler\HandlerInterface;
use Monolog\Handler\RotatingFileHandler;
use Monolog\Logger;

class MyConfigurator implements AbstractConfigurator
{
    /**
     * @return string
     */
    protected function getUsername()
    {
        //Take it from somewhere
        return 'username';
    }

    /**
     * @return string
     */
    protected function getPassword()
    {
        //Take it from somewhere
        return 'password';
    }

    /**
     * @return int
     */
    protected function getEnvironment()
    {
        // Take it from somewhere
        // Value should be on of
        // self::ENVIRONMENT_PRODUCTION
        // or 
        // self::ENVIRONMENT_STAGE

        return self::ENVIRONMENT_STAGE;
    }

    /**
     * @return HandlerInterface
     */
    protected function buildLogHandler()
    {
        // You could return any handler 
        // that implements Monolog's HandlerInterface

        return new RotatingFileHandler(
            '/dir/to/logs/', 
            10, //Max files to keep
            Logger::ERROR
        );
    }
}

Create SDK services

//app/my_application.php

use Mediaopt\ImageSdk\Main;
use Mediaopt\ImageSdk\Api\Product;
use Mediaopt\ImageSdk\Api\Image;
use Mediaopt\ImageSdk\Api\Category;

$configurator = new MyConfigurator();
$sdk = new Main($configurator);

/* @var $productService Product */
$productService = $sdk->buildProductService();

/* @var $imageService Image */
$imageService = $sdk->buildImageService();

/* @var $categoryService Category */
$categoryService = $sdk->buildCategoryService();

Use method of services

Image service has the following methods:

  • deleteImagesByImageId
  • deleteImagesByProductId
  • deleteImage
  • sendImage
  • getSimilarProducts
  • getSimilarProductsForCategory

Product service has the following methods:

  • getProductIds
  • sendProductData

Category service has the following method:

  • sendCategoryData