sdksio / verizon-apis-sdk
Use the Verizon API for connectivity management, device diagnostics, device location, edge discovery service, edge performance, software management and much more.
Requires
- php: ^7.2 || ^8.0
- ext-curl: *
- ext-json: *
- apimatic/core: ~0.3.17
- apimatic/core-interfaces: ~0.1.5
- apimatic/unirest-php: ^4.0.6
Requires (Dev)
- phan/phan: 5.4.5
- squizlabs/php_codesniffer: ^3.5
README
Introduction
"The Connection Planner is a service that provides devices windows to connect to their backend APIs. The service validates device access permissions and processes valid devices asynchronously. For each batch, it retrieves device connectivity windows from the RAN KPI Data Application, and sends callbacks back to customers via UWS-Callback for both successful and failed device requests."
Best Practices for Callbacks: https://thingspace.verizon.com/documentation/apis/connectivity-management/working-with-verizon/about-callback-services/best-practices.html
Install the Package
Run the following command to install the package and automatically add the dependency to your composer.json file:
composer require "sdksio/verizon-apis-sdk:2.0.0"
Or add it to the composer.json file manually as given below:
"require": { "sdksio/verizon-apis-sdk": "2.0.0" }
You can also view the package at: https://packagist.org/packages/sdksio/verizon-apis-sdk#2.0.0
Initialize the API Client
Note: Documentation for the client can be found here.
The following parameters are configurable for the API Client:
| Parameter | Type | Description |
|---|---|---|
| environment | Environment |
The API environment. Default: Environment.PRODUCTION |
| timeout | int |
Timeout for API calls in seconds. Default: 0 |
| enableRetries | bool |
Whether to enable retries and backoff feature. Default: false |
| numberOfRetries | int |
The number of retries to make. Default: 0 |
| retryInterval | float |
The retry time interval between the endpoint calls. Default: 1 |
| backOffFactor | float |
Exponential backoff factor to increase interval between retries. Default: 2 |
| maximumRetryWaitTime | int |
The maximum wait time in seconds for overall retrying requests. Default: 0 |
| retryOnTimeout | bool |
Whether to retry on request timeout. Default: true |
| httpStatusCodesToRetry | array |
Http status codes to retry against. Default: 408, 413, 429, 500, 502, 503, 504, 521, 522, 524 |
| httpMethodsToRetry | array |
Http methods to retry against. Default: 'GET', 'PUT' |
| proxyConfiguration | ProxyConfigurationBuilder |
Represents the proxy configurations for API calls |
| thingspaceOauthCredentials | ThingspaceOauthCredentials |
The Credentials Setter for OAuth 2 Client Credentials Grant |
| vZM2mTokenCredentials | VZM2mTokenCredentials |
The Credentials Setter for Custom Header Signature |
| sessionTokenCredentials | SessionTokenCredentials |
The Credentials Setter for Custom Header Signature |
| thingspaceOauth1Credentials | ThingspaceOauth1Credentials |
The Credentials Setter for OAuth 2 Client Credentials Grant |
The API client can be initialized as follows:
use VerizonLib\Environment; use VerizonLib\Authentication\ThingspaceOauthCredentialsBuilder; use VerizonLib\Authentication\VZM2MTokenCredentialsBuilder; use VerizonLib\Authentication\SessionTokenCredentialsBuilder; use VerizonLib\Authentication\ThingspaceOauth1CredentialsBuilder; use VerizonLib\VerizonClientBuilder; $client = VerizonClientBuilder::init() ->thingspaceOauthCredentials( ThingspaceOauthCredentialsBuilder::init( 'OAuthClientId', 'OAuthClientSecret' ) ) ->vZM2mTokenCredentials( VZM2MTokenCredentialsBuilder::init( 'VZ-M2M-Token' ) ) ->sessionTokenCredentials( SessionTokenCredentialsBuilder::init( 'SessionToken' ) ) ->thingspaceOauth1Credentials( ThingspaceOauth1CredentialsBuilder::init( 'OAuthClientId', 'OAuthClientSecret' ) ) ->environment(Environment::PRODUCTION) ->build();
Environments
The SDK can be configured to use a different environment for making API calls. Available environments are:
Fields
| Name | Description |
|---|---|
| PRODUCTION | Default |
| STAGING | - |
| DEV | - |
| QA | - |
| MOCK_SERVER_FOR_LIMITED_AVAILABILITY_SEE_QUICK_START | - |
Authorization
This API uses the following authentication schemes.
thingspace_oauth (OAuth 2 Client Credentials Grant)VZ-M2M-Token (Custom Header Signature)sessionToken (Custom Header Signature)thingspace_oauth1 (OAuth 2 Client Credentials Grant)
List of APIs
- Account Service Controller
- Intelligence Service Controller
- Device Management
- Device Groups
- Session Management
- Connectivity Callbacks
- Account Requests
- Service Plans
- Device Diagnostics
- Device Monitoring
- Device Profile Management
- E UICC Device Profile Management
- Devices Locations
- Devices Location Subscriptions
- Device Location Callbacks
- Usage Trigger Management
- Software Management Subscriptions V1
- Software Management Licenses V1
- Firmware V1
- Software Management Callbacks V1
- Software Management Reports V1
- Software Management Subscriptions V2
- Software Management Licenses V2
- Campaigns V2
- Software Management Callbacks V2
- Software Management Reports V2
- Client Logging
- Server Logging
- Configuration Files
- Software Management Subscriptions V3
- Software Management Licenses V3
- Campaigns V3
- Software Management Reports V3
- Firmware V3
- Account Devices
- Software Management Callbacks V3
- SIM Securefor Io T Licenses
- Account Subscriptions
- Diagnostics Subscriptions
- Diagnostics Observations
- Diagnostics History
- Diagnostics Settings
- Diagnostics Callbacks
- Diagnostics Factory Reset
- Cloud Connector Subscriptions
- Cloud Connector Devices
- HPL Device Management
- Device Service Management
- Device Reports
- Hyper Precise Location Callbacks
- Device Credential Management
- Anomaly Settings
- Anomaly Triggers
- Anomaly Triggers V2
- Wireless Network Performance
- Managinge SIM Profiles
- Device SMS Messaging
- Device Actions
- Thing Space Qualityof Service API Actions
- Promotion Period Information
- Retrievethe Triggers
- Update Triggers
- SIM Actions
- Global Reporting
- Map Data Manager
- Retrieve Rate Plan List
- Create Price Plan Triggers
- Update Price Plan Triggers
- 5G BI Device Actions
- Sensor Insights Sensors
- Sensor Insights Devices
- Sensor Insights Gateways
- Sensor Insights Smart Alerts
- Sensor Insights Rules
- Sensor Insights Health Score
- Sensor Insights Notification Groups
- Sensor Insights Users
- Sensor Insights Device Profile
- Sensor Insights Smart Alert Metrics
- API
- Accounts
- SMS
- Exclusions
- Billing
- Targets
- PWN
- Device-Role-Controller