[WordPress] 外掛分享: Contact Form 7 to API

首頁 › 外掛目錄 › Contact Form 7 to API
1,000+
安裝啟用
★★★★☆
4.3/5 分(6 則評價)
3 天前
最後更新
—
問題解決
WordPress 6.7+ PHP 7.4+ v1.5.4 上架:2018-05-26

內容簡介

Contact Form 7 to API 外掛為每個表單新增 API 整合選項,當表單提交時,將資料發送至指定的 URL,方便與外部服務進行資料交換。

【主要功能】
• 支援 GET 和 POST 請求
• 可將表單欄位映射至 API 金鑰
• 支援 JSON 和 XML 格式的請求主體
• 檔案上傳以 base64 格式傳送
• 設定請求超時時間(1-60 秒)
• 提供除錯日誌功能

外掛標籤

開發者團隊

⬇ 下載最新版 (v1.5.4) 或搜尋安裝

① 下載 ZIP → 後台「外掛 › 安裝外掛 › 上傳外掛」
② 後台搜尋「Contact Form 7 to API」→ 直接安裝(推薦)
📦 歷史版本下載

原文外掛簡介

Contact Form 7 to API adds an API Integration tab to each form. When the form is submitted, the entry is sent to the URL you set.
What you can send

Parameters. Map each form field to an API key. GET adds the pairs to the query string and sends no body. POST sends them as the body.
JSON. The filled template is the request body for both GET and POST.
XML. The filled template is the request body. XML is always sent as POST, and the method menu is hidden.
Files. Uploads are sent as base64. A file larger than 8 MB is left out.
Acceptance. In JSON, an acceptance field is a boolean: true when checked and false when it is not. In XML and in parameter mode it is the text true or false.
Auth. Basic auth (user:secret) or a Bearer token. Bearer is used when both are filled in, and both are sent on GET and POST.
Headers. One Name: value line each.
Timeout. Defaults to 15 seconds. You can set 1 to 60 seconds on the form.

A JSON template looks like this:
{ "name": "[your-name]", "email": "[your-email]" }

If the URL already has a query string, mapped fields are added with &. https://example.com/hook?token=abc keeps the token, and the fields follow it.
When the call fails
A response outside HTTP 200–299, a connection error, or a rejected URL fails the submission and skips the Contact Form 7 email. The visitor sees the form’s usual error message.
Turn on Show the API response body as the form message to show a JSON message field, or a shortened copy of any other body.
The last call is saved on the form. Open DEBUG LOG on the API Integration tab. Authorization header values are not stored.
Good to know

Credentials are stored in the form. Anyone who can edit the form can read them.
Keep one copy of the plugin active. WordPress.org installs it in cf7-to-api-basic-auth. A GitHub checkout uses cf7-to-api. Version 1.5.0 and newer skip loading when another copy is already active. Delete the extra folder.
WordPress allows public http and https URLs on ports 80, 443, and 8080. For a private host or another port, return that URL from the qs_cf7_api_validated_url filter, and only for an address you trust.

External service
This plugin does not call a service of its own. Nothing is sent until Send to API is turned on for that form. The request then goes to the URL entered on the API Integration tab. You choose that address. Its terms of use and privacy policy are the ones published by whoever runs it.
The request can include:

Mapped field values, or the filled JSON or XML template.
File contents, as base64, for files of 8 MB or less.
Any special mail-tag you put in a template. [_remote_ip] is the visitor’s IP address. [_url] is the page URL.
The Basic or Bearer credential, in the Authorization header, when one is saved on the form.

On your own site, the API URL, credentials, templates, and field map are stored in the Contact Form 7 form. The debug log stores the last called URL, request body, header names, response code, response body, and error on that same form. Authorization header values are not stored.
Deleting the plugin removes the option that remembers dismissed notices. It leaves Contact Form 7 posts in place, including the API settings and the debug log.

延伸相關外掛

文章
Filter
Mastodon