smsaero 0.3 → 0.4
raw patch · 4 files changed
+21/−14 lines, 4 filesPVP ok
version bump matches the API change (PVP)
API changes (from Hackage documentation)
- SMSAero.API: authPassword :: SMSAeroAuth -> Text
- SMSAero.API: authUser :: SMSAeroAuth -> Text
- SMSAero.API: data StatusResponse
- SMSAero.API: getPhone :: Phone -> Integer
- SMSAero.API: getSMSAeroDate :: SMSAeroDate -> UTCTime
- SMSAero.API: getSignature :: Signature -> Text
- SMSAero.API: instance (HasClient sub, KnownSymbol sym, ToText a) => HasClient (RequiredQueryParam sym a :> sub)
- SMSAero.API: instance (KnownSymbol sym, ToParam (QueryParam sym a), HasDocs sub) => HasDocs (RequiredQueryParam sym a :> sub)
- SMSAero.API: instance Accept SmsAeroJson
- SMSAero.API: instance Bounded SignResponse
- SMSAero.API: instance Bounded StatusResponse
- SMSAero.API: instance Constructor C1_0SendResponse
- SMSAero.API: instance Constructor C1_0SignResponse
- SMSAero.API: instance Constructor C1_0SmsAeroResponse
- SMSAero.API: instance Constructor C1_0StatusResponse
- SMSAero.API: instance Constructor C1_1SendResponse
- SMSAero.API: instance Constructor C1_1SignResponse
- SMSAero.API: instance Constructor C1_1SmsAeroResponse
- SMSAero.API: instance Constructor C1_1StatusResponse
- SMSAero.API: instance Constructor C1_2SignResponse
- SMSAero.API: instance Constructor C1_2StatusResponse
- SMSAero.API: instance Constructor C1_3StatusResponse
- SMSAero.API: instance Constructor C1_4StatusResponse
- SMSAero.API: instance Constructor C1_5StatusResponse
- SMSAero.API: instance Datatype D1SendResponse
- SMSAero.API: instance Datatype D1SignResponse
- SMSAero.API: instance Datatype D1SmsAeroResponse
- SMSAero.API: instance Datatype D1StatusResponse
- SMSAero.API: instance Enum SignResponse
- SMSAero.API: instance Enum StatusResponse
- SMSAero.API: instance FromJSON BalanceResponse
- SMSAero.API: instance FromJSON MessageBody
- SMSAero.API: instance FromJSON MessageId
- SMSAero.API: instance FromJSON SMSAeroAuth
- SMSAero.API: instance FromJSON SendResponse
- SMSAero.API: instance FromJSON SendersResponse
- SMSAero.API: instance FromJSON SignResponse
- SMSAero.API: instance FromJSON Signature
- SMSAero.API: instance FromJSON StatusResponse
- SMSAero.API: instance FromJSON a => FromJSON (SmsAeroResponse a)
- SMSAero.API: instance FromJSON a => MimeUnrender SmsAeroJson a
- SMSAero.API: instance FromText MessageBody
- SMSAero.API: instance FromText MessageId
- SMSAero.API: instance FromText Phone
- SMSAero.API: instance FromText SMSAeroDate
- SMSAero.API: instance FromText SignResponse
- SMSAero.API: instance FromText Signature
- SMSAero.API: instance FromText StatusResponse
- SMSAero.API: instance Generic (SmsAeroResponse a)
- SMSAero.API: instance Generic SendResponse
- SMSAero.API: instance Generic SignResponse
- SMSAero.API: instance Generic StatusResponse
- SMSAero.API: instance HasClient sub => HasClient (AnswerJson :> sub)
- SMSAero.API: instance HasClient sub => HasClient (RequireAuth :> sub)
- SMSAero.API: instance HasDocs sub => HasDocs (AnswerJson :> sub)
- SMSAero.API: instance HasDocs sub => HasDocs (RequireAuth :> sub)
- SMSAero.API: instance Show BalanceResponse
- SMSAero.API: instance Show MessageBody
- SMSAero.API: instance Show MessageId
- SMSAero.API: instance Show Phone
- SMSAero.API: instance Show SMSAeroDate
- SMSAero.API: instance Show SendResponse
- SMSAero.API: instance Show SendersResponse
- SMSAero.API: instance Show SignResponse
- SMSAero.API: instance Show Signature
- SMSAero.API: instance Show StatusResponse
- SMSAero.API: instance Show a => Show (SmsAeroResponse a)
- SMSAero.API: instance ToJSON BalanceResponse
- SMSAero.API: instance ToJSON MessageBody
- SMSAero.API: instance ToJSON MessageId
- SMSAero.API: instance ToJSON SMSAeroAuth
- SMSAero.API: instance ToJSON SendResponse
- SMSAero.API: instance ToJSON SendersResponse
- SMSAero.API: instance ToJSON SignResponse
- SMSAero.API: instance ToJSON Signature
- SMSAero.API: instance ToJSON StatusResponse
- SMSAero.API: instance ToJSON a => MimeRender SmsAeroJson a
- SMSAero.API: instance ToJSON a => ToJSON (SmsAeroResponse a)
- SMSAero.API: instance ToParam (QueryParam "date" SMSAeroDate)
- SMSAero.API: instance ToParam (QueryParam "from" Signature)
- SMSAero.API: instance ToParam (QueryParam "id" MessageId)
- SMSAero.API: instance ToParam (QueryParam "text" MessageBody)
- SMSAero.API: instance ToParam (QueryParam "to" Phone)
- SMSAero.API: instance ToSample (SmsAeroResponse BalanceResponse) (SmsAeroResponse BalanceResponse)
- SMSAero.API: instance ToSample (SmsAeroResponse SendResponse) (SmsAeroResponse SendResponse)
- SMSAero.API: instance ToSample (SmsAeroResponse SendersResponse) (SmsAeroResponse SendersResponse)
- SMSAero.API: instance ToSample (SmsAeroResponse SignResponse) (SmsAeroResponse SignResponse)
- SMSAero.API: instance ToSample (SmsAeroResponse StatusResponse) (SmsAeroResponse StatusResponse)
- SMSAero.API: instance ToText MessageBody
- SMSAero.API: instance ToText MessageId
- SMSAero.API: instance ToText Phone
- SMSAero.API: instance ToText SMSAeroDate
- SMSAero.API: instance ToText SignResponse
- SMSAero.API: instance ToText Signature
- SMSAero.API: instance ToText StatusResponse
- SMSAero.Utils: instance (DistributiveClient (a -> b) b', DistributiveClient (a -> c) c') => DistributiveClient (a -> b :<|> c) (b' :<|> c')
- SMSAero.Utils: instance DistributiveClient (a -> b) (a -> b)
+ SMSAero.API: [authPassword] :: SMSAeroAuth -> Text
+ SMSAero.API: [authUser] :: SMSAeroAuth -> Text
+ SMSAero.API: [getPhone] :: Phone -> Int64
+ SMSAero.API: [getSMSAeroDate] :: SMSAeroDate -> UTCTime
+ SMSAero.API: [getSignature] :: Signature -> Text
+ SMSAero.API: data MessageStatus
+ SMSAero.API: instance (GHC.TypeLits.KnownSymbol sym, Servant.Docs.Internal.ToParam (Servant.API.QueryParam.QueryParam sym a), Servant.Docs.Internal.HasDocs sub) => Servant.Docs.Internal.HasDocs (SMSAero.API.RequiredQueryParam sym a Servant.API.Sub.:> sub)
+ SMSAero.API: instance (Servant.Client.HasClient sub, GHC.TypeLits.KnownSymbol sym, Servant.Common.Text.ToText a) => Servant.Client.HasClient (SMSAero.API.RequiredQueryParam sym a Servant.API.Sub.:> sub)
+ SMSAero.API: instance Data.Aeson.Types.Class.FromJSON SMSAero.API.BalanceResponse
+ SMSAero.API: instance Data.Aeson.Types.Class.FromJSON SMSAero.API.MessageBody
+ SMSAero.API: instance Data.Aeson.Types.Class.FromJSON SMSAero.API.MessageId
+ SMSAero.API: instance Data.Aeson.Types.Class.FromJSON SMSAero.API.MessageStatus
+ SMSAero.API: instance Data.Aeson.Types.Class.FromJSON SMSAero.API.SMSAeroAuth
+ SMSAero.API: instance Data.Aeson.Types.Class.FromJSON SMSAero.API.SendResponse
+ SMSAero.API: instance Data.Aeson.Types.Class.FromJSON SMSAero.API.SendersResponse
+ SMSAero.API: instance Data.Aeson.Types.Class.FromJSON SMSAero.API.SignResponse
+ SMSAero.API: instance Data.Aeson.Types.Class.FromJSON SMSAero.API.Signature
+ SMSAero.API: instance Data.Aeson.Types.Class.FromJSON a => Data.Aeson.Types.Class.FromJSON (SMSAero.API.SmsAeroResponse a)
+ SMSAero.API: instance Data.Aeson.Types.Class.FromJSON a => Servant.API.ContentTypes.MimeUnrender SMSAero.API.SmsAeroJson a
+ SMSAero.API: instance Data.Aeson.Types.Class.ToJSON SMSAero.API.BalanceResponse
+ SMSAero.API: instance Data.Aeson.Types.Class.ToJSON SMSAero.API.MessageBody
+ SMSAero.API: instance Data.Aeson.Types.Class.ToJSON SMSAero.API.MessageId
+ SMSAero.API: instance Data.Aeson.Types.Class.ToJSON SMSAero.API.MessageStatus
+ SMSAero.API: instance Data.Aeson.Types.Class.ToJSON SMSAero.API.SMSAeroAuth
+ SMSAero.API: instance Data.Aeson.Types.Class.ToJSON SMSAero.API.SendResponse
+ SMSAero.API: instance Data.Aeson.Types.Class.ToJSON SMSAero.API.SendersResponse
+ SMSAero.API: instance Data.Aeson.Types.Class.ToJSON SMSAero.API.SignResponse
+ SMSAero.API: instance Data.Aeson.Types.Class.ToJSON SMSAero.API.Signature
+ SMSAero.API: instance Data.Aeson.Types.Class.ToJSON a => Data.Aeson.Types.Class.ToJSON (SMSAero.API.SmsAeroResponse a)
+ SMSAero.API: instance Data.Aeson.Types.Class.ToJSON a => Servant.API.ContentTypes.MimeRender SMSAero.API.SmsAeroJson a
+ SMSAero.API: instance GHC.Enum.Bounded SMSAero.API.MessageStatus
+ SMSAero.API: instance GHC.Enum.Bounded SMSAero.API.SignResponse
+ SMSAero.API: instance GHC.Enum.Enum SMSAero.API.MessageStatus
+ SMSAero.API: instance GHC.Enum.Enum SMSAero.API.SignResponse
+ SMSAero.API: instance GHC.Generics.Constructor SMSAero.API.C1_0MessageStatus
+ SMSAero.API: instance GHC.Generics.Constructor SMSAero.API.C1_0SendResponse
+ SMSAero.API: instance GHC.Generics.Constructor SMSAero.API.C1_0SignResponse
+ SMSAero.API: instance GHC.Generics.Constructor SMSAero.API.C1_0SmsAeroResponse
+ SMSAero.API: instance GHC.Generics.Constructor SMSAero.API.C1_1MessageStatus
+ SMSAero.API: instance GHC.Generics.Constructor SMSAero.API.C1_1SendResponse
+ SMSAero.API: instance GHC.Generics.Constructor SMSAero.API.C1_1SignResponse
+ SMSAero.API: instance GHC.Generics.Constructor SMSAero.API.C1_1SmsAeroResponse
+ SMSAero.API: instance GHC.Generics.Constructor SMSAero.API.C1_2MessageStatus
+ SMSAero.API: instance GHC.Generics.Constructor SMSAero.API.C1_2SignResponse
+ SMSAero.API: instance GHC.Generics.Constructor SMSAero.API.C1_3MessageStatus
+ SMSAero.API: instance GHC.Generics.Constructor SMSAero.API.C1_4MessageStatus
+ SMSAero.API: instance GHC.Generics.Constructor SMSAero.API.C1_5MessageStatus
+ SMSAero.API: instance GHC.Generics.Datatype SMSAero.API.D1MessageStatus
+ SMSAero.API: instance GHC.Generics.Datatype SMSAero.API.D1SendResponse
+ SMSAero.API: instance GHC.Generics.Datatype SMSAero.API.D1SignResponse
+ SMSAero.API: instance GHC.Generics.Datatype SMSAero.API.D1SmsAeroResponse
+ SMSAero.API: instance GHC.Generics.Generic (SMSAero.API.SmsAeroResponse a)
+ SMSAero.API: instance GHC.Generics.Generic SMSAero.API.MessageStatus
+ SMSAero.API: instance GHC.Generics.Generic SMSAero.API.SendResponse
+ SMSAero.API: instance GHC.Generics.Generic SMSAero.API.SignResponse
+ SMSAero.API: instance GHC.Read.Read SMSAero.API.MessageStatus
+ SMSAero.API: instance GHC.Show.Show SMSAero.API.BalanceResponse
+ SMSAero.API: instance GHC.Show.Show SMSAero.API.MessageBody
+ SMSAero.API: instance GHC.Show.Show SMSAero.API.MessageId
+ SMSAero.API: instance GHC.Show.Show SMSAero.API.MessageStatus
+ SMSAero.API: instance GHC.Show.Show SMSAero.API.Phone
+ SMSAero.API: instance GHC.Show.Show SMSAero.API.SMSAeroDate
+ SMSAero.API: instance GHC.Show.Show SMSAero.API.SendResponse
+ SMSAero.API: instance GHC.Show.Show SMSAero.API.SendersResponse
+ SMSAero.API: instance GHC.Show.Show SMSAero.API.SignResponse
+ SMSAero.API: instance GHC.Show.Show SMSAero.API.Signature
+ SMSAero.API: instance GHC.Show.Show a => GHC.Show.Show (SMSAero.API.SmsAeroResponse a)
+ SMSAero.API: instance Servant.API.ContentTypes.Accept SMSAero.API.SmsAeroJson
+ SMSAero.API: instance Servant.Client.HasClient sub => Servant.Client.HasClient (SMSAero.API.AnswerJson Servant.API.Sub.:> sub)
+ SMSAero.API: instance Servant.Client.HasClient sub => Servant.Client.HasClient (SMSAero.API.RequireAuth Servant.API.Sub.:> sub)
+ SMSAero.API: instance Servant.Common.Text.FromText SMSAero.API.MessageBody
+ SMSAero.API: instance Servant.Common.Text.FromText SMSAero.API.MessageId
+ SMSAero.API: instance Servant.Common.Text.FromText SMSAero.API.MessageStatus
+ SMSAero.API: instance Servant.Common.Text.FromText SMSAero.API.Phone
+ SMSAero.API: instance Servant.Common.Text.FromText SMSAero.API.SMSAeroDate
+ SMSAero.API: instance Servant.Common.Text.FromText SMSAero.API.SignResponse
+ SMSAero.API: instance Servant.Common.Text.FromText SMSAero.API.Signature
+ SMSAero.API: instance Servant.Common.Text.ToText SMSAero.API.MessageBody
+ SMSAero.API: instance Servant.Common.Text.ToText SMSAero.API.MessageId
+ SMSAero.API: instance Servant.Common.Text.ToText SMSAero.API.MessageStatus
+ SMSAero.API: instance Servant.Common.Text.ToText SMSAero.API.Phone
+ SMSAero.API: instance Servant.Common.Text.ToText SMSAero.API.SMSAeroDate
+ SMSAero.API: instance Servant.Common.Text.ToText SMSAero.API.SignResponse
+ SMSAero.API: instance Servant.Common.Text.ToText SMSAero.API.Signature
+ SMSAero.API: instance Servant.Docs.Internal.HasDocs sub => Servant.Docs.Internal.HasDocs (SMSAero.API.AnswerJson Servant.API.Sub.:> sub)
+ SMSAero.API: instance Servant.Docs.Internal.HasDocs sub => Servant.Docs.Internal.HasDocs (SMSAero.API.RequireAuth Servant.API.Sub.:> sub)
+ SMSAero.API: instance Servant.Docs.Internal.ToParam (Servant.API.QueryParam.QueryParam "date" SMSAero.API.SMSAeroDate)
+ SMSAero.API: instance Servant.Docs.Internal.ToParam (Servant.API.QueryParam.QueryParam "from" SMSAero.API.Signature)
+ SMSAero.API: instance Servant.Docs.Internal.ToParam (Servant.API.QueryParam.QueryParam "id" SMSAero.API.MessageId)
+ SMSAero.API: instance Servant.Docs.Internal.ToParam (Servant.API.QueryParam.QueryParam "text" SMSAero.API.MessageBody)
+ SMSAero.API: instance Servant.Docs.Internal.ToParam (Servant.API.QueryParam.QueryParam "to" SMSAero.API.Phone)
+ SMSAero.API: instance Servant.Docs.Internal.ToSample (SMSAero.API.SmsAeroResponse SMSAero.API.BalanceResponse) (SMSAero.API.SmsAeroResponse SMSAero.API.BalanceResponse)
+ SMSAero.API: instance Servant.Docs.Internal.ToSample (SMSAero.API.SmsAeroResponse SMSAero.API.MessageStatus) (SMSAero.API.SmsAeroResponse SMSAero.API.MessageStatus)
+ SMSAero.API: instance Servant.Docs.Internal.ToSample (SMSAero.API.SmsAeroResponse SMSAero.API.SendResponse) (SMSAero.API.SmsAeroResponse SMSAero.API.SendResponse)
+ SMSAero.API: instance Servant.Docs.Internal.ToSample (SMSAero.API.SmsAeroResponse SMSAero.API.SendersResponse) (SMSAero.API.SmsAeroResponse SMSAero.API.SendersResponse)
+ SMSAero.API: instance Servant.Docs.Internal.ToSample (SMSAero.API.SmsAeroResponse SMSAero.API.SignResponse) (SMSAero.API.SmsAeroResponse SMSAero.API.SignResponse)
+ SMSAero.Utils: instance (SMSAero.Utils.DistributiveClient (a -> b) b', SMSAero.Utils.DistributiveClient (a -> c) c') => SMSAero.Utils.DistributiveClient (a -> b Servant.API.Alternative.:<|> c) (b' Servant.API.Alternative.:<|> c')
+ SMSAero.Utils: instance SMSAero.Utils.DistributiveClient (a -> b) (a -> b)
- SMSAero.API: MessageId :: Integer -> MessageId
+ SMSAero.API: MessageId :: Int64 -> MessageId
- SMSAero.API: Phone :: Integer -> Phone
+ SMSAero.API: Phone :: Int64 -> Phone
- SMSAero.API: StatusDeliveryFailure :: StatusResponse
+ SMSAero.API: StatusDeliveryFailure :: MessageStatus
- SMSAero.API: StatusDeliverySuccess :: StatusResponse
+ SMSAero.API: StatusDeliverySuccess :: MessageStatus
- SMSAero.API: StatusQueue :: StatusResponse
+ SMSAero.API: StatusQueue :: MessageStatus
- SMSAero.API: StatusSmscReject :: StatusResponse
+ SMSAero.API: StatusSmscReject :: MessageStatus
- SMSAero.API: StatusSmscSubmit :: StatusResponse
+ SMSAero.API: StatusSmscSubmit :: MessageStatus
- SMSAero.API: StatusWaitStatus :: StatusResponse
+ SMSAero.API: StatusWaitStatus :: MessageStatus
- SMSAero.API: type StatusApi = RequiredQueryParam "id" MessageId :> SmsAeroGet StatusResponse
+ SMSAero.API: type StatusApi = RequiredQueryParam "id" MessageId :> SmsAeroGet MessageStatus
- SMSAero.Client: smsAeroStatus :: SMSAeroAuth -> MessageId -> SmsAero StatusResponse
+ SMSAero.Client: smsAeroStatus :: SMSAeroAuth -> MessageId -> SmsAero MessageStatus
Files
- CHANGELOG.md +6/−0
- smsaero.cabal +1/−1
- src/SMSAero/API.hs +13/−12
- src/SMSAero/Client.hs +1/−1
CHANGELOG.md view
@@ -1,3 +1,9 @@+0.4+---+* Rename `StatusResponse` to `MessageStatus` and add instance Read+* Change `MessageId` representation to `Int64`+* Change `Phone` representation to `Int64`+ 0.3 --- * Add `MessageBody` newtype for `"text"` query parameter
smsaero.cabal view
@@ -1,5 +1,5 @@ name: smsaero-version: 0.3+version: 0.4 synopsis: SMSAero API and HTTP client based on servant library. description: Please see README.md homepage: https://github.com/GetShopTV/smsaero
src/SMSAero/API.hs view
@@ -39,13 +39,14 @@ -- * Responses SmsAeroResponse(..), SendResponse(..),- StatusResponse(..),+ MessageStatus(..), BalanceResponse(..), SendersResponse(..), SignResponse(..), ) where import Data.Aeson+import Data.Int (Int64) import Data.Proxy import Data.Time (UTCTime(UTCTime))@@ -97,7 +98,7 @@ newtype Signature = Signature { getSignature :: Text } deriving (Show, FromJSON, ToJSON, ToText, FromText) -- | SMSAero sent message id.-newtype MessageId = MessageId Integer deriving (Show, FromJSON, ToJSON, ToText, FromText)+newtype MessageId = MessageId Int64 deriving (Show, FromJSON, ToJSON, ToText, FromText) -- | SMSAero message body. newtype MessageBody = MessageBody Text deriving (Show, FromJSON, ToJSON, ToText, FromText)@@ -120,7 +121,7 @@ , "password" .= authPassword ] -- | Phone number.-newtype Phone = Phone { getPhone :: Integer } deriving (Show, ToText, FromText)+newtype Phone = Phone { getPhone :: Int64 } deriving (Show, ToText, FromText) -- | Date. Textually @SMSAeroDate@ is represented as a number of seconds since 01 Jan 1970. newtype SMSAeroDate = SMSAeroDate { getSMSAeroDate :: UTCTime } deriving (Show)@@ -225,7 +226,7 @@ Normal -- | SMSAero API to check message status.-type StatusApi = RequiredQueryParam "id" MessageId :> SmsAeroGet StatusResponse+type StatusApi = RequiredQueryParam "id" MessageId :> SmsAeroGet MessageStatus instance ToParam (QueryParam "id" MessageId) where toParam _ = DocQueryParam "id"@@ -251,17 +252,17 @@ , ("When SMSAero account does not have enough credit.", ResponseOK SendNoCredits) , ("When message sender is incorrect.", ResponseReject "incorrect sender name") ] --- | SMSAero response to a status request.-data StatusResponse+-- | SMSAero message status.+data MessageStatus = 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.- deriving (Enum, Bounded, Show, Generic)+ deriving (Enum, Bounded, Show, Read, Generic) -instance ToSample (SmsAeroResponse StatusResponse) (SmsAeroResponse StatusResponse) where+instance ToSample (SmsAeroResponse MessageStatus) (SmsAeroResponse MessageStatus) where toSamples _ = [ ("When message has been delivered successfully.", ResponseOK StatusDeliverySuccess) , ("When message has been queued.", ResponseOK StatusQueue) ]@@ -331,10 +332,10 @@ vals = [minBound..maxBound] xs = zip (map toText vals) vals -instance FromText StatusResponse where+instance FromText MessageStatus where fromText = boundedFromText -instance ToText StatusResponse where+instance ToText MessageStatus where toText StatusDeliverySuccess = "delivery success" toText StatusDeliveryFailure = "delivery failure" toText StatusSmscSubmit = "smsc submit"@@ -342,13 +343,13 @@ toText StatusQueue = "queue" toText StatusWaitStatus = "wait status" -instance FromJSON StatusResponse where+instance FromJSON MessageStatus where parseJSON (Object o) = do result :: Text <- o .: "result" maybe empty pure (fromText result) parseJSON _ = empty -instance ToJSON StatusResponse where+instance ToJSON MessageStatus where toJSON status = object [ "result" .= toText status ] instance FromJSON BalanceResponse where
src/SMSAero/Client.hs view
@@ -30,7 +30,7 @@ -- | Send a message. smsAeroSend :: SMSAeroAuth -> Phone -> MessageBody -> Signature -> Maybe SMSAeroDate -> SmsAero SendResponse -- | Check status of a previously sent message.-smsAeroStatus :: SMSAeroAuth -> MessageId -> SmsAero StatusResponse+smsAeroStatus :: SMSAeroAuth -> MessageId -> SmsAero MessageStatus -- | Check balance. smsAeroBalance :: SMSAeroAuth -> SmsAero BalanceResponse -- | Check the list of available sender signatures.