使用 Zoho Sign 的 GET 方法在 Laravel 中创建 Webhook 接收器

问题描述 投票:0回答:1

我正在努力将 Zoho Sign 集成到我的 Laravel 应用程序中,我需要设置一个 Webhook 接收器以从 Zoho Sign 获取完整的文档。但是,Zoho Sign 的 Webhook 系统仅接受 GET 请求。

我之前已经在 Laravel 中成功实现了 webhook 接收器,但它们通常使用 POST 请求。我不确定如何处理 Laravel 中 webhook 端点的 GET 请求。

有人可以提供有关如何在 Laravel 中创建 webhook 接收器来侦听来自 Zoho Sign 的 GET 请求的指南或代码示例吗?具体来说,我需要捕获 Zoho Sign 发送的 Webhook 数据并在我的 Laravel 应用程序中对其进行处理。

任何帮助或见解将不胜感激!

这是我迄今为止尝试过的:

  1. 我在 web_api.php 中创建了一条新路由,如下所示:

Route::get('receive-waiver', [WaiverController::class, 'ReceiveWaiver']);

  1. 我创建了一个带有 ReceiveWaiver 功能的“WaiverController”。
<?php

namespace App\Http\Controllers\Zoho;

use App\Http\Controllers\Controller;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Http;

class WaiverController extends Controller
{

    public function ReceiveWaiver(Request $request)
    {
        \Log::info('Webhook success!');
        \Log::info('Webhook Data: ' . json_encode($request['requests']));
        \Log::info('Webhook Document: ' . json_encode($request['requests']['document_ids']));
        try {

            if (!empty($request['requests'])) {
                $waiverData = json_encode($request['requests']);
                $waiverDocument = json_encode($request['requests']['document_ids']);
                \Log::info('Success Webhook Data: ' . $waiverData);
                \Log::info('Success Webhook Document: ' . $waiverDocument);

            }

            return response()->json(['message' => 'Webhook received'], true);
        } catch (\Exception $e) {
            $errorMessage = $e->getMessage();
            \Log::info('Error Webhooks: ' . $errorMessage);
            return response()->json(['message' => $e->getMessage()]);
        }
    }
}

在 Zoho Sign 中,这就是它的样子。

Zoho Sign Webhook Setup

get webhooks laravel-9 zoho
1个回答
0
投票

Zoho Sign 的 Webhook 系统仅接受 GET 请求。

不会,Zoho Sign 会向您在设置页面中提供的 Webhook URL 发出 POST 请求。请求有效负载(请求正文)将包含与发生的事件相关的数据。

所以,你可以像以前一样继续发展。您可以使用应用程序中的 POST 路由来完成此操作。

Route::post('receive-waiver', [WaiverController::class, 'ReceiveWaiver']);

您可以参考以下链接:

https://help.zoho.com/portal/en/community/topic/webhooks-for-zoho-sign

https://help.zoho.com/portal/en/kb/zoho-sign/admin-guide/webhooks/articles/webhooks-management#Zoho_Sign_Webhooks

© www.soinside.com 2019 - 2024. All rights reserved.