Soracom

Users

ドキュメント

HTTP エントリポイント

デバイスから HTTP リクエストを受け付け、HTTP もしくは HTTPS で転送先へリクエストを転送します。API エンドポイントに対して転送するのに向いています。

このエントリポイントは、設定項目のひとつであるパス (Beam エントリポイントの受付パス) がかぶらない限り、複数のエントリポイントを作成できます。

設定項目

SORACOM ユーザーコンソールの場合

  • 設定名: 本設定の名前
  • エントリポイント
    • プロトコル: デバイスとの通信プロトコル (HTTP)
    • パス: デバイスからのリクエスト受付パス
  • 転送先
    • プロトコル: 転送先への送信プロトコル (HTTP もしくは HTTPS から選択)
    • ホスト名: 転送先の FQDN
    • ポート番号: 転送先のポート番号
    • パス: 転送先へのリクエストパス
  • ヘッダ操作
    • IMSI ヘッダ付与: 転送先へのリクエストに x-soracom-imsi: ${IMSI} を追加します。
    • IMEI ヘッダ付与: 転送先へのリクエストに x-soracom-imei: ${IMEI} を追加します。
    • MSISDN ヘッダ付与: 転送先へのリクエストに x-soracom-msisdn: ${MSISDN} を追加します。
    • SIM ID ヘッダ付与: 転送先へのリクエストに x-soracom-sim-id: ${SIM_ID} を追加します。
    • 署名ヘッダ付与: 転送先へのリクエストに x-soracom-signature: ${signature} を追加します。
    • 事前共有鍵: 署名に利用する共通鍵を設定します。詳細は、署名ヘッダと事前共有鍵を使って送信元を検証する を参照してください。
  • カスタムヘッダ: 転送先へのリクエストに任意の HTTP ヘッダを付与できます。

SORACOM CLI / SORACOM API の場合

soracom groups put-config (Group:putConfigurationParameters API) を使用します。

{namespace} は、SoracomBeam です。

ボディで指定するプロパティについては、以下の keyvalue のペアを配列で指定します。

"http://beam.soracom.io:8888/": { // 固定
  "name": "string", // 任意の名称
  "destination": "https://example.com/path/to/resource", // 通信先URL
  "enabled": true | false, // エンドポイントの有効無効
  "addSubscriberHeader": true, // Subscriber の情報をヘッダとして付与するか否か
  "customHeaders": { // 独自HTTPヘッダ
    "X-HEADER-NAME": { // 独自ヘッダの名前
      "action": "replace" | "append" | "delete", // 置換、追記、削除が選択可能
      "headerKey": "X-HEADER-NAME",
      "headerValue": "VALUE" // ヘッダに設定する内容
    }
  },
  "addSignature": true | false, // 検証用シグネチャを付与するか否か
  "psk": "string" // 検証用シグネチャを計算する際の事前共有パスフレーズ
}

設定例

[
  {
    "key": "http://beam.soracom.io:8888/",
    "value": {
      "name": "test",
      "destination": "https://beamtest.soracom.io/",
      "enabled": true,
      "addSubscriberHeader": true,
      "customHeaders": {
        "X-GROUP-NAME": {
          "action": "replace",
          "headerKey": "X-GROUP-NAME",
          "headerValue": "TEST"
        }
      },
      "addSignature": true,
      "psk": "topsecret"
    }
  }
]

エントリポイント URL

http://beam.soracom.io:8888/${ご自身で設定したパス}

リクエスト

Beam はオリジナルのリクエストに対して Connection ヘッダに close を設定してリクエストを転送します。

レスポンス

Beam は転送先から返された HTTP レスポンスをそのままデバイスに返します。

実際の利用例

以下、送信するデータの形式に JSON を選択した場合のデータ送信例です。

$ curl -v -XPOST -H "Content-Type:application/json" -d "{\"key\":\"value\"}" http://beam.soracom.io:8888/
Note: Unnecessary use of -X or --request, POST is already inferred.
*   Trying 100.127.127.100...
* Connected to beam.soracom.io (100.127.127.100) port 8888 (#0)
> POST / HTTP/1.1
> Host: beam.soracom.io:8888
> User-Agent: curl/7.49.0
> Accept: */*
> Content-Type:application/json
> Content-Length: 15
>
* upload completely sent off: 15 out of 15 bytes
< HTTP/1.1 200 OK
< Content-Type: application/json
< Date: Wed, 21 Dec 2016 02:25:01 GMT
< Connection: close
< Transfer-Encoding: chunked
<
* Closing connection 0