Phone system & SMS
Call through the phone system
Click-to-call: the user's extension rings first, then the number is dialled (Netgsm, Verimor, AloTech or a phone system with a call-start address). Without number the contact's, then the company's phone is used. Returns message and the call row (call, status dialing), which is updated as the phone system's events arrive. 400 dial when the extension is not mapped or the system can't start calls (message says why). Advanced / Enterprise plans (403 plan).
Authorization
AuthorizationheaderrequiredBearer token: API key (sk_…), OAuth access token (mcp_…) or mobile session (xk_…).
Module: CustomersScope:
crm.writeBody application/json
numberstringoptionalNumber to call (0532…, +90…).
contact_idintegeroptionalContact (number taken from it if missing).
customer_idintegeroptionalCompany.
Errors
| HTTP | error | Meaning |
|---|---|---|
400 | dial | v67: the call could not be started (`message`: extension not mapped, invalid number, phone system reply). |
403 | plan | plan |
403 | module | The module is off in the licence or for the user. |
Request
curl -X POST https://ornek.solk.app/api/v1/tel/dial \
-H "Authorization: Bearer $SOLK_API_KEY"const res = await fetch("https://ornek.solk.app/api/v1/tel/dial", {
method: "POST",
headers: {
Authorization: `Bearer ${process.env.SOLK_API_KEY}`,
},
});
const data = await res.json();import os, requests
r = requests.post(
"https://ornek.solk.app/api/v1/tel/dial",
headers={"Authorization": f"Bearer {os.environ['SOLK_API_KEY']}"},
)
print(r.json())Response