Unified SDK consists of services on top of which the Avalara Compliance Cloud platform is built. These services are foundational and provide functionality such as einvoicing.
- .NET Core >=1.0
- .NET Framework >=4.6
- Json.NET - 13.0.1 or later
- JsonSubTypes - 1.8.0 or later
- Polly - 7.2.2 or later
- System.ComponentModel.Annotations - 5.0.0 or later
The DLLs included in the package may not be the latest version. We recommend using NuGet to obtain the latest version of the packages:
Install-Package Newtonsoft.Json
Install-Package JsonSubTypes
Install-Package System.ComponentModel.Annotations
using System;
using Avalara.SDK.Client;
using Avalara.SDK.Helpers;
using Avalara.SDK.Api.EInvoicing.V1;
using System.Threading.Tasks;
namespace Example
{
public class Example
{
public static void Main()
{
Configuration configuration = new Configuration
{
Environment = AvalaraEnvironment.Sandbox,
BearerToken = Environment.GetEnvironmentVariable("BEARER_TOKEN"), // Your Bearer token to connect to Avalara
AppName = "Test",
AppVersion = "1.0",
MachineName = "LocalBox"
};
ApiClient apiClient = new ApiClient(configuration);
var mandatesApi = new MandatesApi(apiClient);
var requestParameters = new GetMandatesRequest();
requestParameters.XAvalaraClient = "\"Swagger UI; 22.7.0; Custom; 1.0\""; // string | Identifies the software you are using to call this API. For more information on the client header, see [Client Headers](https://developer.avalara.com/avatax/client-headers/) . (optional) (default to "Swagger UI; 22.7.0; Custom; 1.0")
try
{
// Retrieve the list of Mandates
var response = await mandatesApi.GetMandatesAsync(requestParameters);
Debug.WriteLine(response);
}
catch (ApiException e)
{
Debug.Print("Exception when calling AddressesApi.ResolveAddressPost: " + e.Message);
Debug.Print("Status Code: " + e.ErrorCode);
Debug.Print(e.StackTrace);
}
}
}
}| Class | Method | HTTP request | Description |
|---|---|---|---|
| CodeListsApi | GetCodeList | GET /codelists/{codelistId} | Retrieves a code list by ID for a specific country |
| CodeListsApi | GetCodeListList | GET /codelists | Returns a list of code lists for a specific country |
| DataInputFieldsApi | GetDataInputFields | GET /data-input-fields | Returns the optionality of document fields for different country mandates |
| DocumentsApi | DownloadDocument | GET /documents/{documentId}/$download | Returns a copy of the document |
| DocumentsApi | FetchDocuments | POST /documents/$fetch | Fetch the inbound document from a tax authority |
| DocumentsApi | GetDocumentList | GET /documents | Returns a summary of documents for a date range |
| DocumentsApi | GetDocumentStatus | GET /documents/{documentId}/status | Checks the status of a document |
| DocumentsApi | SubmitDocument | POST /documents | Submits a document to Avalara E-Invoicing API |
| InteropApi | SubmitInteropDocument | POST /interop/documents | Submit a document |
| MandatesApi | GetMandateDataInputFields | GET /mandates/{mandateId}/data-input-fields | Returns document field information for a country mandate, a selected document type, and its version |
| MandatesApi | GetMandates | GET /mandates | List country mandates that are supported by the Avalara E-Invoicing platform |
| ReportsApi | DownloadReport | GET /reports/{reportId}/$download | Returns a pre-signed download URL for a report |
| ReportsApi | GetReportById | GET /reports/{reportId}/status | Retrieves a report by its unique ID |
| ReportsApi | GetReports | GET /reports | Returns a list of reports |
| SubscriptionsApi | CreateWebhookSubscription | POST /webhooks/subscriptions | Create a subscription to events |
| SubscriptionsApi | DeleteWebhookSubscription | DELETE /webhooks/subscriptions/{subscriptionId} | Unsubscribe from events |
| SubscriptionsApi | GetWebhookSubscription | GET /webhooks/subscriptions/{subscriptionId} | Get details of a subscription |
| SubscriptionsApi | ListWebhookSubscriptions | GET /webhooks/subscriptions | List all subscriptions |
| TaxIdentifiersApi | TaxIdentifierSchemaByCountry | GET /tax-identifiers/schema | Returns the tax identifier request and response schema for a specific country. |
| TaxIdentifiersApi | ValidateTaxIdentifier | POST /tax-identifiers/validate | Validates a tax identifier. |
| TradingPartnersApi | BatchSearchParticipants | POST /trading-partners/batch-searches | Handles batch search requests by uploading a file containing search parameters. |
| TradingPartnersApi | CreateTradingPartner | POST /trading-partners | Creates a new trading partner. |
| TradingPartnersApi | CreateTradingPartnersBatch | POST /trading-partners/batch | Creates a batch of multiple trading partners. |
| TradingPartnersApi | DeleteTradingPartner | DELETE /trading-partners/{id} | Deletes a trading partner using ID. |
| TradingPartnersApi | DownloadBatchSearchReport | GET /trading-partners/batch-searches/{id}/$download-results | Downloads batch search results in a csv file. |
| TradingPartnersApi | GetBatchSearchDetail | GET /trading-partners/batch-searches/{id} | Returns the batch search details using ID. |
| TradingPartnersApi | ListBatchSearches | GET /trading-partners/batch-searches | Lists all batch searches that were previously submitted. |
| TradingPartnersApi | SearchParticipants | GET /trading-partners | Returns a list of participants matching the input query. |
| TradingPartnersApi | UpdateTradingPartner | PUT /trading-partners/{id} | Updates a trading partner using ID. |
- Model.EInvoicing.V1.Address
- Model.EInvoicing.V1.BadDownloadRequest
- Model.EInvoicing.V1.BadRequest
- Model.EInvoicing.V1.BatchErrorDetail
- Model.EInvoicing.V1.BatchSearch
- Model.EInvoicing.V1.BatchSearchListResponse
- Model.EInvoicing.V1.BatchSearchParticipants202Response
- Model.EInvoicing.V1.CodeListListResponse
- Model.EInvoicing.V1.CodeListResponse
- Model.EInvoicing.V1.CodeListSummary
- Model.EInvoicing.V1.CodeListValue
- Model.EInvoicing.V1.CodeListVersion
- Model.EInvoicing.V1.ConditionalForField
- Model.EInvoicing.V1.Consents
- Model.EInvoicing.V1.CreateTradingPartner201Response
- Model.EInvoicing.V1.CreateTradingPartnersBatch200Response
- Model.EInvoicing.V1.CreateTradingPartnersBatch200ResponseValueInner
- Model.EInvoicing.V1.CreateTradingPartnersBatchRequest
- Model.EInvoicing.V1.DataInputField
- Model.EInvoicing.V1.DataInputFieldNotUsedFor
- Model.EInvoicing.V1.DataInputFieldOptionalFor
- Model.EInvoicing.V1.DataInputFieldRequiredFor
- Model.EInvoicing.V1.DataInputFieldsResponse
- Model.EInvoicing.V1.DocumentFetch
- Model.EInvoicing.V1.DocumentListResponse
- Model.EInvoicing.V1.DocumentStatusResponse
- Model.EInvoicing.V1.DocumentSubmissionError
- Model.EInvoicing.V1.DocumentSubmitResponse
- Model.EInvoicing.V1.DocumentSummary
- Model.EInvoicing.V1.ErrorResponse
- Model.EInvoicing.V1.EventId
- Model.EInvoicing.V1.EventMessage
- Model.EInvoicing.V1.EventPayload
- Model.EInvoicing.V1.EventSubscription
- Model.EInvoicing.V1.Extension
- Model.EInvoicing.V1.FetchDocumentsRequest
- Model.EInvoicing.V1.FetchDocumentsRequestDataInner
- Model.EInvoicing.V1.FetchDocumentsRequestMetadata
- Model.EInvoicing.V1.ForbiddenError
- Model.EInvoicing.V1.HmacSignature
- Model.EInvoicing.V1.HmacSignatureValue
- Model.EInvoicing.V1.Id
- Model.EInvoicing.V1.Identifier
- Model.EInvoicing.V1.InputDataFormats
- Model.EInvoicing.V1.InternalServerError
- Model.EInvoicing.V1.Mandate
- Model.EInvoicing.V1.MandateDataInputField
- Model.EInvoicing.V1.MandateDataInputFieldNamespace
- Model.EInvoicing.V1.MandatesResponse
- Model.EInvoicing.V1.NotFoundError
- Model.EInvoicing.V1.NotUsedForField
- Model.EInvoicing.V1.OutputDataFormats
- Model.EInvoicing.V1.Pagination
- Model.EInvoicing.V1.ReportDownloadResponse
- Model.EInvoicing.V1.ReportItem
- Model.EInvoicing.V1.ReportListResponse
- Model.EInvoicing.V1.RequiredWhenField
- Model.EInvoicing.V1.SearchParticipants200Response
- Model.EInvoicing.V1.Signature
- Model.EInvoicing.V1.SignatureSignature
- Model.EInvoicing.V1.SignatureValue
- Model.EInvoicing.V1.SignatureValueSignature
- Model.EInvoicing.V1.StatusEvent
- Model.EInvoicing.V1.SubmitDocumentMetadata
- Model.EInvoicing.V1.SubmitInteropDocument202Response
- Model.EInvoicing.V1.SubscriptionCommon
- Model.EInvoicing.V1.SubscriptionDetail
- Model.EInvoicing.V1.SubscriptionListResponse
- Model.EInvoicing.V1.SubscriptionRegistration
- Model.EInvoicing.V1.SuccessResponse
- Model.EInvoicing.V1.SupportedDocumentStatuses
- Model.EInvoicing.V1.SupportedDocumentTypes
- Model.EInvoicing.V1.TaxIdentifierRequest
- Model.EInvoicing.V1.TaxIdentifierResponse
- Model.EInvoicing.V1.TaxIdentifierResponseValue
- Model.EInvoicing.V1.TaxIdentifierSchemaByCountry200Response
- Model.EInvoicing.V1.TradingPartner
- Model.EInvoicing.V1.UpdateTradingPartner200Response
- Model.EInvoicing.V1.ValidationError
- Model.EInvoicing.V1.WebhookInvocation
- Model.EInvoicing.V1.WebhooksErrorInfo
- Model.EInvoicing.V1.WebhooksErrorResponse
- Model.EInvoicing.V1.WorkflowIds