Public/Curanet/Get-CuranetCustomerSubscriptions.ps1
function Get-CuranetCustomerSubscriptions() { Param( [Parameter()] [string]$CustomerId, [Parameter(Mandatory)] [ValidateSet("3370", "3850")] [string]$Account ) if( ($null -eq (Get-Variable -Name "$($Account)AccessTokenExpire" -Scope Global -ValueOnly -ErrorAction SilentlyContinue)) -or ((Get-Date) -gt (Get-Variable -Name "$($Account)AccessTokenExpire" -Scope Global -ValueOnly -ErrorAction SilentlyContinue)) ) { Get-CuranetAccessToken -Account $Account } $AccessToken = (Get-Variable -Name "$($Account)AccessToken" -Scope Global -ValueOnly -ErrorAction SilentlyContinue).access_token $AuthorizationHeader = @{ Authorization="Bearer $AccessToken" } if($CustomerId) { try { $Subscriptions = (Invoke-WebRequest -Uri "https://api.curanet.dk/customers/v1/Customers/$($CustomerId)/Subscriptions" -Headers $AuthorizationHeader -UseBasicParsing -Method GET).Content | ConvertFrom-Json } catch { throw "Failed to retreive subscriptions from Curanet $($Account) API: $_" } } else { try { $Subscriptions = (Invoke-WebRequest -Uri "https://api.curanet.dk/customers/v1/Customers/Subscriptions" -Headers $AuthorizationHeader -UseBasicParsing -Method GET).Content | ConvertFrom-Json } catch { throw "Failed to retreive subscriptions from Curanet $($Account) API: $_" } } return $Subscriptions } |