Cloud Outbound Mailer の概要
- 印刷する
- PDF
Cloud Outbound Mailer の概要
- 印刷する
- PDF
記事の要約
この要約は役に立ちましたか?
ご意見ありがとうございます
概要
Cloud Outbound Mailer APIは RESTfulの形式で提供されます。HTTP方式の GET/POST/DELETEメソッドの呼び出しを介して行われます。APIをを介して構成/管理してメールの送信をリクエストし、リクエスト結果を確認して送信履歴を照会します。
共通設定
Cloud Outbound Mailer API Endpoint
リージョン | Endpoint |
---|---|
韓国(KR) | https://mail.apigw.ntruss.com/api/v1 |
シンガポール(SGN) | https://mail.apigw.ntruss.com/api/v1-sgn/ |
日本(JPN) | https://mail.apigw.ntruss.com/api/v1-jpn/ |
リクエストヘッダ
ヘッダ名 | 説明 |
---|---|
x-ncp-apigw-timestamp | 1970年1月1日00:00:00協定世界時(UTC)からの経過時間をミリ秒(Millisecond)で表し、API Gatewayサーバとの時間差が5分以上の場合、無効なリクエストとみなすx-ncp-apigw-timestamp:{Timestamp} |
x-ncp-iam-access-key | NAVERクラウドプラットフォームポータルで発行された Access Key ID値x-ncp-iam-access-key:{Account Access Key} |
x-ncp-apigw-signature-v2 | Access Key ID値と Secret Keyで暗号化した署名x-ncp-apigw-signature-v2:{API Gateway Signature} |
x-ncp-lang | APIレスポンス値の多言語処理のための値。(入力値の例: ko-KR、en-US、zh-CN、基本値: en-US)x-ncp-lang:{language code} |
認証ヘッダ
Cloud Outbound Mailer APIは NAVERクラウドプラットフォーム API Gatewayを介して提供され、API Gatewayに登録された APIを使用するには2種類の認証キー(Access Key ID、Secret Key)を発行する必要があります。
詳細については、NAVERクラウドプラットフォーム APIガイドをご参照ください。
- 認証キーを作成
- - NAVERクラウドプラットフォームポータルのマイページ > アカウント管理 > 認証キー管理メニューで、新規 API認証キー作成をクリックして Access Key ID、Secret Keyを作成します。
- もし Access Key ID、Secret Keyがある場合、当該キーを使用します。
リクエスト例
curl -i -s -X POST \
-H "Content-Type:application/json" \
-H "x-ncp-apigw-timestamp:1521787414578" \
-H "x-ncp-iam-access-key:6uxz1nKkcYwUjWRG5Q1V7NsW0i5jErlu2NjBXXgy" \
-H "x-ncp-apigw-signature-v2:iJFK773KH0WwQ79PasqJ+ZGixtpDQ/abS57WGQdld2M=" \
"https://mail.apigw.ntruss.com/api/v1/mails"\
-d '{"senderAddress":"no_reply@company.com","title":"${customer_name}様 お会いできて光栄です。","body":"お客様の等級が ${BEFORE_GRADE}から ${AFTER_GRADE}へ変更されました。","recipients":[{"address":"hongildong@naver_.com","name":"山田太郎","type":"R","parameters":{"customer_name":"山田太郎","BEFORE_GRADE":"SILVER","AFTER_GRADE":"GOLD"}},{"address":"chulsoo@daum_.net","name":null,"type":"R","parameters":{"customer_name":"太郎","BEFORE_GRADE":"BRONZE","AFTER_GRADE":"SILVER"}}],"individual":true,"advertising":false}'
Signatureの作成(改行文字は
\n
を使用)- - リクエストに合わせて StringToSignを作成し、SecretKeyで HmacSHA256アルゴリズムに暗号化した後、Base64にエンコードします。
- この値を
x-ncp-apigw-signature-v2
に使用します。
サンプルコード
public String makeSignature() {
String space = " "; // 空白
String newLine = "\n"; // 改行
String method = "POST"; // HTTPメソッド
String url = "/api/v1/mails"; // ドメインを除く「/」下の全体 url(クエリ文字列を含む)
String timestamp = "{timestamp}"; // 現在のタイムスタンプ (epoch, millisecond)
String accessKey = "{accessKey}"; // access key id (from portal or sub account)
String secretKey = "{secretKey}"; // secret key (from portal or sub account)
String message = new StringBuilder()
.append(method)
.append(space)
.append(url)
.append(newLine)
.append(timestamp)
.append(newLine)
.append(accessKey)
.toString();
SecretKeySpec signingKey = new SecretKeySpec(secretKey.getBytes("UTF-8"), "HmacSHA256");
Mac mac = Mac.getInstance("HmacSHA256");
mac.init(signingKey);
byte[] rawHmac = mac.doFinal(message.getBytes("UTF-8"));
String encodeBase64String = Base64.getEncoder().encodeToString(rawHmac);
return encodeBase64String;
}
function makeSignature() {
$space = " "; // 空白
$newLine = "\n"; // 改行
$method = "POST"; // HTTPメソッド
$uri= "/api/v1/mails"; // ドメインを除く「/」下の全体 url(クエリ文字列を含む)
$timestamp = "{timestamp}"; // 現在のタイムスタンプ (epoch, millisecond)
$accessKey = "{accessKey}"; // access key id (from portal or sub account)
$secretKey = "{secretKey}"; // secret key (from portal or sub account)
$hmac = $method.$space.$uri.$newLine.$timestamp.$newLine.$accessKey;
$signautue = base64_encode(hash_hmac('sha256', $hmac, $secretKey,true));
return $signautue;
}
共通レスポンス
HTTPステータスコードでリターンされ、Body情報として伝達する。
HTTP Status Code | リターンコード | 説明 |
---|---|---|
200 | - | 一般的なリクエストの成功 |
201 | - | リソース作成の成功に対するレスポンスコード |
400 | 77101 | ログイン情報エラー |
400 | 77102 | BAD_REQUEST |
400 | 77103 | リソースが存在しない |
403 | 77201 | 権限なし |
403 | 77202 | Email商品の使用申請をしない |
405 | 77001 | METHOD_NOT_ALLOWED |
415 | 77002 | UNSUPPORTED_MEDIA_TYPE |
500 | 77301 | 基本プロジェクトが存在しない |
500 | 77302 | 外部システム APIの連携エラー |
500 | 77303 | その他の INTERNAL_SERVER_ERROR |
オペレーション
Emailの送信
受信者グループの管理
- createAddressBook
- getAddressBook
- deleteAddressBook
- deleteAddress
- deleteRecipientGroup
- deleteRecipientGroupRelation
- deleteRecipientGroupRelationEmpty
テンプレートの管理
- createCategory
- createTemplate
- createTemplateExportRequest
- deleteCategory
- deleteTemplate
- exportTemplate
- getTemplate
- getTemplateExportRequestList
- getTemplateStructure
- importTemplate
- updateCategory
- updateTemplate
- updateTemplateLocationOrName
- restoreTemplate
プロジェクト設定の管理
送信ブロックおよび受信拒否の管理
ファイルの管理
この記事は役に立ちましたか?