タグエイリアスAPI
デバイスAPIは、サーバー側でデバイスのタグ、エイリアス情報の照会、設定、更新、削除に使用されます。使用する際は、サーバー側に設定されたタグがクライアントによって上書きされないよう注意する必要があります。
- タグ、エイリアスのロジックに慣れていない場合は、クライアント側またはサーバー側のどちらか一方だけを使用することを推奨します。
- 両方を使用する場合は、アプリケーションがタグとエイリアスの同期を処理できることを確認してください。
タグ、エイリアスの詳細については、対応するクライアントプラットフォームのAPI説明を参照してください。
TAG使用のルールと制限
- TAG数量制限:単一のappkeyの下で、最大100,000個のタグを作成できます。
- TAG長さ制限:各タグの最大長は40バイトです。有効な文字には、英字(大文字と小文字を区別)、数字、アンダースコア、漢字が含まれます。
- デバイスのTAGバインディング制限:各デバイスは最大100個のタグをバインドできます。
- デバイス数量制限:単一のタグの下で、最大100,000個のデバイスを追加できます。
有料プランのサブスクライバーで、有料AppKeyの使用制限を調整したい場合は、営業チームに以下のアドレスでお問い合わせください:Sales@engagelab.com
エイリアス使用のルールと制限
- デバイスとエイリアスのマッピング:エイリアスは1つのデバイスにのみ対応でき、複数のデバイスには対応できません。同様に、appkeyの範囲内の各デバイスは1つのエイリアスにのみマッピングでき、複数のエイリアスにはマッピングできません。
- エイリアス数量制限:単一のappkeyの下で、最大100,000個のエイリアスを作成できます。
- エイリアス長さ制限:各エイリアスの最大長は40バイトです。有効な文字には、英字(大文字と小文字を区別)、数字、アンダースコア、漢字が含まれます。
有料プランのサブスクライバーで、有料AppKeyの使用制限を調整したい場合は、営業チームに以下のアドレスでお問い合わせください:Sales@engagelab.com
API概要
デバイスAPIは、サーバー側でデバイスのタグ、エイリアス情報の照会、設定、更新、削除に使用されます。
デバイスAPIには3つのAPIが含まれています:device、tag、alias:
- deviceは、デバイスのさまざまな属性(タグ、エイリアスを含む)の照会/設定に使用されます。
- tagは、デバイスのタグの照会/設定/削除に使用されます。
- aliasは、デバイスのエイリアスの照会/設定/削除に使用されます。
登録ID(registration ID)も使用する必要がある重要な情報です:
デバイスのregistration_idはクライアント側の統合後に取得できます。詳細については、AndroidおよびiOSのAPIドキュメントを参照してください。
サーバー側はデバイスのregistration IDの値を取得するAPIを提供していません。開発者はクライアント側でregistration IDを取得し、開発者サーバーにアップロードして保存する必要があります。
呼び出しアドレス
https://pushapi-sgp.engagelab.com/v4/devices
AppKeyの下のタグ数の照会
宛先URL
GET /v4/tags_count
リクエスト例
リクエストヘッダー
GET /v4/tags_count
Authorization: Basic (base64認証文字列)
Accept: application/json
例
curl -X GET http://127.0.0.1/v4/tags_count?tags=tag1&tags=tag2&platform=ios -u "appKey:appSecret"
リクエストパラメータ
- Tag:指定されたタグ文字列を照会する必要があります。必須フィールドで、一度に最大1000個のタグを照会できます(tags=tag1&tags=tag2&tags=tag3)。
- platform:指定されたプラットフォームを照会する必要があります。必須フィールドで、オプションの値はandroid、iosです。その他の値は許可されていません。
レスポンス例
- 成功したレスポンスには、
tagsCount
フィールドを含むJSONオブジェクトが返されます。これはキー値ペアのコレクションで、キーはタグ名、値はそのタグのカウントです。 - リクエストが失敗した場合は、エラー情報を含むJSONオブジェクトが返されます。
code
フィールドはエラーコードを示し、message
フィールドはエラーメッセージを示します。
成功した戻り
{
"tagsCount": {
"tag1": 0,
"tag2": 1,
"tag3": 2
}
}
失敗した戻り
{
"error": {
"code": 21008,
"message": "app_key is not a 24 size string or does not exist"
}
}
デバイスのエイリアスとラベルの照会
- 現在のデバイスのすべての属性(タグ、エイリアスを含む)を取得します。
呼び出しアドレス
GET /v4/devices/{registration_id}
リクエスト例
リクエストヘッダー
GET /v4/devices/{registration_id}
Authorization: Basic (base64認証文字列)
Accept: application/json
リクエストパラメータ
- なし
戻り例
成功した戻り
HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8
戻りデータ
{"tags": ["tag1", "tag2"],
"alias": "alias1"
}
- 統計情報が見つからない場合はnullになり、それ以外の場合は統計情報の値になります。
デバイスのエイリアスとラベルの設定
- 現在のデバイスの指定された属性を更新します。現在、タグ、エイリアスをサポートしています。
呼び出しアドレス
POST /v4/devices/{registration_id}
リクエスト例
リクエストヘッダー
POST /v4/devices/{registration_id}
Authorization: Basic (base64認証文字列)
Accept: application/json
リクエストデータ
{
"tags": {
"add": [
"tag1",
"tag2"
],
"remove": [
"tag3",
"tag4"
]
},
"alias": "alias1"
}
リクエストパラメータ
- tags:add、remove、または空の文字列をサポートします。tagsパラメータが空の文字列の場合は、すべてのタグをクリアすることを意味します。add/removeの下では、指定されたタグが追加または削除されます。
- alias:デバイスのエイリアス属性を更新します。エイリアスが空の文字列の場合は、指定されたデバイスのエイリアスを削除します。
戻り例
成功した戻り
HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8
戻りデータ
success
失敗した戻り
{
"error":{
"code":27002,
"message":"unknown error"
}
}
デバイスの削除
- デバイスを削除します。
呼び出しアドレス
DELETE /v4/devices/{registration_id}
リクエスト例
リクエストヘッダー
DELETE /v4/devices/{registration_id}
Authorization: Basic (base64認証文字列)
Accept: application/json
リクエストデータ
- なし
リクエストパラメータ
- なし
戻り例
成功した戻り
HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8
戻りデータ
success
失敗した戻り
{
"error":{
"code":27002,
"message":"unknown error"
}
}
タグリストの照会
- 現在のアプリケーションのすべてのタグのリストを取得します。
呼び出しアドレス
GET /v4/tags/
リクエスト例
リクエストヘッダー
GET /v4/tags/
Authorization: Basic (base64認証文字列)
Accept: application/json
リクエストパラメータ
- なし
リクエスト例
成功した戻り
HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8
戻りデータ
{
"tags": [
"tag1",
"tag2"
]
}
- 統計情報が見つからない場合は統計情報の値はnullになり、それ以外の場合は統計情報の値になります。
デバイスとタグのバインディング関係の照会
- デバイスがタグの下にあるかどうかを照会します。
呼び出しアドレス
GET /v4/tags/{tag_value}/registration_ids/{registration_id}
リクエスト例
リクエストヘッダー
GET /v4/tags/{tag_value}/registration_ids/090c1f59f89
Authorization: Basic (base64認証文字列)
Accept: application/json
リクエストパラメータ
- registration_id 必須、デバイスのregistration_id
戻り例
成功した戻り
HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8
戻りデータ
{"result": true/false}
タグの更新
- タグにデバイスを追加または削除します。
呼び出しアドレス
POST /v4/tags/{tag_value}
リクエスト例
リクエストヘッダー
POST /v4/tags/{tag_value}
Authorization: Basic (base64認証文字列)
Accept: application/json
リクエストデータ
{
"registration_ids":{
"add": [
"registration_id1",
"registration_id2"
],
"remove": [
"registration_id1",
"registration_id2"
]
}
}
リクエストパラメータ
- action アクションタイプで、「add」、「remove」の2つのオプションがあり、リクエストが「追加」还是「削除」を識別します。
- registration_ids 追加/削除するデバイスのregistration_id。
- add/removeはそれぞれ最大1000個のデバイスをサポートします。
戻り例
成功した戻り
HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8
戻りデータ
success
失敗した戻り
{
"error": {
"code": 27005,
"message": "registration id is illegal",
"data": "{\"invalid_regids\":[\"18071adc021ff8df80\",\"100d85592955c1f1058\"]}"
}
}
タグの削除
タグ、およびタグとデバイスの関連付けを削除します。
呼び出しアドレス
DELETE /v4/tags/{tag_value}
リクエスト例
リクエストヘッダー
DELETE /v4/tags/{tag_value}?platform=android,ios
Authorization: Basic (base64認証文字列)
Accept: application/json
リクエストパラメータ
- platformはオプションのパラメータで、入力されていない場合はデフォルトですべてのプラットフォームになります。
戻り例
成功した戻り
HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-
戻りデータ
success
失敗した戻り
{
"error":{
"code":27002,
"message":"unknown error"
}
}
エイリアスの照会(デバイスとのバインディング関係)
GET /v4/aliases/{alias_value}
- 指定されたエイリアスの下のデバイスを取得します。
呼び出しアドレス
GET /v4/aliases/{alias_value}
リクエスト例
リクエストヘッダー
GET /v4/aliases/{alias_value}?platform=android,ios
Authorization: Basic (base64認証文字列)
Accept: application/json
リクエストパラメータ
- platformはオプションのパラメータで、入力されていない場合はデフォルトですべてのプラットフォームになります。
戻り例
成功した戻り
HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8
戻りデータ
{
"registration_ids": [
"registration_id1",
"registration_id2"
]
}
- 統計情報が見つからない場合は統計情報の値はnullになり、それ以外の場合は統計情報の値になります。
エイリアスの削除
エイリアス、およびエイリアスとデバイスのバインディング関係を削除します。
DELETE /v4/aliases/{alias_value}
リクエスト例
リクエストヘッダー
DELETE /v4/aliases/{alias_value}?platform=android,ios
Authorization: Basic (base64認証文字列)
Accept: application/json
リクエストパラメータ
- platformはオプションのパラメータで、入力されていない場合はデフォルトですべてのプラットフォームになります。
戻り例
- 成功
success
- 失敗
{
"error":{
"code":27002,
"message":"unknown error"
}
}
ユーザーオンライン状態の取得
呼び出しアドレス
POST /v4/devices/status/
リクエスト例
リクエストヘッダー
POST /v4/devices/status/
Authorization: Basic (base64認証文字列)
Accept: application/json
リクエストデータ
{
"registration_ids": [
"010b81b3582",
"0207870f1b8",
"0207870f9b8"
]
}
リクエストパラメータ
- registration_ids オンライン状態を確認する必要があるユーザーのregistration_id。最大1000個のregistration_idsを照会できます。
- このAPIを呼び出すには、このサービスを開いたAppkeyを申請する必要があります。
戻り例
成功した戻り
HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8
戻りデータ
[
{
"regid": "010b81b3582",
"online": true
},
{
"regid": "0207870f1b8",
"online": false,
"last_online_time": "2014-12-16 10:57:07"
},
{
"regid": "0207870f9b8",
"online": false
}
]
戻りデータ
- online
- true:10分以内にオンラインです。
- false:10分以上オンラインではありません。
- last_online_time
- onlineがtrueの場合は、このフィールドは返されません。
- onlineがfalseで、このフィールドが返されない場合は、最終オンライン時間は2日前です。
- 無効なregidまたはappkeyに属さないregidの場合は検証に失敗します。
TAG/エイリアスクォータ情報照会インターフェース
指定されたAppKey、プラットフォーム、タグの関連クォータ情報を照会します。単一照会のタグ数は1000を超えることができません。
呼び出しアドレス
GET /v4/tags/quota-info?tags=tag1&platform=android
Authorization: Basic (base64認証文字列)
Accept: application/json
リクエスト例
curl --location 'https://pushapi-sgp.engagelab.com/v4/tags/quota-info?platform=android&tags=tag1&tags=tag2' \
--header 'Content-Type: application/json' \
--header 'Authorization: Basic YjA2MTBmZGE0M2JmNmFkMTczNGNjMWY2OmQyNGMzZDk1Yzk1M2M3YmFkNzRkM2Q5YQ=='
成功した戻り
{
"data": {
"totalTagQuota": 100000,
"useTagQuota": 1,
"totalAliasQuota": 100000,
"useAliasQuota": 3,
"tagUidQuotaDetail": [
{
"tagName": "tag1",
"totalUidQuota": 100000,
"useUidQuota": 0
},
{
"tagName": "tag2",
"totalUidQuota": 100000,
"useUidQuota": 0
}
]
}
}
戻りフィールドの定義:
- totalTagQuota:アプリケーションの下のタグの総クォータを示します。
- useTagQuota:使用されているタグクォータを示します。
- totalAliasQuota:アプリケーションの下のエイリアスの総クォータを示します。
- useAliasQuota:使用されているエイリアスクォータを示します。
- tagUidQuota:単一タグのデバイス数のクォータを示します。
- useUidQuota:各タグにバインドされているデバイス数の詳細を示します。
失敗した戻り
{
"error": {
"code": 27002,
"message": "Illegal parameter"
}
}
HTTPステータスコード
参照ドキュメント:Http-Status-Code
業務戻りコード
コード | 説明 | 詳細な説明 | HTTPステータスコード |
---|---|---|---|
21004 | 認証エラー | 無効なappkey。 | 401 |
27000 | システムメモリエラー | 再試行してください。 | 500 |
27001 | パラメータエラー | 検証情報が空です。 | 401 |
27002 | パラメータエラー | 無効なパラメータ。 | 400 |
27004 | パラメータエラー | 検証に失敗しました。 | 401 |
27005 | パラメータエラー | 無効なregisID形式。 | 400 |
21008 | パラメータエラー | app_keyは24文字の文字列ではないか、存在しません。 | 400 |
27010 | パラメータエラー | エイリアスはすでに他のregidにバインドされています。 | 400 |
27011 | システム制限 | デバイスにバインドされているタグの数が制限を超えています。デバイスは最大100個のタグをバインドできます。 | 401 |
27012 | パラメータエラー | デバイスがバインドしようとしているタグが存在しません。 | 401 |
27013 | パラメータエラー | アプリケーションのタグの数が制限を超えています。アプリケーションは最大100,000個のタグを作成できます。 | 401 |
27014 | システム制限 | タグのデバイスバインディングの数が制限を超えています。タグは最大100,000個のデバイスをバインドできます。 | 401 |
27015 | パラメータエラー | デバイスにバインドされているエイリアスが存在しません。 | 401 |
27016 | システム制限 | アプリケーションのエイリアスの数が制限を超えています。アプリケーションは最大100,000個のエイリアスを作成できます。 | 401 |
27017 | パラメータエラー | タグの長さが40文字を超えています。 | 401 |