
発送完了
注文番号、配送業者、お届け予定日を詳細表にまとめた発送のお知らせ。
拒否された決済について、金額、カード、再試行日、この先の流れを伝えます。

We could not charge your card for {{productName}}
Your payment did not go through
We tried to charge {{amount}} for {{productName}} and the card ending {{cardLast4}} was declined. This is usually an expired card or a bank blocking an unfamiliar charge rather than anything to do with your account.
We will try again on {{retryDate}}. {{consequence}}
Update payment method [{{actionUrl}}]
{{footerNote}}サンプルの値で表示しています。HTMLとプレーンテキストのタブでは、プレースホルダーがそのまま残ります。
概要
決済が拒否されたときに送ります。金額とカードを示し、よくある原因を落ち着いた調子で説明し、次の試行日を伝え、支払い方法を更新するボタンをひとつ置きます。
値
必須の値は、送信のたびに必ず渡す必要があります。それ以外は、ここに示したデフォルト値が使われます。
| プレースホルダー | 種類 | 必須 | デフォルト |
|---|---|---|---|
{{productName}} | テキスト | 必須 | なし |
{{amount}} | テキスト | 必須 | なし |
{{cardLast4}} | テキスト | 任意 | •••• |
{{retryDate}} | テキスト | 必須 | なし |
{{consequence}} | テキスト | 任意 | If it fails again your plan pauses, and nothing is deleted. |
{{actionUrl}} | リンク | 必須 | なし |
{{footerNote}} | テキスト | 任意 | You are receiving this because you have an active subscription. |
API
このデザインからテンプレートを一度作成すれば、あとはメッセージごとの値を渡して送信できます。
import { init, openemail } from '@openemail/sdk' init({ apiKey: process.env.OPENEMAIL_API_KEY }) const template = await openemail.templates.create({ name: 'Payment failed', starter: 'payment-failed', publish: true,}) const sent = await openemail.templates.send(template.slug, { from: 'Northwind <[email protected]>', to: '[email protected]', props: { productName: 'Northwind', amount: '£49.00', cardLast4: '4242', retryDate: '4 October', actionUrl: 'https://example.com/billing', },}) console.log(sent.id, sent.status)注文と請求
テンプレートから始める
どのテンプレートも、エディターでは移動、スタイル変更、削除ができるブロックとして開き、APIからは値を埋めて送信できます。
企業、AI、エージェント、個人利用のためのメールインフラ。スケール、プライバシー、コントロールのために設計。メールが最初から備えているべきだったすべて。