== twilio Bindings to the Twilio API [[toc:]] === {{twilio-sid}} twilio-sid → (get-environment-variable TWILIO_SID) The Twilio account SID (define twilio-sid (make-parameter (get-environment-variable "TWILIO_SID"))) === {{twilio-auth}} twilio-auth → (get-environment-variable TWILIO_AUTH) The Twilio auth token (define twilio-auth (make-parameter (get-environment-variable "TWILIO_AUTH"))) === {{twilio-from}} twilio-from → (get-environment-variable TWILIO_FROM) The phone number from which to post (define twilio-from (make-parameter (get-environment-variable "TWILIO_FROM"))) === {{twilio-url}} twilio-url → https://~a:~a@api.twilio.com/2010-04-01/Accounts/~a/~a The Twilio API URL (define twilio-url (make-parameter "https://~a:~a@api.twilio.com/2010-04-01/Accounts/~a/~a")) === {{twilio-make-call}} (twilio-make-call to #!key url application-sid method fallback-url fallback-method status-callback status-callback-method send-digits if-machine timeout record) → unspecified Make a call using the Twilio API; see [[http://www.twilio.com/docs/api/rest/making-calls]]. ; to : The phone number to call ; url : TwiML URL when the call connects ; application-sid : Alternatively, the app containing the URL ; method : Method to request {{url}} ; fallback-url : Second {{url}} to try ; fallback-method : Method to which to fall back ; status-callback : URL to post status to ; status-callback-method : Method to use ; send-digits : Keys to dial after connecting ; if-machine : Determine whether the caller is a machine ; timeout : How long to let the phone ring ; record : Whether to record the call (define (twilio-make-call to #!key url application-sid method fallback-url fallback-method status-callback status-callback-method send-digits if-machine timeout record) (let* ((parameters `((from unquote (twilio-from)) (to unquote to) (url unquote url) (application-sid unquote application-sid) (method unquote method) (fallback-url unquote fallback-url) (fallback-method unquote fallback-method) (status-callback unquote status-callback) (status-callback-method unquote status-callback-method) (send-digits unquote send-digits) (if-machine unquote if-machine) (timeout unquote timeout) (record unquote record)))) (with-input-from-request (twilio-url-calls) (camel-filter-parameters parameters) void))) ==== Examples Placing a call (twilio-make-call "+14158141829" url: "http://example.com/twiml.scm") === {{twilio-send-sms}} (twilio-send-sms to body #!key status-callback application-sid) → unspecified Send an SMS using the Twilio API; see [[http://www.twilio.com/docs/api/rest/sending-sms]]. ; to : The number to send to ; body : The SMS to send ; status-callback : POST when the message is processed ; application-sid : The application's SID (define (twilio-send-sms to body #!key status-callback application-sid) (let* ((parameters `((from unquote (twilio-from)) (to unquote to) (body unquote body) (status-callback unquote status-callback) (application-sid unquote application-sid)))) (with-input-from-request (twilio-url-sms) (camel-filter-parameters parameters) void))) ==== Examples Sending an SMS (twilio-send-sms "+14158141829" "If you wish to make an apple pie from scratch, you must first invent the universe.") === About this egg ==== Author [[/users/klutometis|Peter Danenberg]] ==== Repository [[https://github.com/klutometis/twilio]] ==== License BSD ==== Dependencies * [[debug]] * [[http-client]] * [[matchable]] * [[s]] * [[setup-helper]] ==== Colophon Documented by [[/egg/cock|cock]].