To build a working phone app, your app needs to use Upsales API and the phoneCall endpoint.
Every request needs an API key in the token query parameter, for example https://integration.upsales.com/api/v2/phoneCall?token=YOUR_API_KEY. See How to create an API key.
Get a list of phone calls by querying for phoneCall objects
GET https://integration.upsales.com/api/v2/phoneCall
Get a single phoneCall object
GET https://integration.upsales.com/api/v2/phoneCall/:id
Update a phoneCall object
PUT https://integration.upsales.com/api/v2/phoneCall/:id
Add a phone call into Upsales
POST https://integration.upsales.com/api/v2/phoneCall
Delete a phoneCall object
DELETE https://integration.upsales.com/api/v2/phoneCall/:id
When you add a phone call, the body must include the user, the contact and the company (client):
{
"user": { "id": 1 },
"contact": { "id": 2 },
"client": { "id": 3 },
"phoneNumber": "+46701234567",
"durationInS": 120,
"externalId": "call-123"
}
The other fields are optional: phoneNumber, date, durationInS (duration in seconds), status (number), type (text, up to 45 characters), externalId (your own ID for the call, up to 512 characters) and conversationUrl (a link to the recording or conversation, up to 512 characters). When you update a phone call, send only the fields you want to change.
Requests are rate limited per API key. The standard limits are 200 requests per 10 seconds, 6,000 per 10 minutes and 20,000 per hour, and for POST, PUT and DELETE requests also 2,000 per 10 minutes and 5,000 per hour. A request over a limit gets HTTP status 429 (Too many requests). Your app should wait and retry it.
For more info about Upsales API, click to go to the documentation