custom/plugins/MagmodulesWebshopnl/src/Api/Controller/OrderController.php line 63
<?phpdeclare(strict_types=1);namespace MagmodulesWebshopnl\Api\Controller;use Shopware\Core\Framework\Context;use Shopware\Core\System\SystemConfig\SystemConfigService;use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;use Symfony\Component\HttpFoundation\JsonResponse;use Symfony\Component\HttpFoundation\Request;use Symfony\Component\Routing\Annotation\Route;class OrderController extends AbstractController{public function __construct(private SystemConfigService $systemConfigService,private OrderProcess $orderProcess) {}/*** @Route("/api/webshopnl/order/{salesChannelId}",* name="api.webshopnl.order", methods={"POST"},* defaults={"auth_required"=false, "_routeScope"={"administration"}})*/public function createOrder(Context $context, Request $request): JsonResponse{$bearerToken = (string) $request->headers->get('Authorization', '');$bearerToken = str_replace("Bearer ", "", $bearerToken);$integrationToken = $this->systemConfigService->get('MagmodulesWebshopnl.settings.integrationToken');if ($bearerToken !== $integrationToken) {return new JsonResponse(['status' => 401,'title' => 'The resource owner or authorization server denied the request',"detail" => 'Access token could not be verified',]);}$order = json_decode($request->getContent(), true);$salesChannelId = $request->attributes->get('salesChannelId');$response = $this->orderProcess->processOrder($order, $salesChannelId, $context);if (!$response || ($response['status'] ?? null) === 'Rejected') {return new JsonResponse($response);}return new JsonResponse([['order_id' => $order['order_id'],'remote_order_id' => $response['id'] ?? $response['order_id'] ?? null,'merchant_id' => $order['merchant_id'],'status' => "CONFIRMED",'message' => 'Order was imported',],]);}/*** @Route("/api/webshopnl/status/{orderId}",* name="api.webshopnl.status", methods={"GET"},* defaults={"auth_required"=false, "_routeScope"={"administration"}})*/public function getOrderStatus(Context $context, Request $request): JsonResponse{$bearerToken = $request->headers->get('Authorization');if ($bearerToken) {$bearerToken = str_replace("Bearer ", "", $bearerToken);$integrationToken = $this->systemConfigService->get('MagmodulesWebshopnl.settings.integrationToken');if ($bearerToken === $integrationToken) {$orderId = $request->attributes->get('orderId');return $this->orderProcess->getOrderStatus($orderId, $context);}return new JsonResponse(['status' => 401,'title' => 'The resource owner or authorization server denied the request',"detail" => 'Access token could not be verified',]);}return new JsonResponse(["status" => 401,"title" => 'The resource owner or authorization server denied the request.',"detail" => 'Missing Authorization header',]);}}