Bigcommerce API — Создание веб-хука — Неверный заголовок

Я делаю небольшие шаги в этом проекте, над которым я работаю. Теперь создаем и регистрируем webhook. Я получаю ответ ниже:

400 — неверный заголовок

Я пробовал следующий код:

// Send a request to register a web hook
$http2 = new Client('https://api.bigcommerce.com', array(
'request.options' => array(
'exceptions' => false,
'headers' => array(
'X-Auth-Client' => $client_id,
'X-Auth-Token'  => $access_token,
'Content-Type'  => 'application/json',
'X-Custom-Auth-Header' => $access_token,
)
)
));
$request = $http2->post('/'.$store_hash.'/v2/hooks', null, array(
'scope'         => 'store/order/*',
'destination'   => 'https://example.com/process_order.php',
'is_active'     => true
));
$response = $request->send();
$body = $response->getBody(true);
var_dump($body);

echo '<p>Status Code: ' .  $response->getStatusCode() . '</p>';

… а также

// Send a request to register a web hook
$http2 = new Client('https://api.bigcommerce.com', array(
'request.options' => array(
'exceptions' => false,
'headers' => array(
'X-Auth-Client' => $client_id,
'X-Auth-Token'  => $access_token,
'Content-Type'  => 'application/json',
)
)
));
$request = $http2->post('/'.$store_hash.'/v2/hooks', null, array(
'scope'         => 'store/order/*',
'headers'       => array(
'X-Custom-Auth-Header' => $access_token,
),
'destination'   => 'https://example.com/process_order.php',
'is_active'     => true
));
$response = $request->send();
$body = $response->getBody(true);
var_dump($body);

echo '<p>Status Code: ' .  $response->getStatusCode() . '</p>';

Я работаю с документацией здесь:
https://developer.bigcommerce.com/api/stores/v2/webhooks#create-a-hook

Тем не менее, я не могу понять, что {} Secret_auth_password как хорошо? Документация не объясняет это. Я также отправляю идентификатор клиента и заголовок клиента как часть заголовков.

Все еще получаю неверный заголовок в ответ.

Я использую Guzzle.

Может ли кто-нибудь помочь мне в этом, пожалуйста?

0

Решение

Я наконец понял, что я сделал неправильно после многочисленных попыток.

Ответ: отправьте данные в формате JSON.

Разрешенный код:

// Send a request to register a web hook
$http3 = new Client('https://api.bigcommerce.com', array(
'request.options' => array(
'exceptions' => false,
'headers' => array(
'X-Auth-Client' => $client_id,
'X-Auth-Token'  => $access_token,
'Content-Type'  => 'application/json',
'Accept'        => 'application/json',
)
)
));
$request = $http3->post('/'.$store_hash.'/v2/hooks', null, json_encode(array(
'scope'         => 'store/order/statusUpdated',
'destination'   => 'https://example.com/process_order.php',
)));
$response = $request->send();
0

Другие решения

Других решений пока нет …