Skip to content

Latest commit

 

History

History
102 lines (68 loc) · 4.35 KB

README.md

File metadata and controls

102 lines (68 loc) · 4.35 KB

@twilio-labs/plugin-webhook

Plugin for the Twilio CLI to test your Twilio webhooks and TwiML Bins.

npm (scoped) npm GitHub Code of Conduct PRs Welcome


This plugin adds functionality to the Twilio CLI to invoke emulated webhook events including valid X-Twilio-Signature to validate the webhooks and TwiML Bins you are creating for your Twilio applications.

Requirements

Install the Twilio CLI

This tool is a plugin for the Twilio CLI meaning you'll have to first install the Twilio CLI. You can find instructions for a variety of environments in our docs.

If you are using npm or yarn for global CLI tools you can run:

npm install -g twilio-cli
yarn global add twilio-cli

Usage

$ twilio plugins:install @twilio-labs/plugin-webhook
$ twilio --help webhook
USAGE
  $ twilio webhook
...

Commands

twilio webhook:invoke URL

Emulate a Twilio webhook request to your URL

USAGE
  $ twilio webhook:invoke URL

ARGUMENTS
  URL  The URL of your webhook

OPTIONS
  -X, --method=(GET|POST)              [default: POST] The HTTP method that should be used for the webhook request
  -d, --data-urlencode=data-urlencode  Override a request field. In the format Key=Value. Example: Body=Hello
  -i, --include                        Output additional response data such as response headers
  -l=(debug|info|warn|error|none)      [default: info] Level of logging messages.
  -p, --profile=profile                Shorthand identifier for your profile.

  --account-sid=account-sid            The Account SID to use in the event data. Defaults to your active CLI profile or
                                       otherwise TWILIO_ACCOUNT_SID environment variable.

  --auth-token=auth-token              The Auth Token to use to generate the X-Twilio-Signature. Required unless
                                       --no-signature is used. Defaults to value of TWILIO_AUTH_TOKEN environment
                                       variable if nothing is passed.

  --no-signature                       Circumvents the generation of the X-Twilio-Signature field

  --silent                             Suppress  output and logs. This is a shorthand for "-l none -o none".

  --type=(sms|voice)                   [default: sms] What type of webhook event should it emulate?

EXAMPLES
  # Invoke with a simulated call event
  twilio webhook:invoke <your-url> --type=voice

  # Pass in an explict auth token and Account SID to use
  twilio webhook:invoke <your-url> --auth-token=$TWILIO_AUTH_TOKEN --account-sid=$TWILIO_ACCOUNT_SID --type=voice

  # Simulate an SMS with the message "Hello"
  twilio webhook:invoke <your-url> --auth-token=$TWILIO_AUTH_TOKEN --type=sms -d Body=Hello

  # Skip X-Twilio-Signature header generation
  twilio webhook:invoke <your-url> --no-signature

  # Use Account SID from specific CLI profile
  twilio webhook:invoke <your-url> --auth-token=$TWILIO_AUTH_TOKEN -p <your-profile>

See code: src/commands/webhook/invoke.js

Contributing

We always welcome contributions to this project. To learn more about how to get started, check out our contribution guide.

Code of Conduct

Please be aware that this project has a Code of Conduct. The tldr; is to just be excellent to each other ❤️

License

MIT