Я прочесывал сеть и, похоже, не могу понять идею URL-адреса обратного вызова. В моем случае у меня есть несколько URL-адресов обратного вызова, которые я должен определить сам. Популярным является «URL-адрес обратного вызова по умолчанию». Что это такое? Можете ли вы привести пример на простом английском языке?
Что такое URL-адрес обратного вызова по отношению к API?
Ответы (6)
URL-адрес обратного вызова будет вызываться методом API, который вы вызываете после его выполнения. Итак, если вы позвоните
POST /api.example.com/foo?callbackURL=http://my.server.com/bar
Затем, когда /foo
завершается, он отправляет запрос http://my.server.com/bar
. Содержимое и метод этого запроса будут различаться — проверьте документацию API, к которому вы обращаетесь.
https://stackoverflow.com/questions/28391359/what-is-callback-url-in-instagram-api-and-how-to-can-i-implement-it
- person Deke; 31.05.2018
Думайте об этом как о письме. Иногда вы получаете письмо, скажем, с просьбой заполнить форму, а затем вернуть форму в конверте с предварительно адресованным адресом, который находится в исходном конверте, в котором была форма.
После того, как вы закончите заполнение формы, вы кладете ее в предоставленный конверт для возврата и отправляете обратно.
CallbackUrl похож на обратный конверт. Вы в основном говорите, что я посылаю вам эти данные. Как только вы закончите с этим, я буду ждать вашего ответа по этому callbackUrl. Таким образом, API обработает отправленные вами данные, а затем просмотрит обратный вызов, чтобы отправить вам ответ.
Это полезно, потому что иногда обработка некоторых данных может занять целую вечность, и нет смысла заставлять вызывающую сторону ждать ответа. Например, предположим, что ваш API позволяет пользователям отправлять в него документы и проверять их на наличие вирусов. Затем вы отправляете отчет после. Сканирование может занять около 3 минут. Пользователь не может ждать 3 минуты. Таким образом, вы подтверждаете, что получили документ, и позволяете вызывающему абоненту заниматься другими делами, пока вы выполняете сканирование, а затем используете callbackUrl, когда закончите, чтобы сообщить ему результат сканирования.
Если вы используете URL-адрес обратного вызова, API может подключиться к URL-адресу обратного вызова и отправить или получить некоторые данные. Это означает, что API может подключиться к вам позже (после вызова API).
Пример
- ВЫ отправляете данные, используя запрос к API
- API отправляет данные с помощью второго запроса ВАМ
Точное определение должно быть в документации API.
Это механизм асинхронного вызова API. Последовательность следующая
- ваше приложение вызывает URL-адрес, передавая в качестве параметра URL-адрес обратного вызова
- API отвечает 20-кратным http-кодом (я думаю, 201, но обратитесь к документации API)
- API работает по вашему запросу определенное время
- API вызывает ваше приложение, чтобы предоставить вам результаты по адресу URL-адреса обратного вызова.
Таким образом, вы можете вызвать API и сообщить своему пользователю, например, что запрос «обрабатывается» или «получен», а затем обновлять статус, когда вы получаете ответ от API.
Надеюсь, это имеет смысл. -ГРАММ
Я сделаю это довольно просто для вас. Когда транзакция инициируется, она проходит стадию обработки, пока не достигнет конечной стадии. Как только он достигает конечной стадии, платежный шлюз отправляет статус транзакции на URL-адрес обратного вызова, который обычно продавцы используют в качестве ссылки, чтобы показать пользователю страницу успеха/неудачи. Надеюсь это поможет?
Другим вариантом использования может быть что-то вроде OAuth, он может не вызываться API напрямую, вместо этого URL-адрес обратного вызова будет вызываться браузером после завершения аутентификации с помощью поставщика удостоверений.
Обычно после того, как конечный пользователь вводит пароль имени пользователя, поставщик услуг идентификации инициирует перенаправление браузера на ваш URL-адрес «обратного вызова» с временным кодом авторизации, например.
https://example.com/callback?code=AUTHORIZATION_CODE
Затем ваше приложение может использовать этот код авторизации для запроса маркера доступа у поставщика удостоверений, который имеет гораздо более длительный срок службы.