itomych / pwinty
Pwinty bundle for V3.0 api
v1.0
2018-11-15 09:42 UTC
Requires
- php: ^7.1
- ext-json: *
- symfony/framework-bundle: *
- symfony/yaml: *
Requires (Dev)
This package is not auto-updated.
Last update: 2024-04-14 03:17:53 UTC
README
Description
This the symfony bundle for pwinty api v3.0
Installation
composer require itomych/pwinty
Add to .env file
PWINTY_SANDBOX_MODE=true
PWINTY_MERCHANT_ID=
PWINTY_API_KEY=
Usage
<?php
namespace App\Api\Controller;
use Itomych\Pwinty\Api\PwintyApi;
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
use Symfony\Component\Routing\Annotation\Route;
use Symfony\Component\HttpFoundation\JsonResponse;
use Symfony\Component\HttpFoundation\Request;
class ExampleController extends AbstractController
{
/**
* @Route("/example", name="example", methods={"POST"})
* @param $request Request
* @param $pwinty PwintyApi
* @return JsonResponse
*/
public function index(Request $request, PwintyApi $pwinty): JsonResponse {
//Creating order case
//Please see all required params in \Itomych\Pwinty\Api\Objects\Order
$order = $pwinty->order->create($request->request->all());
$order = $pwinty->order->save($order);
$image = $pwinty->image->create($request->get('sku'), $request->get('image_url'));
$pwinty->image->addToOrder($order->getId(), $image);
//or you can add multiple images
// $pwinty->image->addToOrderMultiple($order->getId(), $imagesArray);
$validateResult = $pwinty->order->validate($order->getId());
if($validateResult->isValid()){
$pwinty->order->submit($order->getId());
$order = $pwinty->order->get($order->getId());
// return $this->json(json_encode($order));
} else {
$pwinty->order->cancel($order->getId());
// return $this->json(print_r($validateResult->getErrorMessages(), 1), JsonResponse::HTTP_BAD_REQUEST);
}
//list orders
$limit = 100;
$offset = 0;
$ordersList = $pwinty->order->list($limit, $offset);
//list countries
$countriesList = $pwinty->country->list();
//product pricing
$skusArray = ['P-FIN-CPP-297X419', 'P-FIN-CPP-297X210'];
$listProducts = $pwinty->product->list($skusArray);
$oneProduct = $pwinty->product->get('P-FIN-CPP-297X419');
return $this->json('');
}
}