File: /home/royaltuning/www/public/backoffice.royaltuning.hu/app/Helpers/WebshippyHelper.php
<?php
namespace App\Helpers;
use App\Http\Controllers\Backend\Api\Webshippy\WebshippyController;
use Illuminate\Support\Facades\DB;
use Illuminate\Support\Facades\Http;
use Illuminate\Support\Facades\Storage;
class WebshippyHelper
{
/**
* API kulcs lekérése a source mező alapján.
*/
public static function getApiKey($source)
{
$apiKeys = config('webshippy.shops');
return $apiKeys[$source] ?? null;
}
/**
* Webshippy rendelésazonosító lekérése, ha nincs wspyId az adatbázisban.
*/
public static function getWebshippyOrderId($referenceId, $source)
{
$apiKey = self::getApiKey($source);
if (!$apiKey) {
return null;
}
$response = WebshippyController::getOrder($referenceId, $source);
if ($response->status === 'success') {
$orders = $response->result;
if (isset($orders[0]->wspyId)) {
DB::table("woo_orders")->where("order_id", $referenceId)->update(["wspyId" => $orders[0]->wspyId]);
return $orders[0]->wspyId;
} else {
return null;
}
}
return null;
}
/**
* Webshippy tracking információ lekérése a Webshippy azonosító alapján.
*/
public static function getTrackingInfo($wspyId, $source)
{
$apiKey = self::getApiKey($source);
if (!$apiKey || !$wspyId) {
return null;
}
$response = WebshippyController::getTrack($wspyId, $source);
if (isset($response->status)) {
if ($response->status === 'success' && empty($response->message) && !empty($response->result)) {
return (array)$response->result->{$wspyId} ?? null;
}
}
return null;
}
}