one-msg-sdk 2.0.1

Official Rust SDK for the 1msg WhatsApp Business API
/*
 * 1MSG WhatsApp Business API (Public)
 *
 * Public client API for sending messages, managing groups, flows, and templates.  This is the API exposed to end customers via platform.1msg.io  **Authentication:** All requests require `token` query parameter with JWT or API key.  **Documentation:** https://help.1msg.io/platform-1msg/getting-start/quick-start **API Docs:** https://docs.1msg.io/ 
 *
 * The version of the OpenAPI document: 1.0.0
 * Contact: support@1msg.io
 * Generated by: https://openapi-generator.tech
 */

use crate::models;
use serde::{Deserialize, Serialize};

#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
pub struct SendPaymentRequestRequest {
    #[serde(rename = "phone")]
    pub phone: i32,
    #[serde(rename = "region")]
    pub region: Region,
    #[serde(rename = "body", skip_serializing_if = "Option::is_none")]
    pub body: Option<String>,
    #[serde(rename = "interactive", skip_serializing_if = "Option::is_none")]
    pub interactive: Option<std::collections::HashMap<String, serde_json::Value>>,
    #[serde(rename = "action", skip_serializing_if = "Option::is_none")]
    pub action: Option<std::collections::HashMap<String, serde_json::Value>>,
}

impl SendPaymentRequestRequest {
    pub fn new(phone: i32, region: Region) -> SendPaymentRequestRequest {
        SendPaymentRequestRequest {
            phone,
            region,
            body: None,
            interactive: None,
            action: None,
        }
    }
}
/// 
#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
pub enum Region {
    #[serde(rename = "IN")]
    In,
    #[serde(rename = "SG")]
    Sg,
    #[serde(rename = "BR")]
    Br,
}

impl Default for Region {
    fn default() -> Region {
        Self::In
    }
}