Push7のAPIを利用してPush通知を送信してみるサンプル

このエントリーをはてなブックマークに追加


前記事:WEBサイトにPush7を簡単に使ってみる

Push7でのpush通知送信はコントロ-ルパネルからの送信、RSS更新による送信、APIを介した送信とあります

ブログの更新情報であれば、RSSクローラーの巡回ペースは30分との事なのでRSSを設定した方が楽ですね

RSSを持たないWEBサイトの更新情報や送信の自動化、チャットなどユーザー側が送信処理を行える様にしたい場合はAPIの利用が可能で、Push7のAPIは一部は有料プランのみになりますがPush通知送信の部分は無料プランでも利用できます

https://push7.jp/docs/development/api

アプリケーション情報を取得するAPIはURLパラメータでのクエリで取得できますが、Push送信はPOSTのみ・パラメータはjsonデータを利用します

アプリケーションの情報を取得するAPI
https://api.push7.jp/api/v1/apiキー/head
通知ログ等は取得できないので、個人的には利用頻度は低いイメージ


Webプッシュ通知を送信するAPI
https://api.push7.jp/api/v1/apiキー/send

RubyやPerlなど各コードからAPIを叩けると思いますが、今回はPHPでAPIを実行してみました

send.php
<?php
$title = "";
$body = "";
$url = "【コンテンツURL】";
$apikey = "【API Key】";

$apiurl = "https://api.push7.jp/api/v1/【App Number】/send";

$headers =  array(
  'Content-Type' => 'application/json',
);

$data = array(
  'title' => $title,
  'body' => $body,
  'url' => $url,
  'apikey' => $apikey
);

$data = json_encode($data);

$ch = curl_init();
curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Type: application/json'));
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'POST');
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_URL,$apiurl);
$result=curl_exec($ch);
echo 'RETURN:'.$result;
curl_close($ch);
?>

通知アイコンのURLや遅延処理など、パラメータは他にもありますが最低限APIが動く条件のみにしてあります

現在、有料プラン(Enterpriseプラン)であればqueryパラメータが使え、受信ユーザーのグループわけ、グループ別での送信ができるので無駄な送信を減らしたりコンテンツの幅が広がりますね
運営ブログ見る限り無料プランでも利用できる様にしていく旨があったので期待してもいいかもです



0 件のコメント :