resq/src/Service/MotivConnector.php

65 lines
1.5 KiB
PHP

<?php
namespace App\Service;
class MotivConnector
{
protected $base_url;
protected $sub_key;
protected $token;
public function __construct($base_url, $sub_key, $token)
{
$this->base_url = $base_url;
$this->sub_key = $sub_key;
$this->token = $token;
}
public function generateToken()
{
// NOTE: no need for now, since we use the pre-generated token
}
public function getInventory($branch_codes = [], $skus = [])
{
$body = [
'BranchCodes' => $branch_codes,
'Skus' => $skus
];
$body_text = json_encode($body);
$res = $this->curlPost('InventoryService', $body_text);
return json_decode($res, true);
}
protected function curlPost($url, $body)
{
$curl = curl_init();
$options = [
CURLOPT_URL => $this->base_url . '/' . $url,
CURLOPT_POST => true,
CURLOPT_RETURNTRANSFER => true,
CURLOPT_POSTFIELDS => $body,
CURLOPT_HTTPHEADER => [
'Content-Type: application/json',
'Ocp-Apim-Subscription-Key: ' . $this->sub_key,
'Authorization: Bearer ' . $this->token,
],
];
curl_setopt_array($curl, $options);
$res = curl_exec($curl);
curl_close($curl);
error_log('MOTIV API connector');
error_log(print_r($options, true));
error_log($res);
return $res;
}
}