Outbound Webhooks Missed
To receive the outbound missed webhooks, you must complete the webhooks setup. After completing the webhooks setup, our PIOPIY platform will notify your web server POST method URL with JSON CDR (Call Detail Record) when an incoming call missed.
Properties
These are the list of properties and its description
Property | Type | Description |
---|---|---|
to | number | The number the call was made to |
appid | number | Your app id |
time | number | Timestamp of this call |
start_time | number | The start time of this call |
end_time | number | The end time of this call |
from | number | Your default DID Number |
direction | string | Direction of this call |
duration | number | The total duration of this call in seconds |
extra_params | string | Your custom parameters |
cmiuuid | string | A unique identifier of this call |
call_rate | string | The billed call rate for this call |
balance | string | The total available account balance after this call |
conversation_uuid | string | A unique identifier of this conversation |
request_id | string | The unique request ID for this call |
callerid | number | The incoming DID number |
status | string | Status of this call |
leg | string | Define the leg of the call either a or b |
CDR response
This is the sample JSON live event, where the PIOPIY platform will notify your web server POST method URL.
- Leg A
- Leg B
{
to: 440000000000,
appid: 2222222,
time: 1632307235000,
start_time: 1632307238,
end_time: 1632307265,
from: 19170000000,
direction: 'outbound',
duration: 0,
extra_params: '{"key":"value"}',
cmiuuid: '1edceb4c-4e2c-402d-81b4-1c2f6fca442d',
call_rate: 0,
balance: '76.349024',
conversation_uuid: 'S9U4Mo29GHBfCJ2uHczcY75QQDri7HcAxXYZuktJLxf',
request_id: 'S9U4Mo29GHBfCJ2uHczcY75QQDri7HcAxXYZuktJLxf',
callerid: 19170000000,
status: 'missed',
leg: 'a'
}
{
to: 440000000001,
appid: 2222222,
time: 1632307380684,
start_time: 1632307382,
end_time: 1632307407,
from: 19170000000,
direction: 'outbound',
duration: 0,
extra_params: '{"key":"value"}',
cmiuuid: '012973e6-bc9e-4841-8c55-4a615c93ba3c',
call_rate: 0,
balance: '74.849024',
conversation_uuid: 'wbYBxXvqCl2M6A7rltnb0q5ZWY0Lsa1E9R17V4vGj7p',
request_id: 'wbYBxXvqCl2M6A7rltnb0q5ZWY0Lsa1E9R17V4vGj7p',
callerid: 19170000000,
status: 'missed',
leg: 'b'
}
The above sample JSON live event consists of several properties. Each property has a description and take a look at it.
Implementation
PIOPIY webhooks implementation in different languages.
- Node.js
- Python
const express = require("express"),
bodyParser = require("body-parser"),
app = express();
// parse application/json
app.use(bodyParser.json());
app.post("/webhook/cdr", (req, res) => {
//Received CDR JSON Object from PIOPIY platform
var cdr = req.body;
console.log(cdr);
res.send("got it");
});
app.listen(5000);
app.run((debug = True), (port = 5000));
To know more about testing webhooks for local development purposes, go to examples.
from flask import Flask,request
app = Flask(__name__)
# Receive webhooks from PIOPIY platform when call receive or make
@app.route("/webhook/cdr",methods=['POST'])
def hello():
# Received JSON CDR from PIOPIY Platform
cdr = request.get_json()
print(cdr)
return "got it"
if __name__ == "__main__":
app.run(debug=True, port=5000)
To know more about testing webhooks for local development purposes, go to examples.