Как вызвать внешний API в magento 2.2? - PullRequest
0 голосов
/ 25 февраля 2019

Я новичок в Magento 2. Мне нужна помощь в следующем запросе.

Как вызвать внешний API при загрузке страницы или по нажатию кнопки в Magento 2.2?

Нужно ли для этого создать наблюдателя или есть лучший способ сделать это?Буду признателен, если какие-либо ссылки предоставляются для пошагового процесса.

1 Ответ

0 голосов
/ 28 февраля 2019

Прежде всего, нам нужно знать, как вызвать базовый API.Вот пример о GET:

$externalAPI = 'https://your/external/api_url'

$ch = curl_init($externalAPI);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "GET");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, array("Content-Type: application/json"));

$result = curl_exec($ch);

var_dump($result);

Со стороны Magento мы можем использовать \Magento\Framework\HTTP\Client\Curl class:

$apiUrl = '';
$this->curl->addHeader('Content-Type', 'application/json');
$this->curl->get($apiUrl);
$body = $this->curl->getBody();
$httpCode = $this->curl->getStatus();
//Quick decoding body
$dataResponse = \Zend_Json::decode($body);

Как вызвать внешний API при загрузке страницы илина нажатие кнопки в Magento 2.2?

Нужно ли нам создавать наблюдателя для того же или есть лучший способ сделать это.

Это зависит от требований.Когда вам нужно подключиться к API?Или просто показать его на интерфейсе?

Как только вы знаете, когда (или где?) Вам нужно вызвать внешний API.Вы можете выбрать плагин, Observer или Ajax.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...