Subaccounts APIを使う

概要

このトピックでは、パートナーがSubaccounts APIを使用してエンドカスタマーをうまく管理するユースケースについて説明します。

前提条件

を熟知している必要がある。 メインコンセプト Subaccounts API に関連付けられます。

サブアカウントの作成

パートナーはエンドカスタマーごとにSubaccountを作成し、エンドカスタマーごとに異なるAPIクレデンシャルを使用し、その支出を見ることができます。これは以下の図に示されている:

Subaccounts with shared balance

Subaccountsを作成するには、以下のコードを使用します:

Write the code

Add the following to create-subaccount.sh:

curl -X "POST" "https://api.nexmo.com/accounts/$VONAGE_API_KEY/subaccounts" -u $VONAGE_API_KEY:$VONAGE_API_SECRET   \
     -H "Content-Type: application/json"  \
     -d $'{"name":"'$NEW_SUBACCOUNT_NAME'", "secret":"'$NEW_SUBACCOUNT_SECRET'"}'

View full source

Run your code

Save this file to your machine and run it:

bash create-subaccount.sh

単位移行

パートナーは、エンドカスタマーがすべて同じ残高を共有していたため、エンドカスタマー間の支出を管理できませんでした。あるエンドカスタマーが、共有残高をすべて消費してしまうことがあり、他のパートナーのエンドカスタマーのVonage APIへのアクセスを事実上ブロックしていました。パートナーは個別の残高を設定し、そのエンド顧客にクレジット・リミットを割り当てることにしました。

注: パートナーは口座を前払いにすることもできたはずだ。

各Subaccountには、以下の図に示すように、個別の残高と与信限度額を割り当てることができる:

Credit allocation

次のコード・スニペットは、指定されたクレジット額を Subaccount に割り当てる例です:

Write the code

Add the following to transfer-credit.sh:

curl -X "POST" "https://api.nexmo.com/accounts/$VONAGE_API_KEY/credit-transfers" -u $VONAGE_API_KEY:$VONAGE_API_SECRET   \
     -H "Content-Type: application/json"  \
     -d $'{"from":"'$VONAGE_API_KEY'", "to":"'$SUBACCOUNT_KEY'", "amount": '$AMOUNT'}'

View full source

Run your code

Save this file to your machine and run it:

bash transfer-credit.sh

すべてのSubaccountの残高確認

パートナーはモニタリングを導入することを決定する。以下のコード・スニペットを使って、すべてのSubaccountの残高を定期的にチェックすることができます:

Write the code

Add the following to get-subaccounts.sh:

curl "https://api.nexmo.com/accounts/$VONAGE_API_KEY/subaccounts" -u $VONAGE_API_KEY:$VONAGE_API_SECRET

View full source

Run your code

Save this file to your machine and run it:

bash get-subaccounts.sh

追加クレジット配分

しばらくして、パートナーはエンドカスタマー1(サブアカウント1)がクレジットをすべて使い切り(40のうち40)、これ以上APIコールができないことに気づいた。パートナーは、エンド・カスタマ1が支払いを行うのを待つか(そして今度はVonageに支払いを行い、対応する残高をサブアカウントに移す)、エンド・カスタマ1がVonage APIを使い続けられるようにエンド・カスタマのクレジット・リミットを直ちに増やすかの選択を迫られた。パートナーは追加クレジットを割り当てることにした。パートナーには 40 = |-60| - |-20| の利用可能クレジットがあり、20 をサブアカウントに割り当てることにしました。これは以下の図に示されています:

Additional credit

月末残高振替

月末にパートナーはVonageから|-20| + |-50| = 70ユーロの請求書を受け取った(すべてのアカウントからのすべての支出に対して)。エンドカスタマ1(サブアカウント1)は、使用した50ユーロのうち45ユーロをカバーした。したがって、パートナーは€45をサブアカウント1の残高に送金した。これは以下の図に示されている:

Additional credit

次のコードは、残高をSubaccountsに移す方法を示しています:

Write the code

Add the following to transfer-balance.sh:

curl -X "POST" "https://api.nexmo.com/accounts/$VONAGE_API_KEY/balance-transfers" -u $VONAGE_API_KEY:$VONAGE_API_SECRET \
     -H "Content-Type: application/json"  \
     -d $'{"from":"'$VONAGE_API_KEY'", "to":"'$SUBACCOUNT_KEY'", "amount": '$AMOUNT'}'

View full source

Run your code

Save this file to your machine and run it:

bash transfer-balance.sh

サブアカウントの一時停止

パートナーは、サブアカウントの支出をコントロールできることを気に入り、個々の残高と30ユーロのクレジットをエンドカスタマー2(サブアカウント2)に割り当てることにした。サブアカウントの支出を監視していたパートナーは、サブアカウント2が残高の25ユーロを消費していることに気づいた。サブアカウント2の支出率に憂慮したパートナーは、サブアカウント2を一時的に停止することにした。サブアカウントを一時停止するコードをここに示す:

Write the code

Add the following to suspend-subaccount.sh:

curl -X "PATCH" "https://api.nexmo.com/accounts/$VONAGE_API_KEY/subaccounts/$SUBACCOUNT_KEY" -u $VONAGE_API_KEY:$VONAGE_API_SECRET \
     -H "Content-Type: application/json"  \
     -d $'{"suspended":true}'

View full source

Run your code

Save this file to your machine and run it:

bash suspend-subaccount.sh

Subaccountの再有効化

サブアカウント2との協議の結果、パートナーはサブアカウント2のアカウントを再有効化することを決定します。これは以下のコードで実現できる:

Write the code

Add the following to reactivate-subaccount.sh:

curl -X "PATCH" "https://api.nexmo.com/accounts/$VONAGE_API_KEY/subaccounts/$SUBACCOUNT_KEY" -u $VONAGE_API_KEY:$VONAGE_API_SECRET \
     -H "Content-Type: application/json"  \
     -d $'{"suspended":false}'

View full source

Run your code

Save this file to your machine and run it:

bash reactivate-subaccount.sh

概要

このトピックでは、典型的なシナリオでエンドカスタマーを管理するために Subaccounts API を使用する方法について見てきました。

その他のリソース