throw new BadRequestHttpException('Только POST запросы разрешены');
}
- /*$requestIp = Yii::$app->request->userIP;
+ /*
+ $requestIp = Yii::$app->request->userIP;
$ipLong = ip2long($requestIp);
-
$allowedRanges = [
['start' => ip2long('5.45.207.0'), 'end' => ip2long('5.45.207.127')],
['start' => ip2long('141.8.142.0'), 'end' => ip2long('141.8.142.127')],
['start' => ip2long('5.255.253.0'), 'end' => ip2long('5.255.253.127')],
];
-
$allowed = false;
foreach ($allowedRanges as $range) {
if ($ipLong >= $range['start'] && $ipLong <= $range['end']) {
break;
}
}
-
if (!$allowed) {
Yii::$app->response->statusCode = 403;
return $this->asJson([
'message' => 'Доступ запрещен'
]
]);
- }*/
+ }
+ */
$rawBody = Yii::$app->request->getRawBody();
try {
switch ($eventType) {
case 'PING':
return $this->asJson([
- 'version' => '1.0.0',
- 'name' => 'БазаЦветов24',
+ 'version' => '1.0.0',
+ 'name' => 'БазаЦветов24',
'timestamp' => date('Y-m-d H:i:s')
]);
]);
}
}
-
$campaignId = $data['campaignId'];
- $orderId = $data['orderId'];
+ $orderId = $data['orderId'];
$orderData = MarketplaceService::fetchOrder($campaignId, $orderId);
if (empty($orderData)) {
]
]);
}
-
- $result = MarketplaceService::processOrders($orderData);
- //TODO - отправка в 1С
+ $result = \MarketplaceService::processOrders($orderData);
+ // Здесь можно добавить отправку данных в 1С
return $this->asJson([
- 'version' => '1.0.0',
- 'name' => 'БазаЦветов24',
- 'timestamp' => date('Y-m-d H:i:s')
+ 'version' => '1.0.0',
+ 'name' => 'БазаЦветов24',
+ 'timestamp' => date('Y-m-d H:i:s'),
+ 'message' => 'ORDER_CREATED событие обработано успешно'
]);
case 'ORDER_STATUS_UPDATED':
]);
}
}
-
- $campaignId = $data['campaignId'];
- $orderId = $data['orderId'];
- $newStatusCode = $data['status'];
+ $campaignId = $data['campaignId'];
+ $orderId = $data['orderId'];
+ $newStatusCode = $data['status'];
$newSubstatusCode = $data['substatus'];
$marketplaceOrder = MarketplaceOrders::find()
}
$result = MarketplaceService::processOrders($orderData);
return $this->asJson([
- 'version' => '1.0.0',
- 'name' => 'БазаЦветов24',
- 'timestamp' => date('Y-m-d H:i:s')
+ 'version' => '1.0.0',
+ 'name' => 'БазаЦветов24',
+ 'timestamp' => date('Y-m-d H:i:s'),
+ 'message' => "ORDER_STATUS_UPDATED событие обработано успешно (заказ создан)",
+ 'result' => $result
]);
} else {
- //TODO - обработка отдельных статусов
- $currentStatusCode = $marketplaceOrder->status ? $marketplaceOrder->status->code : null;
+ $currentStatusCode = $marketplaceOrder->status ? $marketplaceOrder->status->code : null;
$currentSubstatusCode = $marketplaceOrder->substatus ? $marketplaceOrder->substatus->code : null;
if ($newStatusCode !== $currentStatusCode || $newSubstatusCode !== $currentSubstatusCode) {
$orderData = MarketplaceService::fetchOrder($campaignId, $orderId);
}
$result = MarketplaceService::processOrders($orderData);
return $this->asJson([
- 'version' => '1.0.0',
- 'name' => 'БазаЦветов24',
- 'timestamp' => date('Y-m-d H:i:s')
+ 'version' => '1.0.0',
+ 'name' => 'БазаЦветов24',
+ 'timestamp' => date('Y-m-d H:i:s'),
+ 'message' => "ORDER_STATUS_UPDATED событие обработано успешно",
+ 'result' => $result
]);
} else {
return $this->asJson([
- 'version' => '1.0.0',
- 'name' => 'БазаЦветов24',
- 'timestamp' => date('Y-m-d H:i:s')
+ 'version' => '1.0.0',
+ 'name' => 'БазаЦветов24',
+ 'timestamp' => date('Y-m-d H:i:s'),
+ 'message' => 'Статус заказа не изменился, обновление не требуется'
]);
}
}
}
}
$campaignId = $data['campaignId'];
- $orderId = $data['orderId'];
- $orderData = MarketplaceService::fetchOrder($campaignId, $orderId);
+ $orderId = $data['orderId'];
+ $orderData = MarketplaceService::fetchOrder($campaignId, $orderId);
if (empty($orderData)) {
Yii::$app->response->statusCode = 400;
return $this->asJson([
}
$result = MarketplaceService::processOrders($orderData);
return $this->asJson([
- 'version' => '1.0.0',
- 'name' => 'БазаЦветов24',
- 'timestamp' => date('Y-m-d H:i:s')
+ 'version' => '1.0.0',
+ 'name' => 'БазаЦветов24',
+ 'timestamp' => date('Y-m-d H:i:s'),
+ 'message' => "ORDER_CANCELLED событие обработано успешно",
+ 'result' => $result
]);
case 'ORDER_RETURN_CREATED':
}
}
$campaignId = $data['campaignId'];
- $orderId = $data['orderId'];
- $orderData = MarketplaceService::fetchOrder($campaignId, $orderId);
+ $orderId = $data['orderId'];
+ $orderData = MarketplaceService::fetchOrder($campaignId, $orderId);
if (empty($orderData)) {
Yii::$app->response->statusCode = 400;
return $this->asJson([
}
$result = MarketplaceService::processOrders($orderData);
return $this->asJson([
- 'version' => '1.0.0',
- 'name' => 'БазаЦветов24',
- 'timestamp' => date('Y-m-d H:i:s')
+ 'version' => '1.0.0',
+ 'name' => 'БазаЦветов24',
+ 'timestamp' => date('Y-m-d H:i:s'),
+ 'message' => "ORDER_RETURN_CREATED событие обработано успешно",
+ 'result' => $result
]);
default: