POST /devices/usage/actions/billedusageGets billing usage for a customer segment for a specified billing cycle, or the most recent billing cycle if one is not specified.
Customers who have previously been required to associate a usage segmentation label with a device to retrieve billing for that segment will still be required to create a segmentation label. See Set Usage Segmentation Labels.
Both this API endpoint and billedusage/list are currently in use by the automotive sector. Please note that these API endpoints are only available on a limited basis.
POST https://thingspace.verizon.com/api/m2m/v1/devices/usage/actions/billedusageNone.
The request header must contain a current ThingSpace authorization bearer token and a valid VZ-M2M session token, and must set the content-type to JSON.
| Parameter Name | Data Type | Description |
|---|---|---|
| Authorization required |
string | HTTP Authorization bearer token. |
| VZ-M2M-Token required |
string | A valid session token returned by POST /session/login. |
| Content-Type required |
string | Must be application/json. |
| Parameter Name | Data Type | Description |
|---|---|---|
| accountName required |
string | The name of a billing account. An account name is usually numeric, and must include any leading zeros. |
| labels required if not specifying deviceId |
Array of label names and label values | Maximum of 2,000 objects are allowed in the array. |
| label.name required |
Varchar(20) | The label associated with the device. You can only provide either label or deviceId. Not both. |
| label.value required |
Varchar (50) | The label value. |
| deviceId required if not specifying label |
deviceId object | An identifier for a single device. You can only provide either label or deviceId. Not both. |
| deviceId.kind, deviceId.id required if not specifying label* |
string | The type and value of the device identifier.
|
| billingCycle | The billing cycle for which you want billing information. If you do not specify the billing cycle, the most recent billing cycle information is provided. | |
| billingCycle.year | integer | The year in which the billing cycle occurs. |
| billingCycle.month | integer | The number representing the month of the billing cycle. Valid values include integers between 1 and 12. |
| includeQosDetails optional |
boolean | This flag indicates if Quality of Service (QoS) information will be included in the callback. Note: This is for RTR accounts only. |
{
"accountName": "0000123456-00001",
"labels": [
{
"name": "VIN",
"value": "16-digit Vehicle ID number"
},
{
"name": "VIN",
"value": "16-digit Vehicle ID number"
}
],
"deviceIds": [
{
"kind": "EID",
"id": "the Electronic ID of the device"
},
{
"kind": "EID",
"id": "the Electronic ID of the device"
}
],
"billingCycle": {
"year": 2020,
"month": 3
}
"includeQosDetails" : "true"
}
Status 200
| Parameter Name | Data Type | Description |
|---|---|---|
| accountName |
string | The name of a billing account. An account name is usually numeric, and must include any leading zeros. |
| billingCycle | The billing cycle for which you want billing information. If you do not specify the billing cycle, the most recent billing cycle information is provided. | |
| billingCycle.year | integer | The year in which the billing cycle occurs. |
| billingCycle.month | integer | The number representing the month of the billing cycle. Valid values include integer values between 1 and 12. |
| deviceId |
deviceId object | An identifier for a single device. |
| deviceId.kind, deviceId.id |
string | The type and value of the device identifier.
|
| deviceId.oemName |
string | The engagement name of the manufacturer Note: This is only returned for usageSegments |
| label |
Array of label names and label values | Maximum of 2,000 objects are allowed in the array. |
| label.name |
Varchar(20) | The label associated with the device. |
| label.value |
Varchar (50) | The label value associated with the device. |
| ratePlanDescription | string | A description of the rate plan. |
| totalBilledAmount | integer | The total dollar amount billed for the specified billing cycle. |
| totalBilledUsage | integer | Total of usage in units of measure. |
| unitOfMeasure | string | Indicates the method in which totalBilledUsage is measured. |
| usageSegments | array | Breaks down the billing and usage details by rating groups. |
| usageAPN | array | Breaks down the billing and usage details by Access Point Name (APN) for Real-Time Reporting (RTR) customers. |
| apnName | string | The name of the Access Point (APN). |
| ratingGroup | string | Breaks down billing and usage based on a contracted rate. |
| ratingGroupDetails | array | Lists charge and usage details for the billing cycles. |
| apnNameDetails | array | Lists charge and usage details for the billing cycles by Access Point Name (APN). |
| currentCycleDetails | array | Lists billing and usage details for the rating group for the specified billing cycle. |
| currentCycleDetails.chargeAmount | integer | The total dollar amount charged and usage information for the rating group by country code for the current billing cycle. |
| currentCycleDetails.countryCode | string | Code for the country that the usage and resulting charges are in. |
| currentCycleDetails.usage | integer | Total usage in the corresponding country for the billing cycle. |
usageAPN.apnName.apnNameDetails.qosDetails.qos |
string | The type of data being measured. Currently, this is only "premium data" and "standard data". |
| usageAPN.apnName.apnNameDetails.qosDetails.usage | string | Usage of the data in this category, measured in MB. |
| usageAPN.apnName.apnNameDetails.qosDetails.chargeAmt | string | The cost of the data used in US Dollars. |
| unbilledFromPreviousCycleDetails | array of objects | Lists usage and charge information from a previous billing cycle that was not billing until the current billing cycle. |
| unbilledFromPreviousCycleDetails.chargeAmount | integer | The total dollar amount charged in the rating group in the current billing cycle, but whose usage occurred in a prior cycle. |
| unbilledFromPreviousCycleDetails.countryCode | string | Code for the country in which the usage and resulting charges occurred in. |
| unbilledFromPreviousCycleDetails.usage | integer | Total usage from the unbilled cycle. |
{
"accountName":"9231221278-99990",
"billingCycle":{
"month":1,
"year":2020
},
"deviceId":{
"id":"29183120783667588118432098765864",
"kind":"EID",
"oemName" : "the engagement name"
},
"label":{
"name":"VIN",
"value":"XXUZL54B5YN105457"
},
"ratePlanDescription":"?XXX?",
"totalBilledAmount":7283.34,
"totalBilledUsage":10485760123,
"unitOfMeasure":"MB",
"usageSegments":[
{
"ratingGroup":"SAMPLE DATA",
"ratingGroupDetails":{
"currentCycleDetails":[
{
"chargeAmount":288,
"countryCode":"US",
"usage":2000000
},
{
"chargeAmount":388,
"countryCode":"CA",
"usage":3000000
}
],
"unbilledFromPreviousCycleDetails":[
{
"chargeAmount":488,
"countryCode":"MX",
"usage":5000000
}
]
}
},
{
"ratingGroup":"SAMPLE DATA 2",
"ratingGroupDetails":{
"currentCycleDetails":[
{
"chargeAmount":588,
"countryCode":"US",
"usage":5000000
},
{
"chargeAmount":688,
"countryCode":"CA",
"usage":6000000
}
],
"unbilledFromPreviousCycleDetails":[
{
"chargeAmount":788,
"countryCode":"MEX",
"usage":7000000
}
]
}
}
]
}
Note: Instead of usageSegments, Real-Time Reporting (RTR) customers will see usageAPN as below:
{
"accountName":"9231221278-99990",
"billingCycle":{
"month":1,
"year":2020
},
"deviceId":{
"id":"29183120783667588118432098765864",
"kind":"EID"
},
"label":{
"name":"VIN",
"value":"XXUZL54B5YN105457"
},
"ratePlanDescription":"?XXX?",
"totalBilledAmount":7283.34,
"totalBilledUsage":10485760123,
"unitOfMeasure":"MB",
"usageAPN":[
{
"apnName":"vzwb2binternet",
"apnNameDetails":{
"currentCycleDetails":[
{
"countryCode":"USA",
"usage":3000000,
"chargeAmount":1201.0
}
],
"qosDetails":[
{
"qos":"premium data",
"usage":100,
"chargeAmt":100.0
},
{
"qos":"standard data",
"usage":200,
"chargeAmt":50.0
}
],
"unbilledFromPreviousCycleDetails":[
{
"countryCode":"MEX",
"usage":3000000,
"chargeAmount":288.0,
"chargeDescription":"$0.006 per MB - USA"
}
]
}
}
]
}
Status 400
All error messages are returned in this format:
{
"errorCode": "error code string",
"errorMessage": "error message string"
}
Error codes and messages are listed on the Error Messages page, along with explanations and suggestions for corrective actions.