sdksio.VerizonApisSDK
1.0.0
See the version list below for details.
dotnet add package sdksio.VerizonApisSDK --version 1.0.0
NuGet\Install-Package sdksio.VerizonApisSDK -Version 1.0.0
<PackageReference Include="sdksio.VerizonApisSDK" Version="1.0.0" />
paket add sdksio.VerizonApisSDK --version 1.0.0
#r "nuget: sdksio.VerizonApisSDK, 1.0.0"
// Install sdksio.VerizonApisSDK as a Cake Addin #addin nuget:?package=sdksio.VerizonApisSDK&version=1.0.0 // Install sdksio.VerizonApisSDK as a Cake Tool #tool nuget:?package=sdksio.VerizonApisSDK&version=1.0.0
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
If you are building with .NET CLI tools then you can also use the following command:
dotnet add package sdksio.VerizonApisSDK --version 1.0.0
You can also view the package at: https://www.nuget.org/packages/sdksio.VerizonApisSDK/1.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 |
---|---|---|
VZM2mToken |
string |
M2M Session Token |
Environment |
Environment | The API environment. <br> Default: Environment.Production |
Timeout |
TimeSpan |
Http client timeout.<br>Default: TimeSpan.FromSeconds(100) |
OauthClientId |
string |
OAuth 2 Client ID |
OauthClientSecret |
string |
OAuth 2 Client Secret |
OauthToken |
Models.OauthToken |
Object for storing information about the OAuth token |
OauthScopes |
List<Models.OauthScopeEnum> |
The API client can be initialized as follows:
Verizon.Standard.VerizonClient client = new Verizon.Standard.VerizonClient.Builder()
.OauthScopes(new List<OauthScopeEnum>() { OauthScopeEnum.Discoveryread, OauthScopeEnum.Serviceprofileread })
.ClientCredentialsAuth("OAuthClientId", "OAuthClientSecret")
.VZM2MToken("VZ-M2M-Token")
.Environment(Verizon.Standard.Environment.Production)
.Build();
API calls return an ApiResponse
object that includes the following fields:
Field | Description |
---|---|
StatusCode |
Status code of the HTTP response |
Headers |
Headers of the HTTP response as a Hash |
Data |
The deserialized body of the HTTP response as a String |
Authorization
This API uses OAuth 2 Client Credentials Grant
.
Client Credentials Grant
Your application must obtain user authorization before it can execute an endpoint call in case this SDK chooses to use OAuth 2.0 Client Credentials Grant. This authorization includes the following steps
The FetchToken()
method will exchange the OAuth client credentials for an access token. The access token is an object containing information for authorizing client requests and refreshing the token itself.
You must have initialized the client with scopes for which you need permission to access.
var authManager = client.ClientCredentialsAuth;
try
{
OAuthToken token = authManager.FetchToken();
// re-instantiate the client with OAuth token
client = client.ToBuilder().OAuthToken(token).Build();
}
catch (ApiException e)
{
// TODO Handle exception
}
The client can now make authorized endpoint calls.
Scopes
Scopes enable your application to only request access to the resources it needs while enabling users to control the amount of access they grant to your application. Available scopes are defined in the OauthScopeEnum
enumeration.
Scope Name | Description |
---|---|
DISCOVERYREAD |
Grant read-only access to discovery data |
SERVICEPROFILEREAD |
Grant read-only access to service profile data |
SERVICEPROFILEWRITE |
Grant write access to service profile data |
SERVICEREGISTRYREAD |
Grant read-only access to Service registry data |
SERVICEREGISTRYWRITE |
Grant write access to Service registry data |
TS.MEC.FULLACCESS |
Full access for /serviceprofiles and /serviceendpoints. |
TS.MEC.LIMITACCESS |
Limited access. Will not allow use of /serviceprofiles and /serviceendpoints but will allow discovery. |
TS.APPLICATION.RO |
|
EDGEDISCOVERYREAD |
|
EDGESERVICEPROFILEREAD |
|
EDGESERVICEPROFILEWRITE |
|
EDGESERVICEREGISTRYREAD |
|
EDGESERVICEREGISTRYWRITE |
|
READ |
read access |
WRITE |
read/write access |
Storing an access token for reuse
It is recommended that you store the access token for reuse.
// store token
SaveTokenToDatabase(client.ClientCredentialsAuth.OAuthToken);
Creating a client from a stored token
To authorize a client from a stored access token, just set the access token in Configuration along with the other configuration parameters before creating the client:
// load token later
OAuthToken token = LoadTokenFromDatabase();
// Provide token along with other configuration properties while instantiating the client
VerizonClient client = client.ToBuilder().OAuthToken(token).Build();
Complete example
using Verizon.Standard;
using Verizon.Standard.Models;
using Verizon.Standard.Exceptions;
using Verizon.Standard.Authentication;
using System.Collections.Generic;
namespace OAuthTestApplication
{
class Program
{
static void Main(string[] args)
{
Verizon.Standard.VerizonClient client = new Verizon.Standard.VerizonClient.Builder()
.OauthScopes(new List<OauthScopeEnum>() { OauthScopeEnum.Discoveryread, OauthScopeEnum.Serviceprofileread })
.ClientCredentialsAuth("OAuthClientId", "OAuthClientSecret")
.VZM2MToken("VZ-M2M-Token")
.Environment(Verizon.Standard.Environment.Production)
.Build();
try
{
OAuthToken token = LoadTokenFromDatabase();
// Set the token if it is not set before
if (token == null)
{
var authManager = client.ClientCredentialsAuth;
token = authManager.FetchToken();
}
SaveTokenToDatabase(token);
client = client.ToBuilder().OAuthToken(token).Build();
}
catch (OAuthProviderException e)
{
// TODO Handle exception
}
}
//function for storing token to database
static void SaveTokenToDatabase(OAuthToken token)
{
//Save token here
}
//function for loading token from database
static OAuthToken LoadTokenFromDatabase()
{
OAuthToken token = null;
//token = Get token here
return token;
}
}
}
// the client is now authorized and you can use controllers to make endpoint calls
List of APIs
- 5G Edge Platforms
- Service Endpoints
- Service Profiles
- Device Management
- Device Groups
- Session Management
- Connectivity Callbacks
- Account Requests
- Service Plans
- Device Profile Management
- Device Monitoring
- 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
- Device Service Management
- Device Reports
- Hyper Precise Location Callbacks
- Anomaly Settings
- Anomaly Triggers
- MEC Sites
- Service Launch Profiles
- Service Launch Requests
- Service Instances
- Service Instance Operations
- Service Onboarding
- Service Metadata
- CSP Profiles
- Service Claims
- OAuth Authorization
- Accounts
- SMS
- Exclusions
- Billing
- Targets
- Repositories
Classes Documentation
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net5.0 was computed. net5.0-windows was computed. net6.0 was computed. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 was computed. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 was computed. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. |
.NET Core | netcoreapp2.0 was computed. netcoreapp2.1 was computed. netcoreapp2.2 was computed. netcoreapp3.0 was computed. netcoreapp3.1 was computed. |
.NET Standard | netstandard2.0 is compatible. netstandard2.1 was computed. |
.NET Framework | net461 was computed. net462 was computed. net463 was computed. net47 was computed. net471 was computed. net472 was computed. net48 was computed. net481 was computed. |
MonoAndroid | monoandroid was computed. |
MonoMac | monomac was computed. |
MonoTouch | monotouch was computed. |
Tizen | tizen40 was computed. tizen60 was computed. |
Xamarin.iOS | xamarinios was computed. |
Xamarin.Mac | xamarinmac was computed. |
Xamarin.TVOS | xamarintvos was computed. |
Xamarin.WatchOS | xamarinwatchos was computed. |
-
.NETStandard 2.0
- APIMatic.Core (>= 0.2.6)
- Microsoft.CSharp (>= 4.7.0)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.