Planfact.AmoCrm.Client
1.2.2
See the version list below for details.
dotnet add package Planfact.AmoCrm.Client --version 1.2.2
NuGet\Install-Package Planfact.AmoCrm.Client -Version 1.2.2
<PackageReference Include="Planfact.AmoCrm.Client" Version="1.2.2" />
<PackageVersion Include="Planfact.AmoCrm.Client" Version="1.2.2" />
<PackageReference Include="Planfact.AmoCrm.Client" />
paket add Planfact.AmoCrm.Client --version 1.2.2
#r "nuget: Planfact.AmoCrm.Client, 1.2.2"
#:package Planfact.AmoCrm.Client@1.2.2
#addin nuget:?package=Planfact.AmoCrm.Client&version=1.2.2
#tool nuget:?package=Planfact.AmoCrm.Client&version=1.2.2
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);
}
}
Тестирование
В текущей реализации проект содержит более 600 unit тестов, обеспечивающих покрытие основной функциональности. В ходе развития проекта будут реализованы интеграционные тесты и snapshot-тесты контракта API
Запуск тестов
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.
🎉 Релиз v1.2.2 – Теги и дополнительные поля
✨ Что нового:
• Поддержка частичного заполнения тегов при создании/редактировании сущностей amoCRM
• Поддержка нового типа дополнительных полей - multitext
🔧 Для чего это нужно:
• Покрытие use-кейсов, в которых нет возможности заполнить id или name тега
• Устранение ошибок при десериализации полей с типом multitext
✅ Обратная совместимость:
Изменения направлены на расширение имеющейся функциональности и не нарушают обратную совместимость публичного API библиотеки Planfact.AmoCrm.Client.