AmoCRM
Javascript библиотека для работы с AmoCRM
Данная версия библиотеки поддерживает OAuth авторизацию и использует адреса AmoRM API v4.
Поблагодарить можно тут
Изменения в 2.x.x по сравнению с 1.x.x
- Поддержка AmoCRM API v4
- Поддержка OAuth
- Поддержка метода PATCH
- Расширенная информация об ответе (статус ответа, время ответа и т.д)
Если вам нужна поддержка AmoCRM API v2, используйте версии 1.x.x данного пакета.
Установка
npm install amocrm-js
Подключение к CRM
const AmoCRM = require( 'amocrm-js' );
const crm = new AmoCRM({
domain: 'domain',
auth: {
client_id: 'clientId',
client_secret: 'clientSecret',
redirect_uri: 'redirectUri',
code: 'code'
},
});
Запросы к порталу
С указанием метода:
const response = await crm.request( 'GET', '/api/v4/account' );
console.log( response.data );
console.log( response.info );
console.log( response.info.statusCode );
Методы crm.request: get, post, patch
const response = await crm.request.get( '/api/v4/contacts')
const response = await crm.request
.post( '/api/v4/contacts',
[
{
name: "Walter White",
request_id: 143,
}
]
)
const response = await crm.request
.patch( '/api/v4/leads',
[
{
"id": 54886,
"pipeline_id": 47521,
"status_id": 143,
"date_close": 1589297221,
"loss_reason_id": 7323,
"updated_by": 0
}
]
)
OAuth
Клиент автоматически получает новый токен по истечению
старого (при необходимости).
Методы:
- crm.connection.setCode(code) - устанавливает код авторизации
и получает токен авторизации.
- crm.connection.refreshToken() - получает новый токен
на основе текущего (по полю refresh_token).
Вызывается автоматически при необходимости обновления.
Работа с событиями
В настоящий момент доступны следующие события:
- connection:beforeConnect
- connection:beforeFetchToken
- connection:beforeRefreshToken
- connection:checkToken
- connection:authError
- connection:connected
- connection:error
Добавление обработчика:
crm.on( 'connection:error', () => console.log( 'Ошибка соединения' ));
Удаление обработчика:
const handler = () => console.log( 'Ошибка соединения' );
crm.on( 'connection:error', handler );
crm.off( 'connection:error', handler );
crm.off( 'connection:error' );
crm.off();