Planfact.AmoCrm.Client
2.0.1
dotnet add package Planfact.AmoCrm.Client --version 2.0.1
NuGet\Install-Package Planfact.AmoCrm.Client -Version 2.0.1
<PackageReference Include="Planfact.AmoCrm.Client" Version="2.0.1" />
<PackageVersion Include="Planfact.AmoCrm.Client" Version="2.0.1" />
<PackageReference Include="Planfact.AmoCrm.Client" />
paket add Planfact.AmoCrm.Client --version 2.0.1
#r "nuget: Planfact.AmoCrm.Client, 2.0.1"
#:package Planfact.AmoCrm.Client@2.0.1
#addin nuget:?package=Planfact.AmoCrm.Client&version=2.0.1
#tool nuget:?package=Planfact.AmoCrm.Client&version=2.0.1
AmoCrm.Client
Идиоматичный и типобезопасный .NET клиент для работы с amoCRM API v4 с поддержкой кэширования и OAuth 2.0.
Особенности
- 🛠️ Типобезопасность - строго типизированные модели для всех сущностей amoCRM
- 🔐 OAuth 2.0 - поддержка клиентских и серверных интеграций
- 🛡️ Надежность - политики повтора, валидация данных, обработка ошибок
- 💾 HTTP-кэширование - прозрачное кэширование ответов API (10 минут TTL)
- 📝 Структурное логирование - Microsoft.Extensions.Logging
- ⚙️ Гибкая конфигурация - настройка как через код, так и через appsettings.json с поддержкой options pattern
- 🧩 DI интеграция - готовые расширения для ASP.NET Core
- 🧪 Тестируемость - проект включает набор unit-тестов, все зависимости легко мокаются
Поддержка платформ
- .NET 6.0+
- .NET 8.0+
- .NET 9.0+
Установка
dotnet add package Planfact.AmoCrm.Client
Быстрый старт
// Program.cs
builder.Services.AddAmoCrmClient(builder.Configuration);
// Внедрение зависимости
public class AccountService
{
private readonly IAmoCrmClient _amoCrmClient;
public AccountService(IAmoCrmClient amoCrmClient)
{
_amoCrmClient = amoCrmClient;
}
public async Task<AccountBusinessModel> GetAccountAsync(string accessToken, string subdomain)
{
AccountResponse account = await _amoCrmClient.GetAccountAsync(accessToken, subdomain);
return new AccountBusinessModel(account);
}
}
Тестирование
В текущей реализации проект содержит более 800 unit и snapshot тестов, обеспечивающих покрытие основной функциональности. В ходе развития проекта будут реализованы интеграционные тесты.
Запуск тестов
dotnet test Planfact.AmoCrm.Client.Tests
Документация
Лицензия
MIT License. См. LICENSE для деталей.
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net6.0 is compatible. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 was computed. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 is compatible. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. net9.0 is compatible. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 was computed. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
-
net6.0
- Microsoft.Extensions.Configuration (>= 9.0.9)
- Microsoft.Extensions.Logging (>= 9.0.9)
- Microsoft.Extensions.Options (>= 9.0.9)
- Microsoft.Extensions.Options.ConfigurationExtensions (>= 9.0.9)
- Reliable.HttpClient (>= 1.3.0)
- Reliable.HttpClient.Caching (>= 1.4.0)
-
net8.0
- Microsoft.Extensions.Configuration (>= 9.0.9)
- Microsoft.Extensions.Logging (>= 9.0.9)
- Microsoft.Extensions.Options (>= 9.0.9)
- Microsoft.Extensions.Options.ConfigurationExtensions (>= 9.0.9)
- Reliable.HttpClient (>= 1.3.0)
- Reliable.HttpClient.Caching (>= 1.4.0)
-
net9.0
- Microsoft.Extensions.Configuration (>= 9.0.9)
- Microsoft.Extensions.Logging (>= 9.0.9)
- Microsoft.Extensions.Options (>= 9.0.9)
- Microsoft.Extensions.Options.ConfigurationExtensions (>= 9.0.9)
- Reliable.HttpClient (>= 1.3.0)
- Reliable.HttpClient.Caching (>= 1.4.0)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
🎉 Релиз v2.0.1 – Исправление ошибок
✨ Что нового:
• Методы GetLeadStatusesAsync и GetLeadStatusesInternalAsync теперь могут возвращать статусы сделок с повторяющимися id
🔧 Для чего это нужно:
• В amoCRM допустимо наличие статусов сделок с одинаковыми идентификаторами в разных воронках, изменения внесены, чтобы избежать ошибок в таких случаях
✅ Обратная совместимость:
Изменения направлены на повышение надежности решения и не нарушают обратную совместимость публичного API библиотеки Planfact.AmoCrm.Client.