Safe Haskell | None |
---|---|
Language | Haskell2010 |
SMSAero.API
- data SmsAeroJson
- data RequiredQueryParam sym a
- newtype Signature = Signature {
- getSignature :: Text
- newtype MessageId = MessageId Integer
- data SMSAeroAuth = SMSAeroAuth {
- authUser :: Text
- authPassword :: Text
- newtype Phone = Phone {}
- newtype SMSAeroDate = SMSAeroDate {}
- data RequireAuth
- data AnswerJson
- type SmsAeroGet a = Get `[SmsAeroJson]` (SmsAeroResponse a)
- type SMSAeroAPI = RequireAuth :> (AnswerJson :> (("send" :> SendApi) :<|> (("status" :> StatusApi) :<|> (("balance" :> SmsAeroGet BalanceResponse) :<|> (("senders" :> SmsAeroGet SendersResponse) :<|> ("sign" :> SmsAeroGet SignResponse))))))
- type SendApi = RequiredQueryParam "to" Phone :> (RequiredQueryParam "text" Text :> (RequiredQueryParam "from" Signature :> (QueryParam "date" SMSAeroDate :> SmsAeroGet SendResponse)))
- type StatusApi = RequiredQueryParam "id" MessageId :> SmsAeroGet StatusResponse
- data SmsAeroResponse a
- = ResponseOK a
- | ResponseReject Text
- data SendResponse
- data StatusResponse
- newtype BalanceResponse = BalanceResponse Double
- newtype SendersResponse = SendersResponse [Signature]
- data SignResponse
Documentation
data SmsAeroJson Source
Content type for SMSAero JSON answer (it has JSON body but "text/plain" Content-Type).
Instances
Accept * SmsAeroJson Source | |
FromJSON a => MimeUnrender * SmsAeroJson a Source |
data RequiredQueryParam sym a Source
Like QueryParam
, but always required.
Instances
(HasClient sub, KnownSymbol sym, ToText a) => HasClient ((:>) * * (RequiredQueryParam sym a) sub) Source | |
type Client ((:>) * * (RequiredQueryParam sym a) sub) = a -> Client sub Source |
SMSAero sender's signature. This is used for the "from" field.
Constructors
Signature | |
Fields
|
SMSAero sent message id.
data SMSAeroAuth Source
SMSAero authentication data.
Constructors
SMSAeroAuth | |
Fields
|
Phone number.
data RequireAuth Source
SMSAero authentication credentials.
Instances
HasClient sub => HasClient ((:>) * * RequireAuth sub) Source | |
type Client ((:>) * * RequireAuth sub) = SMSAeroAuth -> Client sub Source |
data AnswerJson Source
Implicit parameter that tells SMSAero to respond with JSON.
Instances
HasClient sub => HasClient ((:>) * * AnswerJson sub) Source | |
type Client ((:>) * * AnswerJson sub) = Client sub Source |
type SmsAeroGet a = Get `[SmsAeroJson]` (SmsAeroResponse a) Source
Regular SMSAero GET API.
type SMSAeroAPI = RequireAuth :> (AnswerJson :> (("send" :> SendApi) :<|> (("status" :> StatusApi) :<|> (("balance" :> SmsAeroGet BalanceResponse) :<|> (("senders" :> SmsAeroGet SendersResponse) :<|> ("sign" :> SmsAeroGet SignResponse)))))) Source
SMSAero API.
type SendApi = RequiredQueryParam "to" Phone :> (RequiredQueryParam "text" Text :> (RequiredQueryParam "from" Signature :> (QueryParam "date" SMSAeroDate :> SmsAeroGet SendResponse))) Source
SMSAero API to send a message.
type StatusApi = RequiredQueryParam "id" MessageId :> SmsAeroGet StatusResponse Source
SMSAero API to check message status.
data SmsAeroResponse a Source
Every SMSAero response is either rejected or provides some info.
Constructors
ResponseOK a | Some useful payload. |
ResponseReject Text | Rejection reason. |
Instances
Show a => Show (SmsAeroResponse a) Source | |
FromJSON a => FromJSON (SmsAeroResponse a) Source |
data SendResponse Source
SMSAero response to a send request.
Constructors
SendAccepted MessageId | Message accepted. |
SendNoCredits | No credits to send a message. |
Instances
data StatusResponse Source
SMSAero response to a status request.
Constructors
StatusDeliverySuccess | Message is successfully delivered. |
StatusDeliveryFailure | Message delivery has failed. |
StatusSmscSubmit | Message submitted to SMSC. |
StatusSmscReject | Message rejected by SMSC. |
StatusQueue | Message queued. |
StatusWaitStatus | Wait for message status. |
Instances
newtype BalanceResponse Source
SMSAero response to a balance request. This is a number of available messages to send.
Constructors
BalanceResponse Double |
Instances
newtype SendersResponse Source
SMSAero response to a senders request. This is just a list of available signatures.
Constructors
SendersResponse [Signature] |
Instances
data SignResponse Source
SMSAero response to a sign request.
Constructors
SignApproved | Signature is approved. |
SignRejected | Signature is rejected. |
SignPending | Signature is pending. |
Instances