Tham chiếu adapter HTTP chung
Trang này liệt kê mọi trường trong ánh xạ của adapter HTTP chung cho email: đối tượng http cho ReputeCast biết cách gọi API HTTP của một nhà cung cấp gửi thư và đọc webhook của họ mà không cần viết mã. Để xem các bước trong ứng dụng, hãy đọc kết nối bất kỳ API email HTTP nào.
Một ánh xạ đến được ReputeCast theo một trong ba cách:
- Biểu mẫu tại Nhà cung cấp gửi thư, rồi Adapter, rồi Adapter HTTP chung. Lưu thành adapter lưu ánh xạ thành một adapter đã cài thuộc loại
httpcho mọi không gian làm việc trên hệ thống. Biểu mẫu bao gồm endpoint gửi, header của yêu cầu, mẫu nội dung, đường dẫn mã thư, ánh xạ webhook và xác thực webhook. Mọi trường khác trên trang này cần một manifest. - Một manifest thuộc loại
http, cài từ URLhttps://của nó bằng Nhà cung cấp gửi thư, rồi Adapter, rồi Cài từ kho adapter.reputecast adapter installchỉ cài adapter cộng đồng thuộc loạiremote. - Settings riêng của một nhà cung cấp (
{"http": {…}}), cho nhà cung cấp được kết nối qua adapter có sẵnhttpgeneric.
Lưu, cài và thử một ánh xạ cần một quản trị viên hệ thống có quyền providers:manage. Sau đó, các không gian làm việc kết nối nhà cung cấp qua ánh xạ đó từ Nhà cung cấp gửi thư, rồi Thêm nhà cung cấp bằng thông tin xác thực của riêng mình.
Manifest
Phần tiêu đề “Manifest”Một adapter HTTP đã cài là một manifest JSON, trong đó đối tượng http là ánh xạ.
| Trường | Quy tắc |
|---|---|
name |
Bắt buộc. Khóa trong sổ đăng ký là community: cộng với tên viết bằng chữ thường và chữ số, nối bằng dấu gạch ngang: “Example ESP” trở thành community:example-esp. Khóa này xuất hiện trong URL webhook. Biểu mẫu nhận từ 2 đến 60 ký tự. |
version |
Bắt buộc khi cài từ URL. Hiển thị trên tab Adapter. Biểu mẫu lưu 0.1.0. |
maintainer |
Hiển thị là community · <maintainer>; là unknown khi để trống. Biểu mẫu lưu local · <your name>. |
kind |
"http". |
capabilities |
Danh sách nhãn không bắt buộc cho tab Adapter, như ["webhooks"]. Huy hiệu trong danh mục được lấy từ chính ánh xạ. |
source_url, latest_version, last_release |
Không bắt buộc. Một latest_version mới hơn sẽ hiển thị bản cập nhật. Một last_release (RFC 3339) cũ hơn 365 ngày đánh dấu adapter là Ngừng duy trì, và adapter không còn được đề xuất cho kết nối mới. |
terms |
bulk là allowed, broadcast_streams_only, forbidden hoặc your_policy (mặc định). note và url (chính sách sử dụng được chấp nhận của nhà cung cấp) hiển thị bên cạnh. Với forbidden hoặc broadcast_streams_only, nhà cung cấp chỉ được đề xuất cho luồng Tự động hóa và Hệ thống. |
pricing |
Văn bản không bắt buộc cho danh mục, như “$0.80 per 1,000”. Mặc định là “do nhà cung cấp của bạn quy định”. |
http |
Ánh xạ: mọi trường bên dưới. |
ReputeCast không đọc được điều khoản của một nhà cung cấp được ánh xạ, nên nếu không có terms, màn hình định tuyến sẽ yêu cầu bạn kiểm tra chính sách sử dụng được chấp nhận của nhà cung cấp trước khi định tuyến thư Gửi hàng loạt qua đó. Manifest cài từ URL phải nằm trên một địa chỉ https:// công khai và không quá 256 KiB.
Câu chữ của manifest (name, terms.note, pricing, cùng label và help của các fields) hiển thị đúng như bạn
viết, ở mọi ngôn ngữ. Nếu không có terms.note hoặc pricing, câu chữ riêng của ReputeCast sẽ được dùng, bằng ngôn
ngữ của từng người đọc, giống như mọi điều khác ReputeCast nói về ánh xạ.
Yêu cầu gửi
Phần tiêu đề “Yêu cầu gửi”| Trường | Quy tắc |
|---|---|
method |
POST (mặc định), PUT hoặc PATCH. |
url |
Một URL https://. Hãy viết rõ host; trường mẫu chỉ được xuất hiện trong path và query. Không có #fragment. Manifest có thể dùng http:// cho máy chủ thử nghiệm loopback (localhost, 127.0.0.1), mà hệ thống chỉ kết nối được khi bật providers.allow_private_networks. Biểu mẫu chỉ nhận https://. |
headers |
Tên header → mẫu giá trị, chẳng hạn "Authorization": "Bearer {{ secrets.api_key }}". Content-Type mặc định là application/json. Không đặt được Host, Content-Length, Transfer-Encoding và Connection. Biểu mẫu nhận tối đa 20 header. |
body |
Bắt buộc. Mẫu nội dung JSON. Mẫu phải là JSON hợp lệ sau khi điền các trường: khi lưu, ReputeCast kiểm tra mẫu với một thư mẫu, và thư nào có nội dung không kết xuất ra JSON sẽ bị từ chối với mã Template. Biểu mẫu nhận tối đa 20.000 ký tự. |
message_id_path |
Đường dẫn tới mã thư của nhà cung cấp trong nội dung phản hồi 2xx, như $.data.id. |
message_id_header |
Một header phản hồi mang mã thư thay cho nội dung. Dùng một trong hai trường, không dùng cả hai. Dấu ngoặc nhọn quanh mã sẽ bị bỏ. Nếu không có cả hai, mã thư ReputeCast được dùng thay. |
error_code_path |
Đường dẫn tới mã lỗi của nhà cung cấp trong phản hồi thất bại. |
error_message_path |
Đường dẫn tới thông báo lỗi của nhà cung cấp. Nếu không có hai đường dẫn này, nội dung phản hồi được dùng làm thông báo lỗi. |
check.url |
Một yêu cầu GET không bắt buộc, trả lời 2xx khi thông tin xác thực còn hợp lệ. ReputeCast gọi nó khi một nhà cung cấp được kết nối và từ tác vụ kiểm tra tình trạng nhà cung cấp. Nếu không có, tình trạng chỉ dựa vào kết quả gửi. |
check.headers |
Header của yêu cầu kiểm tra. Mặc định: các header của yêu cầu gửi. |
fields |
Các trường kết nối bổ sung: key, label, secret, required, options, help. Mẫu đọc một trường bí mật là secrets.<key> và mọi trường khác là settings.<key>. |
Biểu mẫu kết nối luôn có hai trường bí mật không bắt buộc: API key (secrets.api_key) và Webhook signing secret (secrets.webhook_signing_key). Thông tin bí mật là chỉ ghi: được niêm phong khi lưu trữ và không bao giờ được trả về.
ReputeCast gửi một yêu cầu cho mỗi thư và đọc câu trả lời như sau:
| Phản hồi | ReputeCast làm gì |
|---|---|
| 2xx | Được chấp nhận. Mã thư lấy từ message_id_path hoặc message_id_header. |
| 401, 403 | Thông tin xác thực bị từ chối: lần gửi thất bại và tình trạng của nhà cung cấp báo lại điều này. |
| 429 | Bị giới hạn tốc độ: thư đó được thử lại sau. |
| 408, 5xx | Sự cố ngừng hoạt động của nhà cung cấp: xem tình trạng nhà cung cấp và sự cố. |
| 4xx khác | Thư đó thất bại vĩnh viễn, kèm mã và thông báo mà các đường dẫn lỗi đọc được. |
Trường mẫu
Phần tiêu đề “Trường mẫu”Mẫu chỉ dùng thẻ xuất kiểu Liquid: {{ name }}, kèm bộ lọc tùy chọn. Không có thẻ {% %}; một ánh xạ mô tả một yêu cầu cố định.
| Trường | Giá trị |
|---|---|
sender |
From dạng "Name" <address>, hoặc chỉ địa chỉ khi không có tên. |
sender_email, sender_name |
Địa chỉ và tên của From. |
recipient, recipient_name, recipient_formatted |
Địa chỉ, tên của To, và "Name" <address>. |
reply_to, reply_to_name |
Địa chỉ và tên của Reply-To, để trống khi không có. |
subject, html, text |
Thư đã kết xuất và cá nhân hóa. |
headers, headers_json |
Các header của thư dưới dạng đối tượng: List-Unsubscribe, List-Unsubscribe-Post và các header khác do ReputeCast đặt, cộng X-ReputeCast-Message. |
headers_list |
Cùng các header đó dưới dạng [{"name": …, "value": …}], sắp xếp theo tên. |
tags |
Tag của thư dưới dạng đối tượng. |
message_id |
Mã thư ReputeCast. Hãy gửi mã này cho nhà cung cấp để webhook của họ gửi lại nó. |
stream |
broadcast, automation hoặc system. |
settings.<key>, secrets.<key> |
Settings và thông tin xác thực của nhà cung cấp đã kết nối. |
Hãy gửi mọi header trong headers_json hoặc headers_list: nhà cung cấp hộp thư yêu cầu các header hủy đăng ký một lần nhấp. Hãy tắt tính năng theo dõi lượt mở và lượt nhấp riêng của nhà cung cấp trong nội dung nếu API của họ cho phép, vì ReputeCast tự theo dõi lượt mở và lượt nhấp.
Bộ lọc
Phần tiêu đề “Bộ lọc”Viết bộ lọc sau dấu gạch đứng: {{ settings.region | default: 'eu' }}. Bộ lọc chạy từ trái sang phải, và đối số là một chuỗi trong dấu nháy ('…' hoặc "…") hoặc một tên trường.
| Bộ lọc | Đối số | Kết quả |
|---|---|---|
default |
1 | Đối số, khi giá trị bị thiếu, là chuỗi rỗng, hoặc là đối tượng hay danh sách rỗng. |
prepend |
1 | Đối số, rồi đến giá trị. |
append |
1 | Giá trị, rồi đến đối số. |
base64_encode |
không | Base64 chuẩn. |
url_encode |
không | Mã hóa theo query URL. |
downcase |
không | Chữ thường. |
upcase |
không | Chữ hoa. |
strip |
không | Bỏ khoảng trắng ở đầu và cuối. |
json |
không | Giá trị được mã hóa thành văn bản JSON. |
Mọi bộ lọc khác bị từ chối khi bạn lưu. Header sau tạo giá trị basic auth từ API key:
"Authorization": "Basic {{ 'api:' | append: secrets.api_key | base64_encode }}"Thoát ký tự
Phần tiêu đề “Thoát ký tự”Giá trị được thoát (escape) theo vị trí xuất hiện, để dữ liệu không làm hỏng yêu cầu:
- Bên trong một chuỗi JSON (
"subject": "{{ subject }}"), giá trị được thoát theo JSON. - Bên ngoài chuỗi (
"headers": {{ headers_json }}), giá trị được mã hóa thành JSON: đối tượng vẫn là đối tượng, và giá trị bị thiếu trở thànhnull. - Trong URL, giá trị được thoát theo path, hoặc theo query sau dấu
?. - Trong header, ký tự xuống dòng trở thành khoảng trắng.
Để gửi nguyên văn {{ bên trong một chuỗi JSON (placeholder riêng của một API), hãy viết \{{: "Hi \{{first_name}}" gửi đi "Hi {{first_name}}". {{ '{{' }} có tác dụng tương tự ở mọi vị trí.
Thử với một thư mẫu kết xuất yêu cầu cho một thư mẫu (từ Acme Newsletter gửi Linh Nguyen) với mọi thông tin bí mật hiển thị là ••••. Không có gì được gửi đi.
Cú pháp đường dẫn
Phần tiêu đề “Cú pháp đường dẫn”Các trường *_path dùng một tập con của JSONPath:
| Cú pháp | Chọn |
|---|---|
$ |
Gốc. |
.name, ['name'], ["name"] |
Một thành viên. |
[0] |
Một phần tử mảng (từ 0 trở lên). |
[*], .* |
Mọi phần tử của một mảng hoặc đối tượng. |
Bộ lọc ([?(…)]), duyệt đệ quy (..), slice và chỉ số âm bị từ chối khi bạn lưu. Khi một đường dẫn chọn được nhiều giá trị, giá trị đầu tiên được dùng, trừ events_path. Số được đọc chính xác, nên mã của nhà cung cấp lớn hơn 2^53 vẫn giữ đủ mọi chữ số.
Xác thực webhook
Phần tiêu đề “Xác thực webhook”webhook.auth cho biết một yêu cầu webhook chứng minh nó đến từ nhà cung cấp bằng cách nào. Biểu mẫu cung cấp cùng năm chế độ trong Xác thực webhook.
auth |
Yêu cầu được chấp nhận khi |
|---|---|
hmac (mặc định) |
signature_header (mặc định X-Signature) chứa HMAC của signed_payload tạo bằng khóa bí mật. signed_payload dùng {body} và {timestamp}; mặc định là {body}, hoặc {timestamp}.{body} khi đặt timestamp_header. algorithm là sha256 (mặc định), sha1 hoặc sha512. encoding là hex (mặc định) hoặc base64. signature_prefix (như sha256=) được bỏ trước khi so sánh. Header có thể liệt kê nhiều chữ ký, phân cách bằng dấu phẩy hoặc khoảng trắng; chỉ cần một chữ ký khớp. |
standard |
Yêu cầu mang chữ ký Standard Webhooks hợp lệ (webhook-id, webhook-timestamp, webhook-signature, hoặc các header svix-) tạo bằng một khóa bí mật whsec_. |
basic |
Người dùng basic auth là username (mặc định reputecast) và mật khẩu là khóa bí mật. |
header |
token_header chứa nguyên văn khóa bí mật. ReputeCast không bao giờ lưu header đó cùng sự kiện gốc. |
none |
Không có gì ngoài URL webhook, vốn không thể đoán được. Chỉ dùng khi nhà cung cấp không hỗ trợ cách nào ở trên. |
Với hmac có timestamp_header, hoặc với standard, timestamp (giây hoặc mili giây Unix) cũ hơn hoặc đi trước quá năm phút sẽ bị từ chối như một lần phát lại (replay).
Khóa bí mật là mẫu secret khi mẫu này được đặt (mẫu đọc được secrets.<key> và settings.<key>). Nếu không, khóa bí mật là Webhook signing secret của kết nối, và nếu vẫn không có thì là khóa bí mật webhook mà ReputeCast tạo cho nhà cung cấp. Khi hoàn toàn không có khóa bí mật, mọi yêu cầu đều bị từ chối.
Hãy trỏ webhook của nhà cung cấp tới URL trên thẻ của nhà cung cấp: <public URL>/hooks/community:<name>/<token> cho nhà cung cấp được kết nối qua một adapter HTTP đã cài, hoặc <public URL>/hooks/httpgeneric/<token>. Nội dung webhook giới hạn ở 5 MiB.
Payload webhook
Phần tiêu đề “Payload webhook”webhook_mapping chọn cách đọc sự kiện: status (mặc định) hoặc jsonpath. Trong biểu mẫu, Ánh xạ webhook cung cấp status → delivered | bounced | complained và Ánh xạ JSONPath tùy chỉnh.
Một ánh xạ hoàn toàn không có trường webhook nào (webhook_mapping, webhook.auth, webhook.signature_header, webhook.type_path, webhook.types) thì không có webhook: nhà cung cấp gửi thư nhưng không báo về lượt gửi thành công, thư trả lại hay khiếu nại.
| Trường | Đọc | Mặc định với status |
|---|---|---|
webhook.events_path |
Các sự kiện trong một yêu cầu | $ (cả hai kiểu ánh xạ) |
webhook.type_path |
Loại sự kiện (bắt buộc với jsonpath) |
$.status |
webhook.recipient_path |
Người nhận | $.recipient, rồi $.email |
webhook.message_id_path |
Mã thư của nhà cung cấp | $.message_id |
webhook.reputecast_id_path |
Mã thư ReputeCast được gửi lại | $.reputecast_id |
webhook.code_path |
Phản hồi SMTP, hoặc mã riêng của nhà cung cấp | $.code |
webhook.diagnostic_path |
Văn bản chẩn đoán | $.reason |
webhook.time_path |
Thời điểm xảy ra | $.timestamp |
webhook.url_path |
Liên kết của một lượt nhấp | $.url |
webhook.user_agent_path |
User agent của một lượt mở hoặc lượt nhấp | $.user_agent |
Với jsonpath, chỉ những đường dẫn bạn đặt mới được đọc. Ánh xạ tùy chỉnh trong biểu mẫu đặt Các sự kiện trong một yêu cầu, Loại sự kiện, Người nhận và Mã thư.
events_path có thể chọn một sự kiện, một mảng sự kiện, hoặc nhiều mục thuộc một trong hai dạng; các mảng được làm phẳng. Người nhận được chuyển sang chữ thường. Mã ReputeCast được gửi lại phải là một mã thư ReputeCast (một UUID) thì mới khớp. Thời gian là giây hoặc mili giây Unix, RFC 3339 hoặc YYYY-MM-DD hh:mm:ss; nếu không có, thời điểm sự kiện đến được dùng.
Loại sự kiện
Phần tiêu đề “Loại sự kiện”Với status, giá trị loại (không phân biệt hoa thường) được ánh xạ thành một sự kiện chuẩn hóa:
| Giá trị của nhà cung cấp | Sự kiện |
|---|---|
delivered, delivery |
delivered |
deferred, delayed, delivery_delayed |
deferred |
bounced, bounce, failed |
do mã của sự kiện quyết định (bên dưới) |
hard_bounce, hard_bounced, hardbounce, permanent_failure |
hard_bounce |
soft_bounce, soft_bounced, softbounce, temporary_failure |
soft_bounce |
complained, complaint, spam, spam_report, spamreport |
complaint |
rejected, dropped, blocked |
rejected |
opened, open |
open |
clicked, click |
click |
unsubscribed, unsubscribe |
unsubscribe |
Mọi giá trị khác bị bỏ qua. Với jsonpath, webhook.types ánh xạ các loại của nhà cung cấp (không phân biệt hoa thường) thành delivered, deferred, hard_bounce, soft_bounce, bounce, complaint, rejected, open, click, unsubscribe hoặc ignore. Loại bạn không liệt kê sẽ dùng bảng ở trên, và nếu không khớp thì bị bỏ qua.
Thư trả lại
Phần tiêu đề “Thư trả lại”ReputeCast chỉ chặn gửi một địa chỉ khi có bằng chứng, vì các trường hợp trả thư vĩnh viễn và khiếu nại được đưa vào danh sách chặn gửi dùng chung:
- Một thư trả lại thông thường (
bouncedhoặcbounce) là vĩnh viễn, trừ khi mã của nó cho biết khác. Phản hồi SMTP quyết định theo lớp: 5xx là vĩnh viễn, 4xx là tạm thời. Mã riêng của nhà cung cấp (invalid_recipient,mailbox_full) chỉ là vĩnh viễn khi mã đó chỉ ra hộp thư hoặc tên miền không tồn tại, hoặc có chữ “hard” hay “permanent”; mọi mã khác là tạm thời. Không có mã thì là vĩnh viễn. - Một
hard_bouncecó phản hồi SMTP 4xx trở thành tạm thời. - Một trường hợp trả thư vĩnh viễn do phía người gửi gây ra (được phân loại là bị chặn vì spam, uy tín hoặc chính sách) trở thành tạm thời, bất kể mã là gì.
Thư trả lại, thư hoãn nhận và thư bị từ chối được gán một lớp thư trả lại dựa trên mã và văn bản chẩn đoán.
Ví dụ đầy đủ
Phần tiêu đề “Ví dụ đầy đủ”Manifest này ánh xạ một nhà cung cấp hư cấu, Example ESP. Ánh xạ gửi một thư cho mỗi POST, đọc mã thư từ phản hồi, kiểm tra thông tin xác thực với một endpoint tài khoản, hỏi Account ID khi kết nối một nhà cung cấp, và đọc webhook có chữ ký HMAC với một bảng ánh xạ loại tùy chỉnh.
{ "name": "Example ESP", "version": "1.0.0", "kind": "http", "source_url": "https://github.com/you/example-esp-mapping", "terms": { "bulk": "allowed", "note": "Opted-in lists only.", "url": "https://example-esp.com/aup" }, "pricing": "$0.80 per 1,000", "http": { "method": "POST", "url": "https://api.example-esp.com/v1/{{ settings.account }}/messages", "headers": { "Authorization": "Bearer {{ secrets.api_key }}" }, "body": "{\"from\": \"{{ sender }}\", \"to\": [{\"email\": \"{{ recipient }}\", \"name\": \"{{ recipient_name }}\"}], \"reply_to\": {{ reply_to | default: sender_email }}, \"subject\": \"{{ subject }}\", \"html\": \"{{ html }}\", \"text\": \"{{ text }}\", \"headers\": {{ headers_json }}, \"metadata\": {\"reputecast_id\": \"{{ message_id }}\", \"stream\": \"{{ stream }}\"}, \"tracking\": {\"opens\": false, \"clicks\": false}}", "message_id_path": "$.data.id", "error_code_path": "$.error.code", "error_message_path": "$.error.message", "check": { "url": "https://api.example-esp.com/v1/{{ settings.account }}/me" }, "fields": [ { "key": "account", "label": "Account ID", "required": true, "help": "Example ESP › Settings › Account." } ], "webhook_mapping": "jsonpath", "webhook": { "auth": "hmac", "signature_header": "X-Example-Signature", "signature_prefix": "sha256=", "timestamp_header": "X-Example-Timestamp", "events_path": "$.events[*]", "type_path": "$.event", "recipient_path": "$.recipient", "message_id_path": "$.message_id", "reputecast_id_path": "$.metadata.reputecast_id", "code_path": "$.smtp.code", "diagnostic_path": "$.smtp.message", "time_path": "$.ts", "url_path": "$.link", "types": { "delivered": "delivered", "delayed": "deferred", "bounce_permanent": "hard_bounce", "bounce_temporary": "soft_bounce", "complaint": "complaint", "click": "click", "sent": "ignore" } } }}Với thư mẫu, nội dung được kết xuất thành:
{ "subject": "Your October update", "html": "<p>Hello \"Linh\" — this is a <b>sample</b>.</p>", "text": "Hello \"Linh\" — this is a sample.", "headers": { "List-Unsubscribe": "<https://news.acme.io/p/acme/unsubscribe/abc>", "List-Unsubscribe-Post": "List-Unsubscribe=One-Click", "X-ReputeCast-Message": "0199d5a8-2b6e-7c41-9a0e-5b8f1c2d3e40" }, "metadata": { "reputecast_id": "0199d5a8-2b6e-7c41-9a0e-5b8f1c2d3e40", "stream": "broadcast" }, "tracking": { "opens": false, "clicks": false }}Example ESP ký mỗi webhook với X-Example-Timestamp: <Unix seconds> và X-Example-Signature: sha256=<hex HMAC-SHA256 of "<timestamp>.<body>">, với khóa là khóa bí mật được nhập vào Webhook signing secret của kết nối. Yêu cầu sau:
{ "events": [ { "event": "delivered", "recipient": "[email protected]", "message_id": "msg_7fa3", "metadata": { "reputecast_id": "0199d5a8-2b6e-7c41-9a0e-5b8f1c2d3e40" }, "smtp": { "code": "250 2.0.0", "message": "OK" }, "ts": 1791882062 }, { "event": "bounce_permanent", "recipient": "[email protected]", "message_id": "msg_7fa4", "metadata": { "reputecast_id": "0199d5a8-2b6e-7c41-9a0e-5b8f1c2d3e41" }, "smtp": { "code": "550 5.1.1", "message": "The email account that you tried to reach does not exist." }, "ts": 1791882065123 }, { "event": "bounce_permanent", "recipient": "[email protected]", "message_id": "msg_7fa5", "smtp": { "code": "550 5.7.1", "message": "Message rejected as spam" }, "ts": "2026-10-13T09:01:05Z" }, ]}tạo ra bốn sự kiện:
| Sự kiện của nhà cung cấp | Sự kiện | Người nhận | Mã | Lớp thư trả lại |
|---|---|---|---|---|
delivered |
delivered |
[email protected] |
250 2.0.0 |
— |
bounce_permanent, 5.1.1 |
hard_bounce |
[email protected] |
550 5.1.1 |
mailbox_unknown |
bounce_permanent, spam |
soft_bounce |
[email protected] |
550 5.7.1 |
spam_block |
opened (không có trong types) |
open |
[email protected] |
— | — |
Sự kiện sent bị bỏ qua. Hai sự kiện đầu khớp với thư của chúng qua mã ReputeCast được gửi lại, các sự kiện còn lại khớp qua mã thư của nhà cung cấp.
Ghi chú
Phần tiêu đề “Ghi chú”- Adapter HTTP chung gửi một thư cho mỗi yêu cầu, thiết lập tên miền qua bản ghi DNS thủ công, và tự áp dụng danh sách chặn gửi tại chỗ (Chỉ cục bộ); adapter này không tự phát hiện hạn mức. Khi nhà cung cấp cần gửi theo lô, API tên miền, đồng bộ danh sách chặn gửi hoặc nhiều lệnh gọi cho mỗi thư, hãy viết một adapter cộng đồng.
- Khi lưu, ReputeCast từ chối ánh xạ có vấn đề và nêu tên trường (
body,url,webhook.type_path…). Nhật ký kiểm tra ghi lại phương thức, URL, tên header, ánh xạ webhook và chế độ xác thực, không bao giờ ghi giá trị header. - Mỗi adapter đã cài xuất hiện trong Nhà cung cấp gửi thư, rồi Thêm nhà cung cấp ở mọi không gian làm việc, kèm điều khoản, giá và các trường kết nối. Mọi tiến trình đọc lại danh sách adapter đã cài sau mỗi 15 giây.