For a more in depth and other programming language samples, download the Sample Client Install
C# | ![]() |
---|---|
using FaxWSConsoleApplication.FaxWSReference; using System; using System.Net; namespace FaxWSConsoleApplication { public static class GetFaxBroadcastStatusClass { const string oauthUrl = "https://login.concord.net/v1/connect/token"; const string faxWSUrl = "https://ws.concordfax.com/fax/v5"; public static void GetFaxBroadcastStatus() { string username = "mbxXXXXXXXX"; // Fax Broadcast Account Id string password = "XXXX"; WSError wsError = null; /////////////////////////////////////////////////////////// ///OAuth 2.0 Authentication Start, ///Comment this block out if you are using username and password authentication // Get an access token from Concord Identity Server string grantType = "password"; string scope = "FaxWS"; string faxWSClientId = "A9F528F9-0000-4B70-0000-078C23030424-ConcordApiFaxWS"; string faxWSClientSecret = ""; AccessTokenRequest accessTokenRequest = null; AccessTokenResponse accessTokenResponse = null; TokenManager tokenManager = new TokenManager(oauthUrl); accessTokenRequest = new AccessTokenRequest( clientId: faxWSClientId, clientSecret: faxWSClientSecret, username: username, password: password, grantType: grantType, scope: scope, redirectUri: null, code: null, refreshToken: null, state: null); ///OAuth 2.0 Authentication End /////////////////////////////////////////////////////////// using(FaxWSAuthWrapper ws = new FaxWSAuthWrapper()) { ws.Url = faxWSUrl; FaxBroadcastStatusRequest request = new FaxBroadcastStatusRequest(); request.JobId = "brxxxxxxx"; request.StartRecipientId = -1; // Return all recipients request.EndRecipientId = -1; request.RecipientStatus = -1; RecipientStatus[] RecipientStatusList = null; try { // Get an access token from Cache OR request one from the Identity Server accessTokenResponse = tokenManager.GetAccessToken(accessTokenRequest); if(accessTokenResponse == null) { Console.WriteLine("Failed to get an AccessToken, returned null"); return; } // Check to see if we failed to get an Access token via a Refresh token that has expired or been revoked, if so we need to re-authenticate if(accessTokenResponse.HttpStatusCode == HttpStatusCode.BadRequest && accessTokenResponse.Error == "invalid_grant") { Console.WriteLine("Refresh token expired, attempting to get a new Access Token"); accessTokenResponse = tokenManager.GetAccessToken(accessTokenRequest, ignoreCache: true); } if(accessTokenResponse.HttpStatusCode != HttpStatusCode.OK) { Console.WriteLine("AccessToken not valid, Error Code: {0}, Error Description: {1}", accessTokenResponse.Error, accessTokenResponse.ErrorDescription); return; } // User Name and Password authentication //if (ws.GetFaxBroadcastStatus(username, password, request, out RecipientStatusList, out wsError)) // OAuth 2.0 Authentication requires that you pass in an access token as part of the Authorization: header // (No Password required) ws.AccessToken = accessTokenResponse.AccessToken; if(!ws.GetFaxBroadcastStatus(UserID: username, strPIN: "", request: request, RecipientStatusList: out RecipientStatusList, WSError: out wsError)) { Console.WriteLine("GetFaxBroadcastStatus Failed"); Console.WriteLine("Error Code: {0} Error Description: {1}", wsError.ErrorCode, wsError.ErrorString); // Check to see if response indicates access token has expired, if so attempt to Refresh or Get New OAuth access token and try method call again if(wsError.ErrorCode == -5059) { Console.WriteLine("AccessToken is not valid"); // Attempt to get a new access token or use a refresh token, if we fail we should stop accessTokenResponse = tokenManager.GetAccessToken(accessTokenRequest); if(accessTokenResponse == null) { Console.WriteLine("Failed to get an AccessToken, returned null"); return; } if(accessTokenResponse.HttpStatusCode != HttpStatusCode.OK) { Console.WriteLine("AccessToken not valid, Error Code: {0}, Error Description: {1}", accessTokenResponse.Error, accessTokenResponse.ErrorDescription); return; } } return; } Console.WriteLine("GetFaxBroadcastStatus succeeded"); Console.WriteLine("Looping over recipient status list"); foreach(RecipientStatus recipientStatus in RecipientStatusList) { Console.WriteLine("Recipient Information"); Console.WriteLine("Delivery Attempts: " + recipientStatus.DeliveryAttempts); Console.WriteLine("Delivery Duration: " + recipientStatus.DeliveryDuration); Console.WriteLine("Delivery Speed: " + recipientStatus.DeliverySpeed); Console.WriteLine("End Date: " + recipientStatus.EndDate); Console.WriteLine("Fax Job Id: " + recipientStatus.FaxJobId); Console.WriteLine("Fax Number: " + recipientStatus.FaxNumber); Console.WriteLine("Page Count: " + recipientStatus.PageCount); Console.WriteLine("Receive CSID: " + recipientStatus.ReceiveCSID); Console.WriteLine("Recipient Company Name: " + recipientStatus.RecipientCompanyName); Console.WriteLine("Recipient Id: " + recipientStatus.RecipientId); Console.WriteLine("Recipient Name: " + recipientStatus.RecipientName); Console.WriteLine("Recipient Status Description: " + recipientStatus.RecipientStatusDescription); Console.WriteLine("Recipient Status Id: " + recipientStatus.RecipientStatusId); Console.WriteLine("Start Date: " + recipientStatus.StartDate); } } catch(Exception ex) { Console.WriteLine("Error while calling GetFaxBroadcastStatus : " + ex.Message); } } } } } |
Visual Basic | ![]() |
---|---|
Imports System.Net Imports FaxWSVBConsoleApplication.FaxWSReference Namespace FaxWSVBConsoleApplication Friend Class GetFaxBroadcastStatusClass Public Shared Sub GetFaxBroadcastStatus() Dim username As String = "mbxXXXXXXXX" ' Fax Broadcast Account Id Dim password As String = "XXXX" Dim wsError As WSError = Nothing '''''''''''''''''''''''''''''''''''''''''''''''''''''''''' '' OAuth 2.0 Authentication Start, '' Comment this block out if you are using username and password authentication ' Get an access token from Concord Identity Server Dim oauthUrl As String = "https://login.concord.net/v1/connect/token" Dim grantType As String = "password" Dim scope As String = "FaxWS" Dim faxWSClientId As String = "A9F528F9-0000-4B70-0000-078C23030424-ConcordApiFaxWS" Dim faxWSClientSecret As String = "" Dim accessTokenRequest As AccessTokenRequest = Nothing Dim accessTokenResponse As AccessTokenResponse = Nothing Dim tokenManager As TokenManager = New TokenManager(oauthUrl) accessTokenRequest = New AccessTokenRequest(clientId:=faxWSClientId, clientSecret:=faxWSClientSecret, username:=username, password:=password, grantType:=grantType, scope:=scope, redirectUri:=Nothing, code:=Nothing, refreshToken:=Nothing, state:=Nothing) '' OAuth 2.0 Authentication End '''''''''''''''''''''''''''''''''''''''''''''''''''''''''' Using ws As FaxWSAuthWrapper = New FaxWSAuthWrapper() Dim request As FaxBroadcastStatusRequest = New FaxBroadcastStatusRequest() request.JobId = "brxxxxxxx" request.StartRecipientId = -1 ' Return all recipients request.EndRecipientId = -1 request.RecipientStatus = -1 Dim RecipientStatusList As RecipientStatus() = Nothing Try ' Get an access token from Cache OR request one from the Identity Server accessTokenResponse = tokenManager.GetAccessToken(accessTokenRequest) If accessTokenResponse Is Nothing Then Console.WriteLine("Failed to get an AccessToken, returned null") Return End If ' Check to see if we failed to get an Access token via a Refresh token that has expired or been revoked, if so we need to re-authenticate If accessTokenResponse.HttpStatusCode = HttpStatusCode.BadRequest AndAlso Equals(accessTokenResponse.Error, "invalid_grant") Then Console.WriteLine("Refresh token expired, attempting to get a new Access Token") accessTokenResponse = tokenManager.GetAccessToken(accessTokenRequest, ignoreCache:=True) End If If accessTokenResponse.HttpStatusCode <> HttpStatusCode.OK Then Console.WriteLine("AccessToken not valid, Error Code: {0}, Error Description: {1}", accessTokenResponse.Error, accessTokenResponse.ErrorDescription) Return End If ' User Name and Password authentication 'if (ws.GetFaxBroadcastStatus(username, password, request, out RecipientStatusList, out wsError)) ' OAuth 2.0 Authentication requires that you pass in an access token as part of the Authorization: header ' (No Password required) ws.AccessToken = accessTokenResponse.AccessToken If Not ws.GetFaxBroadcastStatus(UserID:=username, strPIN:="", request:=request, RecipientStatusList:=RecipientStatusList, WSError:=wsError) Then Console.WriteLine("GetFaxBroadcastStatus Failed") Console.WriteLine("Error Code: {0} Error Description: {1}", wsError.ErrorCode, wsError.ErrorString) ' Check to see if response indicates access token has expired, if so attempt to Refresh or Get New OAuth access token and try method call again If wsError.ErrorCode = -5059 Then Console.WriteLine("AccessToken is not valid") ' Attempt to get a new access token or use a refresh token, if we fail we should stop accessTokenResponse = tokenManager.GetAccessToken(accessTokenRequest) If accessTokenResponse Is Nothing Then Console.WriteLine("Failed to get an AccessToken, returned null") Return End If If accessTokenResponse.HttpStatusCode <> HttpStatusCode.OK Then Console.WriteLine("AccessToken not valid, Error Code: {0}, Error Description: {1}", accessTokenResponse.Error, accessTokenResponse.ErrorDescription) Return End If End If Return End If Console.WriteLine("GetFaxBroadcastStatus succeeded") Console.WriteLine("Looping over recipient status list") For Each recipientStatus As RecipientStatus In RecipientStatusList Console.WriteLine("Recipient Information") Console.WriteLine("Delivery Attempts: " & recipientStatus.DeliveryAttempts) Console.WriteLine("Delivery Duration: " & recipientStatus.DeliveryDuration) Console.WriteLine("Delivery Speed: " & recipientStatus.DeliverySpeed) Console.WriteLine("End Date: " & recipientStatus.EndDate) Console.WriteLine("Fax Job Id: " & recipientStatus.FaxJobId) Console.WriteLine("Fax Number: " & recipientStatus.FaxNumber) Console.WriteLine("Page Count: " & recipientStatus.PageCount) Console.WriteLine("Receive CSID: " & recipientStatus.ReceiveCSID) Console.WriteLine("Recipient Company Name: " & recipientStatus.RecipientCompanyName) Console.WriteLine("Recipient Id: " & recipientStatus.RecipientId) Console.WriteLine("Recipient Name: " & recipientStatus.RecipientName) Console.WriteLine("Recipient Status Description: " & recipientStatus.RecipientStatusDescription) Console.WriteLine("Recipient Status Id: " & recipientStatus.RecipientStatusId) Console.WriteLine("Start Date: " & recipientStatus.StartDate) Next Catch ex As Exception Console.WriteLine("Error while calling GetFaxBroadcastStatus : " & ex.Message) Return End Try End Using End Sub End Class End Namespace |