#vb.net #webhooks
#vb.net #webhooks
Вопрос:
У меня есть система в VB.NET где мне нужно получить webhook от финансовой системы, которая генерирует дебиторскую задолженность и получает платежи. Вся интеграция API уже работает с этим сервисом, мне просто нужно получать webhook для каждого изменения статуса транзакции, чтобы выполнять процедуры в моей базе данных, потому что в настоящее время я проверяю каждую транзакцию несколько раз в день, чтобы узнать, изменился ли мой статус.
В их документации говорится: «Транзакционный веб-хук — этот веб-хук запускается и отправляет POST-уведомление о каждом изменении статуса транзакции. Он применяется ко всем формам оплаты и охватывает весь жизненный цикл транзакции «.
Я никогда не разрабатывал получение webhooks, и при исследовании этого у меня были некоторые сомнения.
При интеграции с API платежей, например, при создании нового платежа, я отправляю сообщение в API. Когда я консультируюсь с обвинением, я посылаю GET. Все это с помощью WebRequest.
Для Webhook возможно ли сделать то же самое и вместо отправки получать POST на странице с помощью WebRequest? Или для получения webhook разработка отличается?
Это пример структуры кода, которую я использую для отправки сообщения:
Public Sub SendRequest(uri As Uri, jsonDataBytes As Byte(), contentType As String, method As String, requisicao As String)
System.Net.ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls Or SecurityProtocolType.Tls11 Or SecurityProtocolType.Tls12
Dim request As WebRequest
request = WebRequest.Create(uri)
request.ContentLength = jsonDataBytes.Length
request.ContentType = contentType
request.Method = method
request.Headers.Add("X-API-KEY", "xxxxxxx")
Using requestStream = request.GetRequestStream
requestStream.Write(jsonDataBytes, 0, jsonDataBytes.Length)
requestStream.Close()
Try
Using responseStream = request.GetResponse.GetResponseStream
Using reader As New StreamReader(responseStream)
Dim objResponse As Object = reader.ReadToEnd()
End Using
End Using
Catch ex As WebException
End Try
End Using
End Sub
Ответ №1:
Webhook отправляет запрос, обычно POST
, но иногда GET
или OPTION
для проверки, на ваш веб-сервер, который ваш код обрабатывает и отвечает на него (или, часто, отвечает до обработки из-за тайм-аутов на отправляющей стороне).
Вы всегда должны проверять отправителя запроса. Это часто делается с использованием идентификатора заголовка запроса, такого как строка имени или идентификатора.
Webhooks иногда описываются как «обратные» или «обратные» API, поскольку вы не выполняете запросы («опрос»), а реагируете на запросы от третьей стороны, отправляющей вам информацию, на которую вы подписались.