CORE PUSH API
共通
▶ 初期設定
▶ 証明書の有効期限確認
▶ デバッグ用通知
全体通知
▶ 事前登録
▶ 事前登録(複数トークン)
▶ 通知履歴取得
▶ 起動数登録
▶ メッセージ送信
▶ スケジュール通知
▶ セグメント通知
個別通知 ⇒詳細はこちら
▶ イメージ図
 ①事前登録
 ②ユーザー属性登録
 ③メッセージ送信(旧:同期方式、1000件単位)※非推奨
 ④メッセージ送信(新:非同期方式、1000件単位)
 ⑤メッセージ送信(新:全件依頼、管理画面に送信履歴表示)
 メッセージ送信API移行手順
分散配信
▶ 時間分散配信登録
▶ 時間分散配信ステータス
▶ 時間分散配信修正
アカウント作成
CORE PUSH ASPをご利用になるには
先ず無料会員登録が必要です。

③メッセージ送信(旧:同期方式、1000件単位)

メッセージ送信 API(同期方式、1000件単位)
※こちらのAPIは現在非推奨です。 2017年3月31日をもちましてサポートは終了となります。
※メッセージ送信(新:全件依頼)のご利用を推奨します。
※移行手順の説明はこちらをご確認ください。
概要
外部システムから特定ユーザーに対し通知の送信依頼をリクエストするAPI
ユーザーの特定にはトークン登録時に送付したID(app_user_id)を使用します。
ユーザー情報、属性につきましてはサービスの運用にご利用されているサーバ内での管理をお願いします。

API
iPhoneへの登録 api.core-asp.com/iphone_push_request.php
Androidへの登録 api.core-asp.com/android_push_request.php


リクエスト(POST形式)
(iPhone)
パラメータ 必須 説明
config_key 設定キー
(管理画面のホームメニューに表示しています)
9b8cdedbfa669cf03c31c4f1807ddcce
request_data 送信内容をJSON形式で作成しbase64形式にエンコードしたデータ
※送信データの形式は次項を参照
[{"app_user_id":"0000001","message":"メッセージ内容1"},{"app_user_id":"0000002","message":"メッセージ内容2"}]
上記のデータをbase64エンコード
※バッジの指定方法、及びカスタムキーと値の設定方法は次項を参照

リクエストデータ(request_data)内容(JSON形式)
1件送信
[
	{
		"app_user_id":"0000001",
		"message":"メッセージ内容1"
	}
]
※app_user_id:API通知用トークン登録で登録した時と同じIDを指定してください。
※message:ユーザー毎に任意のメッセージを指定できます。
複数件送信
[
	{
		"app_user_id":"0000001",
		"message":"メッセージ内容1"
	},
	{
		"app_user_id":"0000002",
		"message":"メッセージ内容2"
	},
	{
		"app_user_id":"0000003",
		"message":"メッセージ内容3"
	}
]

※複数件をまとめて送信する場合はコンマ区切りの配列で送ってください。
※同時に1000件までapp_user_idを指定することが出来ます。
バッジ指定
[
	{
		"app_user_id":"0000001",
		"message":"メッセージ内容1",
		"badge":"1"
	},
	{
		"app_user_id":"0000002",
		"message":"メッセージ内容2",
		"badge":"5"
	},
	{
		"app_user_id":"0000003",
		"message":"メッセージ内容3",
		"badge":"9999"
	}
]

※バッジが指定できるのはiPhoneのみです。
※バッジで指定出来る数値は0〜9999までです。必ず数値を入力して下さい。
カスタムキー
指定
[
	{
		"app_user_id":"0000001",
		"message":"メッセージ内容1",
		"custom_key":{"page":"1"}
	},
	{
		"app_user_id":"0000002",
		"message":"メッセージ内容2",
		"custom_key":{"page":"4"}
	},
	{
		"app_user_id":"0000003",
		"message":"メッセージ内容3",
		"custom_key":{"page":"2"}
	}
]

※カスタムキーには任意のキーと値を設定できます。
※カスタムキーを設定した場合、送信できるメッセージの文字数が少なくなります
 のでご注意ください。



