Woocommerce Webhook для AWS API-Gateway: CORS / Проблема заголовка - PullRequest
1 голос
/ 20 марта 2019

Я пытаюсь отправить веб-крючок Woocommerce на AWS API Gateway. Когда я вставляю URL своего API-шлюза на Amazon, я получаю следующую ошибку:

Error: Delivery URL returned response code: 415

Я думаю, что это связано с заголовками, есть опция Создать CORS в API-шлюзе, которую я сейчас сделал. Который затем добавляет метод OPTION, но я все еще получаю undefined в Cloudwatch

enter image description here

Я создал метод 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
    }
}

enter image description here

Вот функция мини-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?

...