REST API 概要

基本制約

  • APIはHTTPおよびREST仕様に準拠するよう設計されています。たとえば、クエリリクエストはGetメソッドを使用し、送信リクエストはPOSTメソッドを使用します。リクエストが対応するHTTPメソッドでない場合、エラーが返されます。
  • 特に指定がない限り、呼び出しパラメータの値はUTF-8、URLエンコードで変換する必要があります。

リクエストレート制限

サービスの安定性と公平性を確保するため、APIには呼び出し頻度の制限が設けられています。各AppKeyのQPS(毎秒クエリ数)制限は以下の通りです:

  • 標準制限:1秒あたり最大500リクエスト
  • 高度制限:有料プランのサブスクライバーで、有料AppKeyに更高のQPS制限が必要な場合は、営業チームに連絡してください:Sales@engagelab.com

データセンターとベースURL

2025年3月19日から、Engagelab Push APIに新規アクセスする開発者は、以下のドメイン名を使用してください。.cc接尾辞の元のBase URLは引き続き使用可能ですが、最新のドメイン名に切り替えることを推奨します。

データセンター ベースURL
シンガポール https://pushapi-sgp.engagelab.com
アメリカ合衆国バージニア州 https://pushapi-usva.engagelab.com
ドイツ・フランクフルト https://pushapi-defra.engagelab.com
香港 https://pushapi-hk.engagelab.com

REST APIを使用する場合は、選択したベースURLと特定のAPIパスを組み合わせて、完全なエンドポイントを取得する必要があります。

{base URL}/{API path}
              
              {base URL}/{API path}

            
このコードブロックはフローティングウィンドウ内に表示されます

ここで、{base URL}は選択したデータセンターのベースURLを表し、{API path}は特定のAPIエンドポイントパスを表します。たとえば、v4/devices/{registration_id}などです。

例:

  • シンガポールのデータセンターを選択し、ベースURLがhttps://pushapi-sgp.engagelab.comであるとします。
  • 特定のデバイスの登録情報を削除したい場合、APIパスがv4/devices/{registration_id}であるとすると、完全なAPIエンドポイントは次のようになります:
https://pushapi-sgp.engagelab.com/v4/devices/{registration_id}
              
              https://pushapi-sgp.engagelab.com/v4/devices/{registration_id}

            
このコードブロックはフローティングウィンドウ内に表示されます

ここで、{registration_id}は特定のデバイスの登録IDを表します。

この方法を使用すると、異なるデータセンターにアクセスするための完全なAPIエンドポイントURLを構築できます。

認証方法

Engagelab REST APIはHTTP基本認証を使用します。 基本的な方法は、HTTPヘッダーにAuthorizationを追加することです:

Authorization: Basic base64_auth_string
              
              Authorization: Basic base64_auth_string

            
このコードブロックはフローティングウィンドウ内に表示されます

base64_auth_stringの生成アルゴリズム:base64(appKey:masterSecret)
appKey、コロン、masterSecretで構成される文字列をbase64で変換します。
AppPushページに移動し、APP情報ページでAppKeyとMaster Secretの情報を取得してください。
image.png

認証例

appKeyが「c96f42e0d2e662e45d035ab1」、masterSecretが「df4d59e84eac2f9d53b36f12」の場合、curlコマンドを介してPush API v4を呼び出す例は以下の通りです:

curl --insecure -X POST -v https://pushapi-sgp.engagelab.com/v4/push -H "Content-Type: application/json" -u "c96f42e0d2e662e45d035ab1:df4d59e84eac2f9d53b36f12" -d '{ "from": "push", "to": "all", "body": { "platform": ["android","ios"], "notification": { "alert": "Hi,MTPush !", "notification": { "alert" :"Hello, Push!", "android": { "alert": "Hi, Push!", "title": "Send to Android", "builder_id": 1, "extras": { "newsid": 321 } }, "ios": { "alert": "Hi, MTPush!", "sound": "default", "badge": "+1", "extras": { "newsid": 321 } } } } }, "request_id": "12345678", "custom_args": "business info" }'
              
               curl --insecure -X POST -v https://pushapi-sgp.engagelab.com/v4/push 
-H "Content-Type: application/json" 
-u "c96f42e0d2e662e45d035ab1:df4d59e84eac2f9d53b36f12" 
-d '{
    "from": "push",
    "to": "all",
    "body": {
        "platform": ["android","ios"],
        "notification": {
            "alert": "Hi,MTPush !",
            "notification": {
                "alert" :"Hello, Push!",
                "android": {
                    "alert": "Hi, Push!",
                    "title": "Send to Android",
                    "builder_id": 1,
                    "extras": {
                        "newsid": 321
                    }
                },
                "ios": {
                    "alert": "Hi, MTPush!",
                    "sound": "default",
                    "badge": "+1",
                    "extras": {
                        "newsid": 321
                    }
                }
            }
        }
    },
    "request_id": "12345678",
    "custom_args": "business info"
}'

            
このコードブロックはフローティングウィンドウ内に表示されます

HTTPリクエスト例:

> POST /v4/push HTTP/1.1 > Authorization: Basic Yzk2ZjQyZTBkMmU2NjJlNDVkMDM1YWIxOmRmNGQ1OWU4NGVhYzJmOWQ1M2IzNmYxMg==
              
              > POST /v4/push HTTP/1.1
> Authorization: Basic Yzk2ZjQyZTBkMmU2NjJlNDVkMDM1YWIxOmRmNGQ1OWU4NGVhYzJmOWQ1M2IzNmYxMg==

            
このコードブロックはフローティングウィンドウ内に表示されます
icon
お問い合わせ