3

SmartyStreetsでは、ポータルにログインしているときにサブスクリプションの残高を表示できます。API 経由で定期購入の残高を確認する方法がありません。私たちのアプリでは、販売するために住所の検証が必要です。SmartyStreets の運用の一環として、サブスクリプションの残高を監視したいので、アドレスの検証がなくなる前に更新するようにアラートを受け取ることができます。

使用可能な監視ツールは、Nagios、Nimsoft、および CA APM です。

誰かがそのようなモニターを構築しましたか?

4

2 に答える 2

1

curl を使用したスクリーン スクレイピングは、1 つのアプローチです。試す:

  1. 認証アプリから Cookie jar を取得します。
  2. サブスクリプション アプリからアカウントを取得します。
  3. 数字をクランチします。

このコマンドは、認証 Cookie を SSCookies ファイルに保存します。

$ curl -c SSCookies ' http://smartystreets.com/apps/accounting/auth ' -d email=myEmail -d password=myPassword

次に、cookie jar を使用してサブスクリプション アプリで認証します。これらのコマンドは、サブスクリプションを取得します。

$ subs= https://smartystreets.com/apps/accounting/subscription

$ curl -s -b @SSCookies $subs | python -mjson.tool

( | python 部分は出力をきれいにします)

結果として得られる JSON には、アクティブでなくなったサブスクリプションや更新が近づいている可能性のあるサブスクリプションを含む、アカウント履歴全体が一覧表示されます。ステータスが「アクティブ」のエントリを探します。

[
    {
        "free": true,
        "id": nnnnn,
        "issued": 250.0,
        "lapse_date": "2013-06-15T08:15:00Z",
        "name": "LiveAddress API (Free)",
        "sku": nnnnn,
        "start_date": "2013-06-03T21:56:00Z",
        "status": "expired",
        "used": 250
    },
    {
        "autorenew": true,
        "id": nnnnn,
        "issued": 1200000.0,
        "lapse_date": "2015-06-20T20:11:00Z",
        "name": "LiveAddress API (Yearly)",
        "sku": nnnnn,
        "start_date": "2014-06-20T20:11:00Z",
        "status": "active",
        "used": 934
    },
    {
        "autorenew": true,
        "cart_id": 0,
        "issued": 1200000.0,
        "lapse_date": "2016-07-20T20:11:00Z",
        "name": "LiveAddress API (Yearly)",
        "sku": nnnnn,
        "start_date": "2015-07-20T20:11:00Z",
        "status": "proposed"
    }
]

私のアクティブなサブスクリプションは #2 (インデックス 1) です。バイタルを抽出するためのいくつかの Python (私はこれに SSMonitor.py という名前を付けました):

import json,sys;

obj=json.load(sys.stdin);

keys=obj[1].keys();
values=obj[1].values();

for i,key in enumerate(keys):
    if (key=="used"): used=values[i];
    if (key=="issued"): issued=values[i];

print "SmartyStreets subscription usage: {0}/{1}".format(used, issued);

$ curl -s -b @SSCookies $subs | python SSMonitor.py

SmartyStreets サブスクリプションの使用: 934/1200000.0

于 2014-06-22T06:33:20.437 に答える