Documentation
¶
Overview ¶
Package twilio provides a Go SDK for Twilio with adapters for omnichat and omnivoice.
This package implements:
- omnichat.Provider: SMS messaging
- omnivoice interfaces: callsystem, transport, tts, stt
Installation ¶
go get github.com/plexusone/omni-twilio
Environment Variables ¶
TWILIO_ACCOUNT_SID - Your Twilio Account SID TWILIO_AUTH_TOKEN - Your Twilio Auth Token
Quick Start - SMS (omnichat) ¶
import "github.com/plexusone/omni-twilio/omnichat"
provider, _ := omnichat.New(
omnichat.WithPhoneNumber("+1234567890"),
)
provider.Send(ctx, "+1987654321", provider.OutgoingMessage{Content: "Hello!"})
Quick Start - Voice (omnivoice) ¶
import (
"github.com/plexusone/omni-twilio/omnivoice/callsystem"
"github.com/plexusone/omni-twilio/omnivoice/transport"
)
cs, _ := callsystem.New()
tr, _ := transport.New()
Index ¶
Constants ¶
View Source
const ( // DefaultAPIBaseURL is the Twilio REST API base URL. DefaultAPIBaseURL = "https://api.twilio.com/2010-04-01" // DefaultMediaStreamURL is the WebSocket URL format for Media Streams. // Format: wss://media-stream.twilio.com/v1/Accounts/{AccountSid}/Calls/{CallSid}/Media DefaultMediaStreamURL = "wss://media-stream.twilio.com" )
Twilio API constants.
View Source
const ( // AudioEncodingMulaw is the μ-law encoding (8-bit, 8kHz). AudioEncodingMulaw = "audio/x-mulaw" // AudioEncodingPCM is the PCM encoding (16-bit, 8kHz). AudioEncodingPCM = "audio/x-l16" // DefaultSampleRate is the default sample rate for Twilio audio (8kHz). DefaultSampleRate = 8000 )
Audio format constants for Media Streams.
View Source
const ( VoiceAlice = "alice" // Twilio's default voice VoiceMan = "man" // Male voice VoiceWoman = "woman" // Female voice VoicePolly = "Polly." // Amazon Polly prefix (e.g., "Polly.Joanna") VoiceGoogle = "Google." // Google TTS prefix (e.g., "Google.en-US-Standard-A") VoiceAmazon = "Amazon." // Amazon prefix )
TwiML voice options.
View Source
const ( CallStatusQueued = "queued" CallStatusRinging = "ringing" CallStatusInProgress = "in-progress" CallStatusCompleted = "completed" CallStatusBusy = "busy" CallStatusFailed = "failed" CallStatusNoAnswer = "no-answer" CallStatusCanceled = "canceled" )
Call status constants.
View Source
const ProviderName = "twilio"
ProviderName is the name used to identify this provider in OmniVoice.
View Source
const Version = "0.5.0"
Version is the SDK version.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
This section is empty.
Directories
¶
| Path | Synopsis |
|---|---|
|
Package client provides a Twilio API client wrapper using the official twilio-go SDK.
|
Package client provides a Twilio API client wrapper using the official twilio-go SDK. |
|
Package omnichat provides a Twilio SMS provider for omnichat.
|
Package omnichat provides a Twilio SMS provider for omnichat. |
|
omnivoice
|
|
|
callsystem
Package callsystem provides a Twilio implementation of callsystem.CallSystem.
|
Package callsystem provides a Twilio implementation of callsystem.CallSystem. |
|
stt
Package stt provides a Twilio implementation of stt.Provider.
|
Package stt provides a Twilio implementation of stt.Provider. |
|
transport
Package transport provides a Twilio Media Streams implementation of transport.Transport.
|
Package transport provides a Twilio Media Streams implementation of transport.Transport. |
|
tts
Package tts provides a Twilio implementation of tts.Provider.
|
Package tts provides a Twilio implementation of tts.Provider. |
Click to show internal directories.
Click to hide internal directories.