Bandwidth API Overview
Agenda
- What is an API
- What is a Webhook/Callback
- Order Phone Number
- Send text message
- Send picture message (MMS)
- Make a phone call
- Masked calling customer use case
- IVR Customer use case
What is an API?
And why do they matter
API
A: application P: programming I: interface
Break it down
Application - Tools/games/social networks
Programming - How engineers create software
Interface - common boundary shared by two applications or programs that allow both to communicate with one another.
So an API is essentially a way for programmers to communicate with a certain application.


Why do APIs Matter
- Faster development
- Higher Abstraction
- Replaceable


REST APIs
Re: Representational S: State T: Transfer
Uses HTTP
HTTP - Hypertext Transfer Protocol
Stateless - Each API request has no knowledge of what came before.
4 *important* verbs
* GET * POST * DELETE * PUT
http GET
Ask for information
- View Facebook.com
- Search google.com
- Visit a webpage
- Other...
http POST
Give information
- Upload photo to facebook
- Send an email
- Post a tweet
- Other...
HTTP Status Codes
1** : Hold on 2** : Here you go 3** : Go away 4** : You messed up 5** : I messed up




What is a webhook/callback?
And why do they matter
A webhook/callback is an HTTP request that occurs when something happens.
Incoming Call
Incoming text message
Call hangup
Button Press (DTMF)
Recording Finished
Message Delivered
Call Answered

Polling

In a world without callbacks

Now, let's play!

Order a phone number

Send a text message

Send a picture message

Create a call

Call with callback

http://Requestb.in
Customer Usecases
Masked Numbers
AKA: Anonymous Calling, Private Numbers



Why?
- Trackable
- Safety
- Privacy
- Walled-Garden
- Control





Incoming call
Callback
Creates call
2 way talking
Lyft
Create call
919-555-5555
919-444-4444
919-333-3333
919-333-3333 -> 919-444-4444
Rider
Driver
IVR
AKA: Interactive voice response, Phone Tree, etc...



Why?
- Trackable
- Customer Support
- Call Control
- Typical Use-case
- more...





Incoming call
Callback
Play Menu
Creates call
2 way talking
Service Titan
Menu Audio
Push Button
Callback
Create call
919-555-5555
919-333-3333
800-444-4444
1
1 -> 919-333-3333
Press 1 for sales
Press 2 for support
Patron
Sales
to: 800-444-4444
to: 800-444-4444
& Pressed 1
Questions?
Bandwidth Training Part A
By Daniel Tolbert
Bandwidth Training Part A
Getting Bandwidth team members up to speed on software and APIs
- 704