リクエスト(POST形式)
(Android)
パラメータ 必須 説明
config_key 設定キー
(管理画面のホームメニューに表示しています)
9b8cdedbfa669cf03c31c4f1807ddcce
request_data 送信内容をJSON形式で作成しbase64形式にエンコードしたデータ
※送信データの形式は次項を参照
[{"app_user_id":"0000001","title":"タイトル1","message":"メッセージ内容1"},{"app_user_id":"0000002","title":"タイトル2","message":"メッセージ内容2"}]
上記のデータをbase64エンコード
callback - コールバックURL
※iPhoneでは指定できません。
GCMのHTTPステータスコードのレスポンスを返します。
200以外のコードが帰ってくる場合、API keyのやアプリ内のsender_idの設定をご確認ください。
http://developer.core-asp.com/callback.php
cbCode - どの通知に対してのコールバックかを識別する為のコードを指定できます。
※iPhoneでは指定できません。
123456789

リクエストデータ(request_data)内容(JSON形式)
1件送信
[
	{
		"app_user_id":"0000001",
		"title":"タイトル1",
		"message":"メッセージ内容1"
		"custom_key":{"page":"1"}
	}
]
※app_user_id:API通知用トークン登録で登録した時と同じIDを指定してください。
※message:ユーザー毎に任意のメッセージを指定できます。
複数件送信
[
	{
		"app_user_id":"0000001",
		"title":"タイトル1",
		"message":"メッセージ内容1"
	},
	{
		"app_user_id":"0000002",
		"title":"タイトル2",
		"message":"メッセージ内容2"
	},
	{
		"app_user_id":"0000003",
		"title":"タイトル3",
		"message":"メッセージ内容3"
	}
]

※複数件をまとめて送信する場合はコンマ区切りの配列で送ってください。
※同時に1000件までapp_user_idを指定することが出来ます。
※GCMの仕様上同じ内容のメッセージの場合は、1000件を一度にGCMサーバーへリクエストする事が出来ますが、メッセージ内容が異なる場合は別途リクエストする必要があります。
1000件異なるメッセージでリクエストを行った場合、リクエスト完了まで数分間かかります。
カスタムキー
指定
[
	{
		"app_user_id":"0000001",
		"title":"タイトル1",
		"message":"メッセージ内容1"
		"custom_key":{"page":"1"}
	},
	{
		"app_user_id":"0000002",
		"title":"タイトル2",
		"message":"メッセージ内容2"
		"custom_key":{"page":"4"}
	},
	{
		"app_user_id":"0000003",
		"title":"タイトル3",
		"message":"メッセージ内容3"
		"custom_key":{"page":"2"}
	}
]

※カスタムキーには任意のキーと値を設定できます。
※カスタムキーを設定した場合、送信できるメッセージの文字数が少なくなります
 のでご注意ください。

レスポンス(JSON形式)
パラメータ 説明
status 成功:0/失敗:1
成功時
{
	"status":"0",
	"message":"Message registration is success.",
	"errors":{
		"demo_id_01":"InvalidRegistration",
		"demo_id_02":"NotRegistered",
		"demo_id_03":"MismatchSenderId",
	},
	"notRegisteredIds":["demo_id_04","demo_id_05"]
}

※GCMからのレスポンスにエラーが含まれる場合、"errors"が返されます。
 GCMのエラーのリスト及び意味についてはこちら参照ください。
 iPhoneへの通知の場合、"errors"は返されません。
※CORE PUSHに対して未登録のapp_user_idが指定さた場合、"notRegisteredIds"が返されます。
失敗時
{
	"status":"1",
	"message":"parameter is invalid."
}

コールバックレスポンス内容(POST)
レスポンス例
http_code=200
callback_code=1234567890
※POST形式で上記の値が渡されます。
※callback_codeが指定されていない場合、http_codeのみが返されます。
※http_codeの値についてはこちらをご確認ください。
※GCMの仕様上、異なる通知メッセージが含まれる場合その都度Google側のサーバへリクエストが行われます。callback URLへのリクエストもその都度行われますのでメッセージが異なる場合はご注意ください。

エラー情報のフィードバックについて
APNS、GCMの仕様に違いがあるため、通知リクエスト時に返ってくるレスポンスに違いがあります。
APNSの仕様変更のアナウンスがありGCMと同様に通知リクエスト直後にフィードバックを返すことができるようになります。こちらは来年(2016年Appleからアナウンス予定)対応の予定です。
現在の仕様は下記の通りです。

◎現在
APNSの場合
APNSへのリクエストのフィードバックが返ってくる:×
CORE PUSHがリクエストを返せる:×(APNSがレスポンスを返さないため)

GCMの場合
GCMへのリクエストのフィードバックが返ってくる:○
CORE PUSHがリクエストを返せる:○

◎2016年(Appleからアナウンス予定)
APNSの場合
APNSへのリクエストのフィードバックが返ってくる:○(APNSの仕様変更のため)
CORE PUSHがリクエストを返せる:○