50 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			PHP
		
	
	
	
			
		
		
	
	
			50 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			PHP
		
	
	
	
| <?php
 | |
| namespace IpSupply\SyncOrder\Sync;
 | |
| 
 | |
| use GuzzleHttp\Client;
 | |
| use GuzzleHttp\Psr7\Request as GuzzRequest;
 | |
| use IpSupply\SyncOrder\Config\Getter;
 | |
| 
 | |
| final class Index
 | |
| {
 | |
|     protected $_config;
 | |
| 
 | |
|     function __construct()
 | |
|     {
 | |
|         $this->_config = Getter::get('config');
 | |
|     }
 | |
| 
 | |
|     protected function _headers($headers = array())
 | |
|     {
 | |
|         return array_merge([
 | |
|             'Authorization' => 'Bearer ' . ''
 | |
|         ], $headers);
 | |
|     }
 | |
| 
 | |
|     protected function _client() {
 | |
|         $client = new Client([
 | |
|             'headers' => $this->_headers(),
 | |
|             'base_url' => $this->_config['url'],
 | |
|         ]);
 | |
| 
 | |
|         return $client;
 | |
|     }
 | |
| 
 | |
|     public function syncOrder($order): bool
 | |
|     {
 | |
|         if ($order instanceof \Magento\Sales\Model\Order\Interceptor) {
 | |
|             $payload = [
 | |
|                 'url' => $this->_config['url'],
 | |
|                 'source' => 'magento',
 | |
|                 ...(new Order($order))->jsonSerialize()
 | |
|             ];
 | |
| 
 | |
| 
 | |
|             return true;
 | |
|         } else {
 | |
|             throw new \ErrorException('$order is not instance \Magento\Sales\Model\Order\Interceptor');
 | |
|             return false;
 | |
|         }
 | |
|     }
 | |
| }
 |