Send-SMS.psm1
<#
.Synopsis Send Sms via Skebby Account .Description Send Sms via Skebby Account. This function supports multiple recipient and lets you send sms at scheduled date .Parameter Recipient cellular number to recipient .Parameter Message Body of message to sent .Parameter Sender The sender's name to be displayed on the receiving device. .Example $result = (Send-SMS -cred $credential -recipient $recipient -message $message -sender $sender -url $url) $result.result - ritorna lo stato del'invio $result.remaining_credits - numero di sms disponibili #> function loginSkebby { param ( [Object] $cred = @{}, [string] $urlLogin = $null ) #$uriLogin = [System.Uri]$urlLogin try { $loginResult = Invoke-WebRequest -Uri $urlLogin -Body $cred -Method 'GET' $session = @{ userkey = $loginResult.Content.Split(";")[0] sesikey = $loginResult.Content.Split(";")[1] } if ( $loginResult.StatusCode -eq "200") { Return $session } else { Return $false } } catch { Return $false } } function Send-SMS { param( [object] $cred = @{}, [array] $recipient = @(), [string] $message = $null, [string] $sender = $null, [string] $messagetype = "TI", [string] $url = "https://api.skebby.it/API/v1.0/REST/" ) $urlLogin = $url + "login" $urlSMS = $url + "sms" $uriLogin = [System.Uri]$urlLogin $uriSend = [System.Uri]$urlSMS $s = loginSkebby -cred $cred -urlLogin $uriLogin if ( $s -eq $false ) { Return "Qualcosa non ha funzionato" } else { $header = @{ user_key = $s.userkey Session_key = $s.sesikey } $arrayPOST = @{ message_type = $messagetype message = $message recipient = $recipient sender = $sender returnCredits = $true returnRemaining = $true encoding = "ucs2" } $jsonPOST = $arrayPOST | ConvertTo-JSON try { $result = Invoke-RestMethod -Uri $uriSend -Method POST -Headers $header -Body $jsonPOST -ContentType "application/json" Return $result } catch { Write-Host "Non e' stato possibile inviare l'SMS !" } } } Export-ModuleMember -Function Send-SMS |