APIを使ったメルマガ読者の登録は、大まかに次の2つのステップで実行します。
- セッションIDの生成・取得
- 読者登録APIへの登録リクエスト
詳細は下記をご覧ください。
尚、APIの使用についてはプログラミングの知識があることを前提としていますので、その点をご留意ください。
1. セッションIDの取得方法
Step1. メルマガの管理画面からセッションID生成用のエンドポイントURLを取得
対象メルマガの管理ページから「APIアイコン」をクリックし、セッションID生成APIのエンドポイントURLをコピーします。
Step2. 取得したエンドポイントURLにGETリクエストを送信しセッションIDを取得
Step1で取得したエンドポイントURLに対して、プログラム等からGETリクエストを送信してください。レスポンスコード 200 OK とセッションIDが返ってくれば成功です。
尚、セッションIDは読者を一人登録するごとに毎回必ず生成・取得してください。一定時間経過もしくは読者登録に使用したセッションIDは無効になります。
2. メルマガ読者登録の実行
Step1. メルマガへの読者登録用のエンドポイントURLを取得
対象メルマガの管理ページから「APIアイコン」をクリックし、読者登録用APIのエンドポイントURLをコピーします。
Step2. ご利用のプログラム内で登録用のURLを生成
Step1のURLに、取得したセッションIDと登録する読者のメールアドレスをパラメータとして設定します。必要であれば姓、名のパラメータも追加することができます。
例:
コピーしたエンドポイントURL
https://www.reservestock.jp/api/new_subscribe_api/30(略)97?session_id=XXXXX&mid=144588
↓
セッションIDと登録する読者のメールアドレスを反映する(赤字部分が反映箇所)
https://www.reservestock.jp/api/new_subscribe_api/30(略)97?session_id=api_session_ZG(略)Bm&mid=144588&email_address=foo@bar.com
Step3. 生成した読者登録用のURLにGETリクエストを送信し読者登録を実行
Step2で生成したエンドポイントURLに対して、プログラム等からGETリクエストを送信してください。レスポンスコード 200 OK が返ってくれば成功です。
読者登録に成功した場合、登録したメールアドレス宛に登録確認メールが送信され、読者がそのメール内の登録完了リンクをクリックすることで、登録完了となります。
実装例
以下はJQueryを使った実装の一例です。
メールアドレス<input type='text' id='mailad'></br>
苗字<input type='text' id='lname'></br>
名前<input type='text' id='fname'></br>
<p>
<button>メルマガ登録</button>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script>
<script type="text/javascript">
$(function () {
$('button').click(function () {
var mid = '7xxx4';
var serialcd = 'fee21eeacxxxxxxxxxbe0a41bcaa1f'
var session;
$.ajax({
type: "GET",
url: 'https://www.reservestock.jp/api/create_api_session/' + serialcd,
dataType: 'text',
success: function(data) {
session = data;
var mailad = '&email_address=' + $("#mailad").val();
var lname = '';
var fname = '';
if ($("#lname").val()) {
lname = '&lname=' + $("#lname").val();
}
if ($("#lname").val()) {
fname= '&fname=' + $("#fname").val()
}
$.ajax({
type: "GET",
url: 'https://www.reservestock.jp/api/new_subscribe_api/' + serialcd + '?session_id=' + data + '&mid='+ mid + '&email_address=' + mailad + lname + fname,
dataType : 'text',
success: function(data) {
console.log('成功');
},
error: function(XMLHttpRequest, textStatus, errorThrown){
console.log('失敗:' + XMLHttpRequest.status);
console.log('失敗:' + textStatus);
console.log('失敗:' + errorThrown.message);
}
})
},
error: function(XMLHttpRequest, textStatus, errorThrown){
console.log('失敗:' + XMLHttpRequest.status);
console.log('失敗:' + textStatus);
console.log('失敗:' + errorThrown.message);
}
})
});
});
</script>