Skip to content

avadev/Avalara-SDK-DotNet

Repository files navigation

Avalara.SDK - the Unified C# library for next gen Avalara services.

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.

Frameworks supported

  • .NET Core >=1.0
  • .NET Framework >=4.6

Dependencies

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

Getting Started

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);
            }

        }
    }
}

Documentation for API Endpoints

EInvoicing V1 API Documentation

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.

Documentation for Models

EInvoicing V1 Model Documentation

About

Avalara-SDK-DotNet

Resources

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages