README
JS API CRM
Данный пакет предназначен для упрощения и унификации работы с crm api а так же api других сервисов Зарплата.ру.
Создание экземпляра
Создание простого экземпляра класса, который содерждит все доступные методы.
import Api from 'js-crm-api';
const api = (new Api()).createRequest({}).setBaseURL(<URL API>);
Создание "кастомного" экземпляра с содержанием только необходимых методов
import customApi from 'js-crm-api/ApiCustomPlugin';
import moduleA from 'js-crm-api/src/api/Documents'
import moduleB from 'js-crm-api/src/api/Events'
import moduleC from 'js-crm-api/src/api/Profile'
const custom = customApi(moduleA, moduleB, moduleC);
const api = new (custom()).createRequest({}).setBaseURL(<URL API>);
Экземпляр модуля
Каждый экземпляр наследуется от модуля Api, который имеет свойство _request являющийся экземпляром пакета axios и содержит все основные метода данного модуля (post, get, head) ...
Создание нового модуля
В данной папке должны располагаться модули реализующие интерфейс работы с api проекта.
Каждый метод возвращает Promise -> response
где response
обязательно содержит атрибут data
В констукторе класса обязательно создается экземпляр Modules/Request.
import Api from '../modules/Api.ts';
class Example extends Api{
/**
* Пример класса для работы с api
*/
constructor() {
super();
}
/**
* Пример реализации:
* Метод обязательно возвращает Promise объект
* Обязательное условие:
* Название метода должно содержать название модуля
*
* @param parameters
* @return {Promise}
*
*/
getExampleCurrent(parameters = {}) {
return this._request.get('/api/v1/example');
}
}
export default Example;