Перейти до основного контенту

API Ringostat. Створення та додавання співробітника в відділ

API метод для створення та додавання співробітника в відділ

Olga Kalchenko avatar
Автор: Olga Kalchenko
Оновлено сьогодні

Цей метод дасть змогу автоматизовано створювати нових співробітників разом із SIP-акаунтами через API.

За допомогою цього методу можна:

- створити нового співробітника.

- створити SIP-акаунт для цього співробітника.

- пов’язати співробітника з одним або кількома відділами

Основні параметри запиту:

  • Адреса API-запиту: https://api.ringostat.net/a/v2

  • Метод: POST

  • Json-rpc метод: Api\\V2\\Staff.addStaff

  • Auth-key: електронний ключ для доступу до вашого проєкту в Ringostat.

  • projectId: ID проєкту

Headers запиту:

  • Content-Type - application/json

  • auth-key - це електронний ключ для доступу до вашого проєкту в Ringostat

  • x-project-id - ID вашого проєкту

Body запиту:

Назва параметра

Тип даних

Обов'язковий

Опис

projectId

string

так

Id проекту (вказаний у блоці доступи)

creatorId

string

так

ID користувача, який створює співробітника

access

string

так

Рівень доступу співробітника (1 - адмін, 2 - аналітик, 4 - менеджер)

fio

string

так

ПІБ співробітника

email

string

так

Email співробітника

extensionNumber

string

так

Внутрішній номер співробітника (2-5 цифр)

directions

object

так

Налаштування напрямків співробітника

departments

array

Так. Можливо = null

Масив назви відділів (не чутливо до регістру)

isHasAccessToPowerDialer

boolean

Ні (за замовчуванням: false)

Чи має доступ до Power Dialer

Приклад для Node.js:

const https = require('https');

const data = JSON.stringify({
jsonrpc: "2.0",
method: "Api\\V2\\Staff.addStaff",
params: {
projectId: "123",
creatorId: "456",
access: "user",
fio: "Іван Петренко",
email: "[email protected]",
extensionNumber: "1001",
directions: {
main: [
{
type: "sip",
direction: "1001",
password: "securePassword123",
enabledForAwd: true,
isMobile: false
}
],
additional: []
},
departments: ["Main"],
isHasAccessToPowerDialer: true
},
id: 1
});

const config = {
host: 'api.ringostat.net',
path: '/v2',
method: 'POST',
headers: {
'Content-Type': 'application/json',
'Content-Length': data.length,
'Auth-key': 'your_unique_auth_key'
}
};

const callback = (response) => {
let result = Buffer.alloc(0);

response.on('data', chunk => {
result = Buffer.concat([result, chunk]);
});

response.on('end', () => {
console.log(result.toString());
});
};

const request = https.request(config, callback);
request.write(data);
request.end();

Приклад для Axios.js

const axios = require('axios');

axios({
url: 'https://api.ringostat.net/v2',
method: 'POST',
headers: {
'Content-Type': 'application/json',
'Auth-key': 'your_unique_auth_key'
},
data: {
jsonrpc: "2.0",
method: "Api\\V2\\Staff.addStaff",
params: {
projectId: "123",
creatorId: "456",
access: "user",
fio: "Іван Петренко",
email: "[email protected]",
extensionNumber: "1001",
directions: {
main: [
{
type: "sip",
direction: "1001",
password: "securePassword123",
enabledForAwd: true,
isMobile: false
}
],
additional: []
},
departments: ["Secondary"],
isHasAccessToPowerDialer: true
},
id: 1
}
})
.then(response => {
console.log(response.data);
})
.catch(error => {
console.error(error.response?.data || error.message);
});

Приклад для cURL

curl -X POST "https://api.ringostat.net/v2" \
-H "Content-Type: application/json" \
-H "Auth-key: your_unique_auth_key" \
-d '{
"jsonrpc": "2.0",
"method": "Api\\V2\\Staff.addStaff",
"params": {
"projectId": "123",
"creatorId": "456",
"access": "user",
"fio": "Іван Петренко",
"email": "[email protected]",
"extensionNumber": "1001",
"directions": {
"main": [
{
"type": "sip",
"direction": "1001",
"password": "securePassword1234!",
"enabledForAwd": true,
"isMobile": false
}
],
"additional": []
},
"departments": ["Main"],
"isHasAccessToPowerDialer": true
},
"id": 1
}'

Результат:

{
"jsonrpc": "2.0",
"result": {
"result": true
},
"id": 1
}

Обмеження:

Максимум 6 напрямків на співробітника

Максимум 3 SIP акаунти в основних напрямках

Максимум 3 SIP акаунти в додаткових напрямках

Максимум 3 номери телефонів в основних напрямках

Максимум 3 номери телефонів в додаткових напрямках

Внутрішній номер: 2-5 цифр

Пароль SIP: мінімум 14 символів

Ім'я: тільки літери та пробіли

Email: валідний формат email

Ви отримали відповідь на своє запитання?