sms77-client 0.1.0

Official API client for Sms77.io SMS Gateway.
Documentation
use crate::client::Client;
use ureq::{Error};
use serde::{Deserialize};

#[derive(Deserialize)]
pub struct ValidateForVoiceResponse {
    pub code: Option<String>,
    pub error: Option<String>,
    pub formatted_output: Option<String>,
    pub id: Option<u64>,
    pub sender: Option<String>,
    pub success: bool,
    pub voice: Option<bool>,
}

#[derive(Default)]
pub struct ValidateForVoiceParams {
    pub callback: Option<String>,
    pub number: String,
}

pub struct ValidateForVoice {
    client: Client
}

impl ValidateForVoice {
    pub fn new(client: Client) -> Self {
        ValidateForVoice {
            client,
        }
    }

    pub fn post(&self, params: ValidateForVoiceParams) -> Result<ValidateForVoiceResponse, Error> {
        Ok(self.client.request("POST", "validate_for_voice")
            .send_form(&[
                ("callback", &*params.callback.unwrap_or_default()),
                ("number", &*params.number),
            ])?
            .into_json::<ValidateForVoiceResponse>()?
        )
    }
}