課金詳細情報 CSV リファレンス
ファイルのエンコード
CSV ファイルは、UTF-8(BOM あり)のエンコードとなります。
構造
CSV ファイルは、次のような構造となっています。
各項目の意味は以下の通りです。
ヘッダー行 (1 行目)
ヘッダー行には、項目名が並びます。 項目名は、大きく分けて「金額項目」と「タグ/グループ項目」に分かれ、金額項目のあとにタグ/グループ項目が出力されます。 「金額項目」「タグ/グループ項目」はいずれも可変のため、プログラムで取り込む場合は「CSV パース時の注意」を参考にしてください。
「金額項目」に表示される項目名は以下のとおりです。
imsi
- SIM の IMSI。SIM 以外の課金項目(VPG や無料枠等)の場合、項目行が空となります。
vpgId
- SORACOM Canal/Direct で使用する Virtual Private Gateway(VPG)の ID。
- VPG 以外の課金項目(SIM や無料枠等)の場合は項目行が空となります。
- SORACOM Canal/Direct を使用していない場合は、この項目は CSV に出力されません。
date
- 課金項目については、対象日が yyyyMMdd 形式で設定されます。
- 無料利用枠については、対象月が yyyyMM 形式で設定されます。
billItemName
unitPrice
- 料金の単価
- 例えばデータ通信料の場合、1byte あたりの費用が出力されます。
quantity
- 課金/割引対象の数量
- 例えばデータ通信量の場合、通信した byte 数が出力されます。
amount
- 項目の金額。
unitPrice
にquantity
をかけた値が出力されます。
- 項目の金額。
サンプル
「タグ/グループ項目」には、各 SIM に設定したタグ名と、グループ名が項目名として出力されます。 例えば次のようにタグ名/グループ名を付与すると、項目名とレコード行は次のようになります。
- SIM
- 名前 : MySIM
- タグ名: tag1
- タグ値: foo
- グループ
- グループ ID : d674d68e-da8a-44f6-8868-51d1f069bc06
- グループ名 : グループ 1
name,tag1,group:groupId,group:name
MySIM,foo,d674d68e-da8a-44f6-8868-51d1f069bc06,グループ 1
ある SIM にタグが付与されていたり、グループに所属したりしている場合は、その SIM のレコード行にタグ値/グループ ID および名前が 出力されるため、この値を使用することで、任意のタグ値やグループ名で集計をできます。
レコード行 (2 行目以降)
2 行目以降は、レコード行となります。 レコード行は「課金レコード」と「割引レコード」に分かれており、課金レコードの次に割引レコードが出力されます。
課金レコードは、IMSI/VPGID ごと、日ごと、課金項目ごとにレコードが作成され、quantity(数量)や金額(amount)は日(UTC)ごとに合算されます。 また IMSI や VPG にタグがついている場合は、タグ/グループ項目部分にその値が出力されます。
割引レコードは、無料利用枠やクーポン利用で利用金額から割引される項目が出力されます。日付(date)項目に対象の月が入ります。また金額(amount)の値として、割引額がマイナスで入ります。
なお、この CSV には消費税および合計金額に該当する項目はないため、請求金額と合わせる場合は、すべての金額(amount)を合算後、消費税率をかけ 小数点以下を切り上げしてください。
billItemName 項目一覧
課金レコード
課金レコード | 内容 |
---|---|
basicCharge-ready | 基本料金 (SIM 利用料金:ready 時) |
basicCharge-active | 基本料金 (SIM 利用料金:Active 時) |
basicCharge-inactive | 基本料金 (SIM 利用料金:Inactive 時) |
basicCharge-suspended | 基本料金 (SIM 利用料金:Suspended 時) |
basicMonthlyChargeForPlanKM1 | 基本料金 (plan-KM1 基本料) |
subscriberSuspensionCharge | Suspended への変更料金 |
subscriberActivationCharge | Standby からのアクティブ化料金 |
subscriberContractRenewalCharge | SIM の契約更新料金 |
dataTrafficChargeForPlanKM1 | データ通信料 (plan-KM1) |
subscriberActivationChargeForPlanKM1 | plan-KM1 ready/suspended からの Activate 料金 |
contractRenewalChargeForPlanKM1 | plan-KM1 「準備完了」、「利用開始待ち」の状態で 1 年を経過した場合の契約更新料 |
uploadDataCharge-xxxx-xxxx | 日本向け上り (デバイスから SORACOM)へのデータ通信量。速度クラス(s1.fast 等)と時間帯(daytime,nighttime)がハイフン区切りで付与されます。 例)uploadDataCharge-s1.fast-daytime |
downloadDataCharge-xxxx-xxxx | 日本向け下り (SORACOM からデバイス)へのデータ通信量。速度クラス(s1.fast 等)と時間帯(daytime,nighttime)がハイフン区切りで付与されます。 例)downloadDataCharge-s1.fast-nighttime |
dataTrafficCharge-xxx-xxxx | グローバル向け通信量の利用料金。/地域とサブスクリプションがハイフン区切りで付与されます。 |
dataTrafficRoundedUpCharge-xxx-xxxx | グローバル向け通信量の切り上げ利用料金。国/地域とサブスクリプションがハイフン区切りで付与されます。 |
subscriptionDeliveryCharge-xxxx | サブスクリプション追加費用 (planX1/planX2/planP1) |
subscriptionUsageCharge-xxxx | サブスクリプション利用料金 (planX1/planP1) |
subscriptionContractRenewalCharge-xxxx | サブスクリプション年間契約更新料金 (planX1/planP1) |
bundleChargeForPlanDU-xxxx | plan-DU 月額料金 |
additionalDataCapacityChargeForPlanDU | plan-DU 追加料金 (上り 10GiB/下り 1GiB 単位) |
readyStatusChargeForPlanDU | plan-DU 準備完了状態時の料金 |
chapAuthenticationCharge | CHAP 認証の SIM ごとの料金 |
customDNSCharge | CustomDNS の SIM ごとの料金 |
ussdRequestCharge | USSD リクエスト利用料金 |
planKM1LocationOptionCharge | plan-KM1 位置情報 利用料金 |
planKM1LocationOptionRequestCharge | plan-KM1 位置情報 利用料金 リクエスト利用料金 |
virtualPrivateGatewaySetupCharge | Virtual Private Gateway のセットアップ料金(2016 年 4 月までの分) |
virtualPrivateGatewayCanalSetupCharge | SORACOM Canal 用の Virtual Private Gateway セットアップ料金 |
virtualPrivateGatewayDirectSetupCharge | SORACOM Direct 用の Virtual Private Gateway セットアップ料金 |
virtualPrivateGatewayDoorSetupCharge | SORACOM Door 用の Virtual Private Gateway セットアップ料金 |
virtualPrivateGatewayCharge | Virtual Private Gateway の SIM ごとの利用料金 |
soracomCanalVirtualPrivateGatewayCharge | SORACOM Canal 用 Virtual Private Gateway の利用料金 |
soracomCanalVPCPeeringCharge | SORACOM Canal の VPCPeering ごとの料金 |
soracomDirectVirtualPrivateGatewayCharge | SORACOM Direct 用 Virtual Private Gateway の料金 |
soracomDirectVirtualInterfaceCharge | SORACOM Direct の Virtual Interfase ごとの料金 |
soracomDoorVirtualPrivateGatewayCharge | SORACOM Door 用 Virtual Private Gateway の料金 |
soracomDoorVPNConnectionCharge | SORACOM Door の VPN 接続ごとの料金 |
virtualPrivateGatewayFixedGlobalIpAddressOptionCharge | VPG 固定 IP アドレスオプション 時間課金 |
virtualPrivateGatewayTypeESetupCharge | VPG Type-E のセットアップ料金 |
virtualPrivateGatewayTypeECharge | VPG Type-E の VPG の利用料金 |
virtualPrivateGatewayTypeFSetupCharge | VPG Type-F のセットアップ料金 |
virtualPrivateGatewayTypeFCharge | VPG Type-F の VPG の利用料金 |
soracomBeamRequestCharge-xxx | Soracom Beam リクエスト利用料金。プロトコル名がハイフン区切りで付与されます。 |
soracomEndorseCharge | Soracom Endorse 利用料金 |
soracomFunnelRequestCharge-xxx | Soracom Funnel リクエスト利用料金。プロトコル名がハイフン区切りで付与されます。 |
soracomFunkRequestCharge-xxx | Soracom Funk リクエスト利用料金。呼び出し先の Functions 名がハイフン区切りで付与されます。 |
soracomHarvestCharge | Soracom Harvest 利用料金 |
soracomHarvestFilesStoreCharge | Soracom Harvest Files データ保存料金 |
soracomHarvestRequestCharge | Soracom Harvest 利用料金 (2000 リクエスト超過分) |
soracomHarvestTermExtensionCharge | Soracom Harvest 期間延長オプション料金 |
soracomHarvestDataExportCharge | Soracom Harvest データエクスポート料金 |
soracomHarvestFilesExportCharge | Soracom Harvest Files データエクスポート費用 |
soracomInventoryDeviceRegistrationCharge | Soracom Inventory デバイス登録料金 |
soracomInventoryMonthlyCharge | Soracom Inventory 月額利用料金 |
soracomJunctionCharge | Soracom Junction の料金 |
soracomJunctionInspectionCharge | Soracom Junction インスペクションの料金 |
soracomKryptonInitialProvisioningCharge | Soracom Krypton 初回プロビジョニング利用料金 |
soracomKryptonMonthlyProvisioningCharge | Soracom Krypton 月額セットアップ利用料金 |
soracomLagoonMonthlyCharge-xxx | Soracom Lagoon 月額費用。プラン名がハイフン区切りで入ります |
soracomLagoonLicensePackCharge-xxx | Soracom Lagoon ライセンスパック料金。パック名がハイフン区切りで付与されます。 |
soracomNapterCharge | Soracom Napter 利用料金 |
soracomNapterAuditLogCharge | Soracom Napter 監査ログ利用料金 |
soracomNapterAuditLogExportCharge | Soracom Napter 監査ログ エクスポート料金 |
soracomOrbitCharge | Soracom Orbit 料金 |
soracomOrbitRequestCharge | Soracom Orbit リクエスト料金 |
soracomPeekChargeForVPG | Soracom Peek 料金 for VPG |
soracomPeekDataExportCharge | Soracom Peek データエクスポート料金 |
soracomPeekDataStoreChargeForVPG | Soracom Peek データ保存 料金 for VPG |
soracomLTEMButtonPoweredByAWSRenewalCharge | SORACOM LTE-M Button powered by AWS の契約更新料金 |
loRaGatewayOwnedModelFirstUnitMonthlyCharge | LoRa ゲートウェイ専有モデル月額費用(1 台目) |
loRaGatewayOwnedModelAdditionalUnitMonthlyCharge | LoRa ゲートウェイ専有モデル月額費用(2 台目以降) |
loRaGatewaySharedServiceModelMonthlyCharge | LoRa ゲートウェイ共有モデル月額費用(1 台目) |
sigfoxMessageCharge | Sigfox メッセージ利用料金。契約内容や利用国などがハイフン区切りで付与されます。 |
sigfoxDeviceRegistrationCharge | Sigfox デバイス登録料金 |
sigfoxAnnualConnectivityCharge | Sigfox デバイス年間接続料金 |
docomoSMSCharge | SMS 料金(DOCOMO 回線) |
docomoInternatinalSMSCharge | 国際 SMS 料金(DOCOMO 回線) |
kddiSMSCharge-yyyyMM | SMS 料金(KDDI 回線) yyyyMM に利用月が入ります。 |
kddiInternatinalSMSCharge-yyyyMM | 国際 SMS 料金(KDDI 回線) yyyyMM に利用月が入ります。 |
soracomSmsDeliveryCharge | Soracom SMS 配信利用料金 |
soracomSmsSubmitCharge | Soracom SMS 送信利用料金 |
割引レコード
割引レコード | 内容 |
---|---|
dataTrafficFreeTier | データ通信無料利用枠 |
soracomBeamRequestFreeTier | Soracom Beam リクエスト無料利用枠 |
soracomEndorseFreeTier | Soracom Endorse 無料利用枠 |
soracomFunnelRequestFreeTier | Soracom Funnel リクエスト無料利用枠 |
soracomFunkRequestFreeTier | Soracom Funk リクエスト無料利用枠 |
soracomHarvestFreeTier | Soracom Hearvest 無料利用枠 |
soracomInventoryFreeTier | Soracom Inventory リクエスト無料利用枠 |
soracomNapterFreeTier | Soracom Napter 無料利用枠 |
dataTrafficCoupon | データ通信へのクーポン充当枠 |
soracomBeamRequestCoupon | Soracom Beam リクエスト利用料へのクーポン充当枠 |
soracomEndorseCoupon | Soracom Endorse 利用料へのクーポン充当枠 |
soracomFunnelRequestCoupon | Soracom Funnel 利用料へのクーポン充当枠 |
chargeCoupon | SORACOM 利用料全体へのクーポン充当枠 |
soracomAirBasicChargeVolumeDiscount | 基本料金のボリュームディスカウント |
CSV パース時の注意点
BOM つきの UTF-8 でエンコードされていますので、UTF-8 で読み込みを行ってください。
- タグ/グループの値にカンマ(
,
)が入っている場合は、値がダブルコーテーションで括られます。 - またダブルコーテーション(
"
)が入っている場合は、ダブルコーテーションでエスケープされます。
これらの文字を利用する場合は、エスケープを考慮できる CSV パーサを利用してください。
項目は可変のため、また今後 ICCID など新規項目が追加になる可能性があるため、ヘッダー行とレコード行を合わせて読みこむようにしてください。
例えば CSV の 1 項目目が IMSI、2 項目が date という形で固定で読み込むプログラムの実装した場合、SORACOM Canal/Direct を使用して vpgId が CSV に出力されたり、将来的に ICCID などが追加されると正しくデータを取得できなくなるため、 CSV を一度オブジェクトや Hash、連想配列など、レコード行をキー/値であつかえる形に変換した後、データを取り扱ってください。