PHP code example of codeswholesale / sdk

1. Go to this page and download the library: Download codeswholesale/sdk library. Choose the download type require.

2. Extract the ZIP file and open the index.php.

3. Add this code to the index.php.
    
        
<?php
require_once('vendor/autoload.php');

/* Start to develop here. Best regards https://php-download.com/ */

    

codeswholesale / sdk example snippets


     

    
    $params = [
       /**
        * API Keys
        * These are test api keys that can be used for testing your integration:
        */
        'cw.client_id' => 'ff72ce315d1259e822f47d87d02d261e',
        'cw.client_secret' => '$2a$10$E2jVWDADFA5gh6zlRVcrlOOX01Q/HJoT6hXuDMJxek.YEo.lkO2T6',
        /**
         * CodesWholesale ENDPOINT
         */
        'cw.endpoint_uri' => \CodesWholesale\CodesWholesale::SANDBOX_ENDPOINT,
        /**
         * Due to security reasons, you should use SessionStorage only while testing.
         * In order to go live, you should change it to database storage.
        */
        'cw.token_storage' => new \CodesWholesale\Storage\TokenSessionStorage()
    ];
     
     
    $clientBuilder = new \CodesWholesale\ClientBuilder($params);
    $client = $clientBuilder->build();
    
    

    $platforms = $client->getPlatforms()
    $regions   = $client->getRegions();
    $languages = $client->getLanguages();
    

    $products = $client->getProducts();
    foreach($products as $product) {
        $product->getName(); // the name of product
        $product->getStockQuantity(); // current stock quantity
        $product->getImageUrl(ImageType::SMALL) // product image url
    }
    

     $products = $client->getProducts([
           "language" => [
               "Multilanguage",
               "fr"
            ],
            "platform" => [
                "Steam"
            ],
            "region" => [
                "WORLDWIDE"
            ]
        ]);
        
    foreach($products as $product) {
        $product->getName(); // the name of product
        $product->getStockQuantity(); // current stock quantity
        $product->getImageUrl(ImageType::SMALL) // product image url
    }
    

    $products = $client->getProducts([
        "inStockDaysAgo" => 60
    ]);
        
    foreach($products as $product) {
        $product->getName(); // the name of product
        $product->getStockQuantity(); // current stock quantity
        $product->getImageUrl(ImageType::SMALL) // product image url
    }
    

    $orderInvoice = Invoice::get($createdOrder->getOrderId());
    $invoicePath = Base64Writer::writeInvoice($orderInvoice, "./invoices");
    

    $securityInformation = Security::check(
        "[email protected]",
        "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_4) AppleWebKit/600.7.12 (KHTML, like Gecko) Version/8.0.7 Safari/600.7.12",
        "[email protected]",
        "81.90.190.200"
    );
    
    $ipBlacklisted = $security->isIpBlacklisted();
    $torIp = $security->isTorIp();
    $domainBlackListed = $security->isDomainBlacklisted();
    $subdomain = $security->isSubDomain();
    

    $orders = Order::getHistory("2017-12-11", "2017-12-12");
    
    foreach ($orderList as $order) { 
        $order->getOrderId();
        $order->getClientOrderId();
        $order->getTotalPrice() ;
        $order->getStatus();
        $order->getCreatedOn();
    }
    

    $product = \CodesWholesale\Resource\Product::get($productHref);
    

    $productDescription = \CodesWholesale\Resource\ProductDescription::get($product->getDescriptionHref());

    $productDescription->getLocalizedTitles(); // localized titles
    $productDescription->getPegiRating(); // pegi rating
    $productDescription->getPlatform(); // platform such as PC/Mac
    $productDescription->getFactSheets(); // description in different langauges
    $productDescription->getReleases(); // release dates
    $productDescription->getEditions(); // editions
    $productDescription->getDeveloperHomepage(); // game developer homepage
    $productDescription->getKeywords(); // keywords
    $productDescription->getGameLanguages(); // languages 
    $productDescription->getOfficialTitle(); // official title
    $productDescription->getDeveloperName(); // game developer name
    $productDescription->getEanCodes(); // EAN codes
    $productDescription->getLastUpdate(); // last game update
    $productDescription->getCategory(); // category of game 
    $productDescription->getPhotos(); // urls photo 
    $productDescription->getExtensionPacks(); // extension packs
    $productDescription->getVideos(); // urls video
    $productDescription->getProductId(); // product id
    

    $account = $client->getAccount();
    $account->getFullName(); // name of account
    $account->getEmail(); // email
    $account->getTotalToUse(); // total money to use, balance + credit
    $account->getCurrentBalance(); // current balance value
    $account->getCurrentCredit(); // current credit value
    

    $createdOrder = Order::createOrder(
            [
                [
                    "productId" => "6313677f-5219-47e4-a067-7401f55c5a3a",
                    "quantity" => "2",
                ],
            ], null);
            
    foreach ($createdOrder->getProducts() as $product) {
           
         $product->getProductId();
         $product->getUnitPrice();
    
         foreach ($product->getCodes() as $code) {
              $code->getCodeId();
                
              if ($code->isPreOrder()) {
                  echo "<b>Code has been pre-ordered!</b>" . " <br>";
              }
    
              if ($code->isText()) {
                  echo "Text code to use: <b>" . $code->getCode() . "</b><br>";
              }
    
              if ($code->isImage()) {
                  $fullPath = \CodesWholesale\Util\Base64Writer::writeImageCode($code, "./my-codes");
                  echo "Product has been saved in <b>" . $fullPath . "</b><br>";
              }
         }
    }
    

    $client->registerStockAndPriceChangeHandler(function (array $stockAndPriceChanges) {
        foreach ($stockAndPriceChanges as $stockAndPriceChange) {
            /**
             * Here you can save changes to your database
             *
             * @var StockAndPriceChange $stockAndPriceChange
             */
            echo $stockAndPriceChange->getProductId();
            echo $stockAndPriceChange->getQuantity();
    
            $prices = $stockAndPriceChange->getPrices();
    
            foreach ($prices as $price) {
                /**
                 * @var Price $price
                 */
                echo $price->getRange();
                echo $price->getValue();
            }
    
            echo "<hr>";
        }
    });
    
    $client->registerHidingProductHandler(function (Notification $notification) {
        /**
         * Here you can request for product which was hidden or just hide it
         * using provided productId
         */
        echo $notification->getProductId();
    });
    
    $client->registerPreOrderAssignedHandler(function (AssignedPreOrder $notification) {
        /**
         * Here you can request for ordered product using productId
         */
        echo $notification->getOrderId();
    });
    
    $client->registerUpdateProductHandler(function (Notification $notification) {
        /**
         * Here you can request product which was updated.
         * It can be image, name or other product parameter.
         */
        echo $notification->getProductId();
    });
    
    $client->registerNewProductHandler(function(Notification $notification) {
        /**
         * Here you can request product which was updated.
         * It can be image, name or other product parameter.
         */
        echo $notification->getProductId();
    });
    
    $client->handle(SIGNATURE);