Быстрый старт
Подготовка
Чтобы начать работать с API Сам.Бизнес, вам нужно зарегистрироваться и получить доступ к личному кабинету.
Для аутентификации запросов в API вам потребуется передавать в Header запроса X-Login и X-Password. Логин - необходимо запросить у администратора; пароль - пароль захешированный в MD5 (его нужно сгенерировать).
Шаг 1. Предоставление доступа к API
Сервис Сам.Бизнес позволяет настраивать условия доступа к функциям, создавая профили пользователей.
Чтобы отобразить список существующих пользователей, следует выбрать Бизнес — Пользователи — Пользователи. Для использования API, необходимо выбрать соответствующую роль.
Для создания профиля нового пользователя необходимо:
В области "Фильтр" над таблицей нажать "Создать." В появившемся окне ввести все необходимые данные:
- ФИО пользователя
- номер телефона
- логин для входа в личный кабинет
- первоначальный пароль (будет изменен пользователем при первом входе)
- график работы
Добавлять новых пользователей имеет возможность только пользователь с правами Администратор. Другие категории пользователей такой возможности не имеют. Администратором может быть только один пользователь.
Шаг 2. Создание реестра/проверка
Создание реестра
При создании реестра на выплату нужно указать сумму выплаты в копейках (sum) - обязательно только для добавления/редактирования, список объектов выплат, идентификатор самозанятого в системе (idIndividual).
В запросе передается основание выплаты (comment) и массив "payouts" с объектом, содержащим информацию о реестре.
- cURL
- JavaScript
curl --location --request PUT 'https://business.selfwork.ru/selfemployed/business/v1/payouts/add' \
--header 'X-Login: example' \
--header 'X-Password: 591c0bcd4a41137fe9fce94dfba74e24' \
--header 'Content-Type: application/json' \
--data-raw ' {
"payouts": [
{
"state": 0,
"idIndividual": 1234,
"sum": 10000,
"comment": "test"
}
]
}'
var axios = require("axios");
var data = JSON.stringify({
payouts: [
{
state: 0,
idIndividual: 9286,
sum: 10000,
comment: "test",
},
],
});
var config = {
method: "put",
url: "https://business.selfwork.ru/selfemployed/business/v1/payouts/add",
headers: {
"X-Login": "example",
"X-Password": "591c0bcd4a41137fe9fce94dfba74e24",
"Content-Type": "application/json",
},
data: data,
};
axios(config)
.then(function (response) {
console.log(JSON.stringify(response.data));
})
.catch(function (error) {
console.log(error);
});
Проверка реестра
Проверка реестра необходима для проверки статуса самозанятого на момент выплаты денежных средств, а также соответствие информации по выплатам. Чтобы проверить реестр, используйте id, который возвращается в методе создания реестра.
В тело запроса передается массив с идентификаторами проверяемых реестров.
- cURL
- JavaScript
curl --location --request POST 'https://business.selfwork.ru/selfemployed/business/v1/payouts/check' \
--header 'X-Login: example' \
--header 'X-Password: 591c0bcd4a41137fe9fce94dfba74e24' \
--header 'Content-Type: application/json' \
--data-raw '[
1234
]'
var axios = require("axios");
var data = JSON.stringify([1234]);
var config = {
method: "post",
url: "https://business.selfwork.ru/selfemployed/business/v1/payouts/check",
headers: {
"X-Login": "example",
"X-Password": "591c0bcd4a41137fe9fce94dfba74e24",
"Content-Type": "application/json",
},
data: data,
};
axios(config)
.then(function (response) {
console.log(JSON.stringify(response.data));
})
.catch(function (error) {
console.log(error);
});
Шаг 3. Оплата реестра
Оплата
После проверки реестра, в случае успеха, можно производить оплату реестра.
- cURL
- JavaScript
curl --location --request POST 'https://business.selfwork.ru/selfemployed/business/v1/payouts/registry-payment' \
--header 'X-Login: example' \
--header 'X-Password: 591c0bcd4a41137fe9fce94dfba74e24' \
--header 'Content-Type: application/json' \
--data-raw '[1234]'
var axios = require("axios");
var data = JSON.stringify([1234]);
var config = {
method: "post",
url: "https://business.selfwork.ru/selfemployed/business/v1/payouts/registry-payment",
headers: {
"X-Login": "example",
"X-Password": "591c0bcd4a41137fe9fce94dfba74e24",
"Content-Type": "application/json",
},
data: data,
};
axios(config)
.then(function (response) {
console.log(JSON.stringify(response.data));
})
.catch(function (error) {
console.log(error);
});