Я пытаюсь отправить веб-крючок Woocommerce на AWS API Gateway. Когда я вставляю URL своего API-шлюза на Amazon, я получаю следующую ошибку:
Error: Delivery URL returned response code: 415
Я думаю, что это связано с заголовками, есть опция Создать CORS в API-шлюзе, которую я сейчас сделал. Который затем добавляет метод OPTION, но я все еще получаю undefined
в Cloudwatch
Я создал метод POST и использовал приведенный ниже шаблон сопоставления с application / json и настройкой When there are no templates defined (recommended)
{
"body" : $input.json('$'),
"headers": {
#foreach($header in $input.params().header.keySet())
"$header": "$util.escapeJavaScript($input.params().header.get($header))" #if ($foreach.hasNext), #end
#end
}
}
Вот функция мини-Lambda Node, которая просто выводит номер заказа Woocommerce на консоль и показывает в Cloudwatch, работает ли проход API.
exports.handler = (event, context, callback, err) => {
//callback(null, event.meta_data);
if (err) console.log('JSON Pass Fail'); // an error occurred
else console.log(event.order_key); // successful response
};
Если кто-то захочет попробовать создать его заново, вы можете быстро установить Wordpress на cPanel и установить плагин Woocommerce. Настройте фиктивный продукт, а затем просто используйте «Оплата наложенным платежом» в качестве способа оплаты, чтобы запустить веб-крючки «Заказ создан». Занимает всего 2 минуты.
Вы можете использовать https://requestbin.com/ или webhook.site для проверки выходных данных webhook.
Может ли кто-нибудь помочь разобраться в заголовках, чтобы я мог передать полезную нагрузку Woocommerce в API Gateway?