Security News
Input Validation Vulnerabilities Dominate MITRE's 2024 CWE Top 25 List
MITRE's 2024 CWE Top 25 highlights critical software vulnerabilities like XSS, SQL Injection, and CSRF, reflecting shifts due to a refined ranking methodology.
Javascript библиотека для работы с AmoCRM
const AmoCRM = require( 'amocrm-js' );
const crm = new AmoCRM({
// логин пользователя в портале, где адрес портала domain.amocrm.ru
domain: 'domain', // может быть указан полный домен вида domain.amocrm.ru, domain.amocrm.com
auth: {
login: 'mylogin',
hash: 'mytesthash', // API-ключ доступа
}
});
// Вход в портал
crm.connect().then(() => {
console.log( `Вход в портал осуществлён` );
})
.catch( e => {
console.log( 'Ошибка входа', e );
});
// Получить данные по аккаунту (GET-запрос)
crm.request
.get( '/api/v2/account' )
.then( data => {
console.log( 'Полученные данные', data );
})
.catch( e => {
console.log( 'Произошла ошибка', e );
})
// Создать новый контакт (POST-запрос)
crm.request
.post( '/api/v2/contacts', {
add: [
{
name: "Walter White",
request_id: 143,
// другие поля ...
}
]
})
.then( data => {
console.log( 'Полученные данные', data );
})
.catch( e => {
console.log( 'Произошла ошибка создания контакта', e );
})
В настоящий момент доступны следующие фабрики:
crm.Lead // манипуляции со сделками
crm.Contact // манипуляции с контактами
Каждая из фабрик имеет методы для множественных операций со сделками:
// Поиск сделок по критерию, возвращает [ Lead, Lead, ... ]
crm.Lead.find( criteria );
// Добавление сделок
crm.Lead.insert([
{
name: "Walter White",
request_id: 143,
// другие поля ...
}
]);
// Обновление сделок
crm.Lead.update([
{
id: 1234
name: "Walter White",
request_id: 143,
// другие поля ...
}
]);
// Возвращает Lead
crm.Lead.findById( id );
// новая сделка
const lead = new crm.Lead;
lead.linked_company_id = 1245;
lead.updated_at = 12345678;
lead.price = 10000;
lead.save(); // вернёт Promise
// альтернативный вариант 1
const lead = new crm.Lead({
linked_company_id: 1245,
updated_at: 12345678,
price: 10000
});
lead.save();
// альтернативный вариант 2
const lead = crm.Lead.of({
linked_company_id: 1245,
updated_at: 12345678,
price: 10000
});
lead.save();
// Обновление сделки
lead.name = "Заявка для Ивана";
lead.save();
// Поиск сделок
crm.Lead.find({
status: 1 // найти сделки с нужным статусом
responsible_user_id: 34 // и определённым ответственным человеком
})
.then( leads => {
console.log( "Найденное", leads );
})
// Взять данные о сделке с сервера
crm.Lead.findById( 123 )
.then( lead => console.log( lead ));
Так как в официальном API данная возможность не документирована, лавка может в обозримом будущем прикрыться. Тем не менее, есть возможность удалять сделки.
// список идентификаторов сделок
crm.Lead.remove([ 12345, 568944 ])
// удаление отедльной сделки
crm.Lead.findById( 123 )
.then( lead => lead.remove());
Переподключение к порталу в случае истечения сессии происходит автоматически. Также доступны настройки:
const crm = new AmoCRM({
domain: 'domain',
auth: {
login: 'mylogin',
hash: 'mytesthash',
},
reconnection: {
disabled: true, // по умолчанию false,
checkDelay: 500, // кол-во мс, как часто проверять сессию на предмет истечения. По умолчанию: 60 * 1000
accuracyTime: 1000 // за какое кол-во мс до истечения сессии необходимо переподключиться. По умолчанию: 60 * 1000
}
});
В настоящий момент доступны следующие события:
Добавление обработчика:
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();
FAQs
JS Library for AmoCRM
The npm package amocrm-js receives a total of 707 weekly downloads. As such, amocrm-js popularity was classified as not popular.
We found that amocrm-js demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
MITRE's 2024 CWE Top 25 highlights critical software vulnerabilities like XSS, SQL Injection, and CSRF, reflecting shifts due to a refined ranking methodology.
Security News
In this segment of the Risky Business podcast, Feross Aboukhadijeh and Patrick Gray discuss the challenges of tracking malware discovered in open source softare.
Research
Security News
A threat actor's playbook for exploiting the npm ecosystem was exposed on the dark web, detailing how to build a blockchain-powered botnet.