Square Connect не может подписаться на уведомления веб-перехватчика

Я следую инструкциям здесь на настройка уведомлений вебхуков для платежей Square. Но когда я выполняю оператор curl на шаге 5, чтобы подписаться на платежные уведомления моего собственного продавца, я получаю ответ:

{"type":"bad_request","message":"Request body is not an array of event types"}

Оператор curl

curl -X PUT -H "Authorization: Bearer MY_ACCESS_TOKEN" -d '{"event_types": ["PAYMENT_UPDATED"]}' https://connect.squareup.com/v1/me/webhooks

Они обновили имена типов событий? Я не могу найти никакой другой документации по веб-хукам.


person Adam Herbst    schedule 08.01.2015    source источник


Ответы (1)


Упс! Спасибо, что нашли эту ошибку в сообщении в блоге, которую я исправил. Формат curl, ранее показанный на шаге 5, содержал две ошибки:

  1. Тело запроса должно было быть просто массивом желаемых типов событий, например:

    ["PAYMENT_UPDATED"]

    Без объекта JSON, окружающего его. Правильный формат также показан в документации по API.

  2. В запросе отсутствовал заголовок Content-Type: application/json. Этот заголовок требуется для всех запросов к конечным точкам API Connect.

Правильный запрос выглядит так, с подстановкой вашего личного токена доступа, где указано:

curl -X PUT -H "Authorization: Bearer PERSONAL_ACCESS_TOKEN" -H "Content-Type: application/json" -d "[\"PAYMENT_UPDATED\"]" https://connect.squareup.com/v1/me/webhooks

person Stephen Barlow    schedule 08.01.2015
comment
Я все еще получаю ту же ошибку. Сейчас я использую: curl -X PUT -H Авторизация: Bearer MY_ACCESS_TOKEN -d ​​'[PAYMENT_UPDATED]' connect.squareup.com/v1/me/webhooks. Просто для двойной проверки я выполнил GET для этой конечной точки, и он дал мне пустой массив. - person Adam Herbst; 08.01.2015
comment
Ах, в команде в сообщении блога также отсутствует обязательный заголовок Content-Type. Я соответствующим образом обновил приведенный выше ответ и исправлю сообщение в блоге. - person Stephen Barlow; 08.01.2015