Enumeration
This section shows all the enumerations used in the API.
Channel
Channel defines the supported types of channel.
#[derive(serde::Deserialize)]
#[serde(rename_all = "lowercase")]
pub enum Channel {
Whatsapp,
Telegram,
Sms,
Email,
}
impl From<Channel> for String {
fn from(val: Channel) -> String {
match &val {
Channel::Whatsapp => "whatsapp",
Channel::Telegram => "telegram",
Channel::Sms => "sms",
Channel::Email => "email",
}
.into()
}
}
impl AsRef<str> for Channel {
fn as_ref(&self) -> &str {
match &self {
Channel::Whatsapp => "whatsapp",
Channel::Telegram => "telegram",
Channel::Sms => "sms",
Channel::Email => "email",
}
}
}
Provider
Channel defines the supported types of channel's providers.
type Provider string
const (
UltraMSG Provider = "ultramsg"
CloudAPI Provider = "cloudapi"
TelegramBot Provider = "telegram"
TelegramGateway Provider = "telegram_gateway"
SmsC Provider = "sms_c"
SmsAero Provider = "sms_aero"
Smtp Provider = "smtp"
Waapi Provider = "waapi"
Postal Provider = "postal"
)
#[derive(serde::Deserialize)]
#[serde(rename_all = "lowercase")]
pub enum Provider {
UltraMSG,
CloudAPI,
Telegram,
TelegramGateway,
SmsC,
SmsAero,
Smtp,
Waapi,
Postal,
}
impl From<Provider> for String {
fn from(val: Provider) -> String {
match &val {
Provider::UltraMSG => "ultramsg",
Provider::CloudAPI => "cloudapi",
Provider::Telegram => "telegram",
Provider::TelegramGateway => "telegram_gateway",
Provider::SmsC => "sms_c",
Provider::SmsAero => "sms_aero",
Provider::Smtp => "smtp",
Provider::Waapi => "waapi",
Provider::Postal => "postal",
}
.into()
}
}
impl AsRef<str> for Provider {
fn as_ref(&self) -> &str {
match &self {
Provider::UltraMSG => "ultramsg",
Provider::CloudAPI => "cloudapi",
Provider::Telegram => "telegram",
Provider::TelegramGateway => "telegram_gateway",
Provider::SmsC => "sms_c",
Provider::SmsAero => "sms_aero",
Provider::Smtp => "smtp",
Provider::Waapi => "waapi",
Provider::Postal => "postal",
}
}
}
MessageStatus
MessageStatus defines the supported message statuses.
#[derive(serde::Deserialize)]
#[serde(rename_all = "lowercase")]
pub enum MessageStatus {
Success,
Error,
Pending,
}
impl From<MessageStatus> for String {
fn from(val: MessageStatus) -> String {
match &val {
MessageStatus::Success => "success",
MessageStatus::Error => "error",
MessageStatus::Pending => "pending",
}
.into()
}
}
impl AsRef<str> for MessageStatus {
fn as_ref(&self) -> &str {
match &self {
MessageStatus::Success => "success",
MessageStatus::Error => "error",
MessageStatus::Pending => "pending",
}
}
}
ChallengeProvider
ChallengeProvider defines the supported types of challenge providers.
#[derive(serde::Deserialize)]
#[serde(rename_all = "lowercase")]
pub enum ChallengeProvider {
CloudFlare,
Google,
GoogleV3,
Yandex,
}
impl From<ChallengeProvider> for String {
fn from(val: ChallengeProvider) -> String {
match &val {
ChallengeProvider::CloudFlare => "cloudflare",
ChallengeProvider::Google => "google"
ChallengeProvider::GoogleV3 => "google_v3",
ChallengeProvider::Yandex => "yandex",
}
.into()
}
}
impl AsRef<str> for ChallengeProvider {
fn as_ref(&self) -> &str {
match &self {
ChallengeProvider::CloudFlare => "cloudflare",
ChallengeProvider::Google => "google",
ChallengeProvider::GoogleV3 => "google_v3",
ChallengeProvider::Yandex => "yandex",
}
}
}
ErrorSysName
ErrorSysName defines the supported types for kod.mobi errors.
export enum ErrorEnum {
TECHNICAL_WORK = 'TECHNICAL_WORK',
ERROR_PROJECT_HAS_NO_CHANNELS = 'ERROR_PROJECT_HAS_NO_CHANNELS',
ERROR_PROJECT_HAS_NO_CHANNEL = 'ERROR_PROJECT_HAS_NO_CHANNEL',
ERROR_USER_NOT_AUTHORIZE_ON_CHANNEL = 'ERROR_USER_NOT_AUTHORIZE_ON_CHANNEL',
ERROR_SESSION_EXPIRED = 'ERROR_SESSION_EXPIRED',
ERROR_MESSAGE_WRONG_CODE = 'ERROR_MESSAGE_WRONG_CODE',
ERROR_INVALID_VERIFY_TOKEN = 'ERROR_INVALID_VERIFY_TOKEN',
ERROR_CHANNEL_NOT_ALLOWED_COUNTRY = 'ERROR_CHANNEL_NOT_ALLOWED_COUNTRY',
ERROR_MESSAGE_ATTEMPT = 'ERROR_MESSAGE_ATTEMPT',
ERROR_PHONE_BLOCKED = 'ERROR_PHONE_BLOCKED',
ERROR_BLOCKED = 'ERROR_BLOCKED',
ERROR_CHALLENGE = 'ERROR_CHALLENGE',
ERROR_BAD_REQUEST = 'ERROR_BAD_REQUEST',
ERROR_WRONG_BALANCE = 'ERROR_WRONG_BALANCE',
ERROR_ACCESS_DENIED = 'ERROR_ACCESS_DENIED',
ERROR_REQUEST_LIMIT_REACHED = 'ERROR_REQUEST_LIMIT_REACHED',
ERROR_MESSAGE_NOT_FOUND = 'ERROR_MESSAGE_NOT_FOUND',
}
type ErrorEnum string
const (
TechnicalWork ErrorEnum = "TECHNICAL_WORK"
ErrorProjectHasNoChannels ErrorEnum = "ERROR_PROJECT_HAS_NO_CHANNELS"
ErrorProjectHasNoChannel ErrorEnum = "ERROR_PROJECT_HAS_NO_CHANNEL"
ErrorUserNotAuthorizeOnChannel ErrorEnum = "ERROR_USER_NOT_AUTHORIZE_ON_CHANNEL"
ErrorSessionExpired ErrorEnum = "ERROR_SESSION_EXPIRED"
ErrorMessageWrongCode ErrorEnum = "ERROR_MESSAGE_WRONG_CODE"
ErrorInvalidVerifyToken ErrorEnum = "ERROR_INVALID_VERIFY_TOKEN"
ErrorChannelNotAllowedCountry ErrorEnum = "ERROR_CHANNEL_NOT_ALLOWED_COUNTRY"
ErrorMessageAttempt ErrorEnum = "ERROR_MESSAGE_ATTEMPT"
ErrorPhoneBlocked ErrorEnum = "ERROR_PHONE_BLOCKED"
ErrorBlocked ErrorEnum = "ERROR_BLOCKED"
ErrorChallenge ErrorEnum = "ERROR_CHALLENGE"
ErrorBadRequest ErrorEnum = "ERROR_BAD_REQUEST"
ErrorWrongBalance ErrorEnum = "ERROR_WRONG_BALANCE"
ErrorAccessDenied ErrorEnum = "ERROR_ACCESS_DENIED"
ErrorRequestLimitReached ErrorEnum = "ERROR_REQUEST_LIMIT_REACHED"
ErrorMessageNotFound ErrorEnum = "ERROR_MESSAGE_NOT_FOUND"
)
#[derive(serde::Deserialize)]
#[serde(rename_all = "snake_case")]
pub enum ErrorEnum {
TechnicalWork,
ErrorProjectHasNoChannels,
ErrorProjectHasNoChannel,
ErrorUserNotAuthorizeOnChannel,
ErrorSessionExpired,
ErrorMessageWrongCode,
ErrorInvalidVerifyToken,
ErrorChannelNotAllowedCountry,
ErrorMessageAttempt,
ErrorPhoneBlocked,
ErrorBlocked,
ErrorChallenge,
ErrorBadRequest,
ErrorWrongBalance,
ErrorAccessDenied,
ErrorRequestLimitReached,
ErrorMessageNotFound,
}
impl From<ErrorEnum> for String {
fn from(val: ErrorEnum) -> String {
match val {
ErrorEnum::TechnicalWork => "TECHNICAL_WORK",
ErrorEnum::ErrorProjectHasNoChannels => "ERROR_PROJECT_HAS_NO_CHANNELS",
ErrorEnum::ErrorProjectHasNoChannel => "ERROR_PROJECT_HAS_NO_CHANNEL",
ErrorEnum::ErrorUserNotAuthorizeOnChannel => "ERROR_USER_NOT_AUTHORIZE_ON_CHANNEL",
ErrorEnum::ErrorSessionExpired => "ERROR_SESSION_EXPIRED",
ErrorEnum::ErrorMessageWrongCode => "ERROR_MESSAGE_WRONG_CODE",
ErrorEnum::ErrorInvalidVerifyToken => "ERROR_INVALID_VERIFY_TOKEN",
ErrorEnum::ErrorChannelNotAllowedCountry => "ERROR_CHANNEL_NOT_ALLOWED_COUNTRY",
ErrorEnum::ErrorMessageAttempt => "ERROR_MESSAGE_ATTEMPT",
ErrorEnum::ErrorPhoneBlocked => "ERROR_PHONE_BLOCKED",
ErrorEnum::ErrorBlocked => "ERROR_BLOCKED",
ErrorEnum::ErrorChallenge => "ERROR_CHALLENGE",
ErrorEnum::ErrorBadRequest => "ERROR_BAD_REQUEST",
ErrorEnum::ErrorWrongBalance => "ERROR_WRONG_BALANCE",
ErrorEnum::ErrorAccessDenied => "ERROR_ACCESS_DENIED",
ErrorEnum::ErrorRequestLimitReached => "ERROR_REQUEST_LIMIT_REACHED",
ErrorEnum::ErrorMessageNotFound => "ERROR_MESSAGE_NOT_FOUND",
}
.into()
}
}
impl AsRef<str> for ErrorEnum {
fn as_ref(&self) -> &str {
match self {
ErrorEnum::TechnicalWork => "TECHNICAL_WORK",
ErrorEnum::ErrorProjectHasNoChannels => "ERROR_PROJECT_HAS_NO_CHANNELS",
ErrorEnum::ErrorProjectHasNoChannel => "ERROR_PROJECT_HAS_NO_CHANNEL",
ErrorEnum::ErrorUserNotAuthorizeOnChannel => "ERROR_USER_NOT_AUTHORIZE_ON_CHANNEL",
ErrorEnum::ErrorSessionExpired => "ERROR_SESSION_EXPIRED",
ErrorEnum::ErrorMessageWrongCode => "ERROR_MESSAGE_WRONG_CODE",
ErrorEnum::ErrorInvalidVerifyToken => "ERROR_INVALID_VERIFY_TOKEN",
ErrorEnum::ErrorChannelNotAllowedCountry => "ERROR_CHANNEL_NOT_ALLOWED_COUNTRY",
ErrorEnum::ErrorMessageAttempt => "ERROR_MESSAGE_ATTEMPT",
ErrorEnum::ErrorPhoneBlocked => "ERROR_PHONE_BLOCKED",
ErrorEnum::ErrorBlocked => "ERROR_BLOCKED",
ErrorEnum::ErrorChallenge => "ERROR_CHALLENGE",
ErrorEnum::ErrorBadRequest => "ERROR_BAD_REQUEST",
ErrorEnum::ErrorWrongBalance => "ERROR_WRONG_BALANCE",
ErrorEnum::ErrorAccessDenied => "ERROR_ACCESS_DENIED",
ErrorEnum::ErrorRequestLimitReached => "ERROR_REQUEST_LIMIT_REACHED",
ErrorEnum::ErrorMessageNotFound => "ERROR_MESSAGE_NOT_FOUND",
}
}
}