Getting Started with Verizon
Introduction
The Verizon Edge Discovery Service API can direct your application clients to connect to the optimal service endpoints for your Multi-access Edge Computing (MEC) applications for every session. The Edge Discovery Service takes into account the current location of a device, its IP anchor location, current network traffic and other factors to determine which 5G Edge platform a device should connect to.
Verizon Terms of Service: https://www.verizon.com/business/5g-edge-portal/legal.html
Install the Package
Install the gem from the command line:
gem install apimatic-verizon-sdk -v 1.0.0
Or add the gem to your Gemfile and run bundle:
gem 'apimatic-verizon-sdk', '1.0.0'
For additional gem details, see the RubyGems page for the apimatic-verizon-sdk gem.
IRB Console Usage
You can explore the SDK interactively using IRB in two ways
1. Use IRB with Installed Gem
Open your system terminal (Command Prompt, Git Bash or macOS Terminal) and type the following command to start the irb console.
irb
Now you can load the SDK in the IRB
require 'verizon'
include Verizon
2. Use IRB within SDK
Open your system terminal (Command Prompt, Git Bash or macOS Terminal) and navigate to the root folder of SDK.
cd path/to/verizon
Now you can start the preconfigured irb console by running the following command
ruby bin/console
Note: This automatically loads the SDK from lib/
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 |
| connection | Faraday::Connection |
The Faraday connection object passed by the SDK user for making requests |
| adapter | Faraday::Adapter |
The Faraday adapter object passed by the SDK user for performing http requests |
| timeout | Float |
The value to use for connection timeout. Default: 30 |
| max_retries | Integer |
The number of times to retry an endpoint call if it fails. Default: 0 |
| retry_interval | Float |
Pause in seconds between retries. Default: 1 |
| backoff_factor | Float |
The amount to multiply each successive retry's interval amount by in order to provide backoff. Default: 2 |
| retry_statuses | Array |
A list of HTTP statuses to retry. Default: [408, 413, 429, 500, 502, 503, 504, 521, 522, 524] |
| retry_methods | Array |
A list of HTTP methods to retry. Default: %i[get put] |
| http_callback | HttpCallBack |
The Http CallBack allows defining callables for pre and post API calls. |
| proxy_settings | ProxySettings |
Optional proxy configuration to route HTTP requests through a proxy server. |
| logging_configuration | LoggingConfiguration |
The SDK logging configuration for API calls |
| thingspace_oauth_credentials | ThingspaceOauthCredentials |
The credential object for OAuth 2 Client Credentials Grant |
| vz_m2m_token_credentials | VzM2MTokenCredentials |
The credential object for Custom Header Signature |
| session_token_credentials | SessionTokenCredentials |
The credential object for Custom Header Signature |
| thingspace_oauth_1_credentials | ThingspaceOauth1Credentials |
The credential object for OAuth 2 Client Credentials Grant |
The API client can be initialized as follows:
Code-Based Client Initialization
require 'verizon'
include Verizon
client = Client.new(
thingspace_oauth_credentials: ThingspaceOauthCredentials.new(
oauth_client_id: 'OAuthClientId',
oauth_client_secret: 'OAuthClientSecret',
oauth_scopes: [
OauthScopeThingspaceOauth::DISCOVERYREAD,
OauthScopeThingspaceOauth::SERVICEPROFILEREAD
]
),
vz_m2m_token_credentials: VzM2MTokenCredentials.new(
vz_m2m_token: 'VZ-M2M-Token'
),
session_token_credentials: SessionTokenCredentials.new(
session_token: 'SessionToken'
),
thingspace_oauth_1_credentials: ThingspaceOauth1Credentials.new(
oauth_client_id: 'OAuthClientId',
oauth_client_secret: 'OAuthClientSecret'
),
environment: Environment::PRODUCTION,
logging_configuration: LoggingConfiguration.new(
log_level: Logger::INFO,
request_logging_config: RequestLoggingConfiguration.new(
log_body: true
),
response_logging_config: ResponseLoggingConfiguration.new(
log_headers: true
)
)
)
Environment-Based Client Initialization
require 'verizon'
include Verizon
# Create client from environment
client = Client.from_env
See the Environment-Based Client Initialization section for details.
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
- 5G Edge Platforms
- Service Endpoints
- Service Profiles
- 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
- Performance Metrics
- 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
- Devicerolecontroller
- App Config Service
- 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
- Accounts
- SMS
- Exclusions
- Billing
- Targets
- PWN
- Registration
SDK Infrastructure
Configuration
- ProxySettings
- Environment-Based Client Initialization
- AbstractLogger
- LoggingConfiguration
- RequestLoggingConfiguration
- ResponseLoggingConfiguration