JotaSystem.Sdk.Providers
1.0.24
See the version list below for details.
dotnet add package JotaSystem.Sdk.Providers --version 1.0.24
NuGet\Install-Package JotaSystem.Sdk.Providers -Version 1.0.24
<PackageReference Include="JotaSystem.Sdk.Providers" Version="1.0.24" />
<PackageVersion Include="JotaSystem.Sdk.Providers" Version="1.0.24" />
<PackageReference Include="JotaSystem.Sdk.Providers" />
paket add JotaSystem.Sdk.Providers --version 1.0.24
#r "nuget: JotaSystem.Sdk.Providers, 1.0.24"
#:package JotaSystem.Sdk.Providers@1.0.24
#addin nuget:?package=JotaSystem.Sdk.Providers&version=1.0.24
#tool nuget:?package=JotaSystem.Sdk.Providers&version=1.0.24
JotaSystem.Sdk.Providers
Biblioteca de integrações externas da Jota System para aplicações .NET.
Descrição
O JotaSystem.Sdk.Providers reúne implementações concretas de comunicação com serviços de terceiros e um builder para registro modular dessas integrações no container de DI.
Hoje o pacote contém:
AbstractionscomApiResponseeProviderBasepara padronizar chamadas HTTP e respostas.Logisticscentraliza consulta de endereços e fretes viaViaCep,OpenCep,BrasilApieCorreios.Aicom integração de chat viaOpenAI.Communicationcentraliza os canaisEmail,SmsePushNotification, com implementações de e-mail paraSMTP,Brevo,SendGrideSendPulse.Storagecom implementação paraAzure Blob Storage.Paymentscom o contrato de gateway de pagamento e a integração completa com aCielo(API E-commerce 3.0).DependencyInjectioncomAddJotaSystemProviders()e extensões modulares por área.
Registro e composição
O pacote usa um builder próprio para permitir composição por provider:
builder.Services
.AddJotaSystemProviders()
.AddViaCep()
.AddOpenCep()
.AddBrasilApi()
.AddCorreios(options =>
{
options.DefaultCredentials = new CorreiosCredentials
{
UserName = "...",
AccessCode = "...",
PostingCardNumber = "..."
};
})
.AddOpenAi(options =>
{
options.ApiKey = "...";
options.Model = "...";
})
.AddSmtp(options =>
{
options.Host = "...";
})
.AddAzureBlob(options =>
{
options.ConnectionString = "...";
})
.AddPayments()
.AddCielo(options =>
{
options.DefaultCredentials = new CieloCredentials
{
MerchantId = "...",
MerchantKey = "...",
Environment = CieloEnvironmentEnum.Sandbox
};
options.SoftDescriptor = "MinhaLoja";
options.BoletoProvider = "Bradesco2";
});
Pagamentos
AddPayments() registra o IPaymentGatewayProviderResolver, que escolhe o gateway pela chave gravada na integração do sistema consumidor. AddCielo() registra a Cielo sob a chave cielo e também expõe o ICieloProvider, com o contrato completo da API E-commerce: venda, consulta por PaymentId e por MerchantOrderId, captura, cancelamento, devolução Pix e gestão da recorrência agendada.
Meios de pagamento aceitos no código do método (MethodCode):
| Código | Meio |
|---|---|
credit_card |
Cartão de crédito |
credit_card_recurrent |
Cartão de crédito com recorrência agendada pela Cielo |
pix |
QRCode Pix |
boleto |
Boleto registrado |
Cartão, endereço do pagador e parâmetros de recorrência vêm do próprio contrato de pagamento do JotaSystem.Sdk.Core: PaymentProviderRequest.Card (PaymentCard), Customer.Address (PaymentAddress) e PaymentProviderRequest.Recurrence (PaymentRecurrence). Em PaymentCard, o número e o código de segurança não são serializados — chegam à Cielo, mas ficam fora de log e de payload persistido.
Captura do cartão no navegador (Silent Order Post)
O caminho recomendado para crédito é não deixar o cartão passar pelo servidor da loja. CreateCheckoutSessionAsync abre uma sessão do Silent Order Post: o SDK autentica no OAuth2 da Cielo com ClientId/ClientSecret, pede um AccessToken de sessão e devolve, junto dele, o endereço do script e o ambiente. A página de checkout carrega o script, marca os campos com as classes bp-sop-cardnumber, bp-sop-cardexpirationdate, bp-sop-cardholdername e bp-sop-cardcvv, e chama bpSop_silentOrderPost. A Cielo devolve ao navegador um PaymentToken de uso único, válido por 20 minutos.
Esse token é enviado à cobrança em PaymentCard.SingleUseToken; o provider o traduz para Payment.CreditCard.PaymentToken e não envia nenhum outro dado do cartão — número, validade e CVV já estão dentro do token, e reenviá-los faz a Cielo recusar a autorização.
O token OAuth2 dura cerca de dez minutos e é reaproveitado entre requisições por um cache em memória, então abrir vários checkouts não gera uma autenticação por checkout.
Os metadados da cobrança ficam reservados aos ajustes específicos da Cielo, com as chaves de CieloMetadataKeys: soft_descriptor, capture, boleto_provider, boleto_assignor, boleto_instructions, boleto_demonstrative, boleto_identification e boleto_number. Cada um deles também pode ser definido no PublicConfigJson da integração ou nas CieloOptions, nessa ordem de precedência.
As credenciais são resolvidas nesta ordem: credenciais nomeadas em NamedCredentials pela SecretReference da integração; merchantId do PublicConfigJson combinado com a SecretReference como MerchantKey; e, por último, DefaultCredentials. O ambiente (sandbox ou production) vem da própria integração.
Providers disponíveis
- Logística:
IViaCepProvider,IOpenCepProvider,IBrasilApiProvider,ICorreiosProvider,IMelhorEnvioProvider - IA:
IOpenAiProvider - Comunicação:
ISmtpProvider,IBrevoProvider,ISendGridProvider,ISendPulseProvider - Storage:
IAzureBlobProvider - Pagamentos:
IPaymentGatewayProviderResolver,IPaymentGatewayProvider(chavecielo),ICieloProvider
Perfil do pacote
Este SDK representa a camada de adaptação para serviços externos. Ele pode ser consumido isoladamente, mas o uso mais natural é como implementação concreta dos contratos de infraestrutura definidos pela arquitetura da Jota System.
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net10.0 is compatible. 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. |
-
net10.0
- Azure.Storage.Blobs (>= 12.29.2)
- brevo_csharp (>= 1.1.3)
- JotaSystem.Sdk.Common (>= 1.0.72)
- JotaSystem.Sdk.Core (>= 1.0.94)
- Microsoft.Extensions.DependencyInjection.Abstractions (>= 10.0.11)
- Microsoft.Extensions.Http (>= 10.0.11)
- OpenAI (>= 2.13.0)
- SendGrid (>= 9.29.3)
- SendPulse.SDK (>= 1.0.0)
- ViaCep (>= 5.0.4)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 1.0.25 | 25 | 9/7/2026 |
| 1.0.24 | 35 | 9/7/2026 |
| 1.0.22 | 100 | 8/17/2026 |
| 1.0.20 | 90 | 8/17/2026 |
| 1.0.19 | 111 | 8/11/2026 |
| 1.0.18 | 114 | 7/23/2026 |
| 1.0.17 | 126 | 6/24/2026 |
| 1.0.16 | 115 | 6/23/2026 |
| 1.0.15 | 118 | 6/22/2026 |
| 1.0.14 | 187 | 5/19/2026 |
| 1.0.13 | 152 | 3/17/2026 |
| 1.0.12 | 119 | 3/14/2026 |
| 1.0.11 | 142 | 2/28/2026 |
| 1.0.10 | 119 | 2/28/2026 |
| 1.0.9 | 125 | 2/27/2026 |
| 1.0.8 | 123 | 2/15/2026 |
| 1.0.7 | 203 | 12/26/2025 |
| 1.0.6 | 346 | 12/7/2025 |
| 1.0.5 | 245 | 12/4/2025 |
| 1.0.3 | 232 | 11/25/2025 |