diff --git a/GlobalAssemblyInfo.cs b/GlobalAssemblyInfo.cs index 635bc79..9fa1283 100644 --- a/GlobalAssemblyInfo.cs +++ b/GlobalAssemblyInfo.cs @@ -30,5 +30,5 @@ // Revision // -[assembly: AssemblyVersion("24.6.1")] -[assembly: AssemblyFileVersion("24.6.1")] +[assembly: AssemblyVersion("24.6.3")] +[assembly: AssemblyFileVersion("24.6.3")] diff --git a/src/AvaTaxApi.cs b/src/AvaTaxApi.cs index eee5f81..bf181fb 100644 --- a/src/AvaTaxApi.cs +++ b/src/AvaTaxApi.cs @@ -17,7 +17,7 @@ * @author Sachin Baijal * @copyright 2004-2023 Avalara, Inc. * @license https://www.apache.org/licenses/LICENSE-2.0 - * @version 24.6.1 + * @version 24.6.3 * @link https://github.com/avadev/AvaTax-REST-V2-DotNet-SDK */ @@ -28,7 +28,7 @@ public partial class AvaTaxClient : IAvaTaxClient /// /// Returns the version number of the API used to generate this class /// - public static string API_VERSION { get { return "24.6.1"; } } + public static string API_VERSION { get { return "24.6.3"; } } #region Methods @@ -1502,7 +1502,7 @@ public FetchResult ListCustomersForCertificate(Int32 companyId, I /// * customers - Retrieves the list of customers linked to the certificate. /// * po_numbers - Retrieves all PO numbers tied to the certificate. /// * attributes - Retrieves all attributes applied to the certificate. - /// A filter statement to identify specific records to retrieve. For more information on filtering, see [Filtering in REST](http://developer.avalara.com/avatax/filtering-in-rest/).
*Not filterable:* exemptionNumber, status, ecmsId, ecmsStatus, pdf, pages + /// A filter statement to identify specific records to retrieve. For more information on filtering, see [Filtering in REST](http://developer.avalara.com/avatax/filtering-in-rest/).
*Not filterable:* exemptionNumber, status, ecmStatus, ecmsId, ecmsStatus, pdf, pages /// If nonzero, return no more than this number of results. Used with `$skip` to provide pagination for large datasets. Unless otherwise specified, the maximum number of records that can be returned from an API call is 1,000 records. /// If nonzero, skip this number of results before returning data. Used with `$top` to provide pagination for large datasets. /// A comma separated list of sort statements in the format `(fieldname) [ASC|DESC]`, for example `id ASC`. @@ -3150,7 +3150,7 @@ public FetchResult ListAttributesForCustomer(Int32 compa /// * customers - Retrieves the list of customers linked to the certificate. /// * po_numbers - Retrieves all PO numbers tied to the certificate. /// * attributes - Retrieves all attributes applied to the certificate. - /// A filter statement to identify specific records to retrieve. For more information on filtering, see [Filtering in REST](http://developer.avalara.com/avatax/filtering-in-rest/).
*Not filterable:* exemptionNumber, status, ecmsId, ecmsStatus, pdf, pages + /// A filter statement to identify specific records to retrieve. For more information on filtering, see [Filtering in REST](http://developer.avalara.com/avatax/filtering-in-rest/).
*Not filterable:* exemptionNumber, status, ecmStatus, ecmsId, ecmsStatus, pdf, pages /// If nonzero, return no more than this number of results. Used with `$skip` to provide pagination for large datasets. Unless otherwise specified, the maximum number of records that can be returned from an API call is 1,000 records. /// If nonzero, skip this number of results before returning data. Used with `$top` to provide pagination for large datasets. /// A comma separated list of sort statements in the format `(fieldname) [ASC|DESC]`, for example `id ASC`. @@ -3241,7 +3241,7 @@ public ExemptionStatusModel ListValidCertificatesForCustomer(Int32 companyId, St /// Swagger Name: AvaTaxClient /// The unique ID number of the company that recorded this customer /// OPTIONAL - You can specify the value `certificates` to fetch information about certificates linked to the customer. - /// A filter statement to identify specific records to retrieve. For more information on filtering, see [Filtering in REST](http://developer.avalara.com/avatax/filtering-in-rest/).
*Not filterable:* shipTos + /// A filter statement to identify specific records to retrieve. For more information on filtering, see [Filtering in REST](http://developer.avalara.com/avatax/filtering-in-rest/). /// If nonzero, return no more than this number of results. Used with `$skip` to provide pagination for large datasets. Unless otherwise specified, the maximum number of records that can be returned from an API call is 1,000 records. /// If nonzero, skip this number of results before returning data. Used with `$top` to provide pagination for large datasets. /// A comma separated list of sort statements in the format `(fieldname) [ASC|DESC]`, for example `id ASC`. @@ -6269,13 +6269,13 @@ public GLAccountSuccessResponseModel UpdateGLAccount(Int32 companyid, Int64 glac /// Swagger Name: AvaTaxClient /// The ID of the company that owns this item. /// The ID of the item you wish to delete the classifications. - public List BatchDeleteItemClassifications(Int32 companyId, Int64 itemId) + public List BatchDeleteItemClassifications(Int32 companyId, Int64 itemId) { var path = new AvaTaxPath("/api/v2/companies/{companyId}/items/{itemId}/classifications"); path.ApplyField("companyId", companyId); path.ApplyField("itemId", itemId); _clientHeaders[Constants.AVALARA_CLIENT_HEADER]=string.Format(ClientID, API_VERSION); - return RestCall>("DELETE", path, null); + return RestCall>("DELETE", path, null); } @@ -6298,13 +6298,13 @@ public List BatchDeleteItemClassifications(Int32 companyId, Int64 i /// Swagger Name: AvaTaxClient /// The ID of the company that owns this item. /// The ID of the item you wish to delete the parameters. - public List BatchDeleteItemParameters(Int32 companyId, Int64 itemId) + public List BatchDeleteItemParameters(Int32 companyId, Int64 itemId) { var path = new AvaTaxPath("/api/v2/companies/{companyId}/items/{itemId}/parameters"); path.ApplyField("companyId", companyId); path.ApplyField("itemId", itemId); _clientHeaders[Constants.AVALARA_CLIENT_HEADER]=string.Format(ClientID, API_VERSION); - return RestCall>("DELETE", path, null); + return RestCall>("DELETE", path, null); } @@ -6513,13 +6513,13 @@ public ItemTaxCodeClassificationRequestOutputModel CreateTaxCodeClassificationRe /// Swagger Name: AvaTaxClient /// The ID of the company that owns this item. /// The code of the item you want to delete. - public List DeleteCatalogueItem(Int32 companyId, String itemCode) + public List DeleteCatalogueItem(Int32 companyId, String itemCode) { var path = new AvaTaxPath("/api/v2/companies/{companyId}/itemcatalogue/{itemCode}"); path.ApplyField("companyId", companyId); path.ApplyField("itemCode", itemCode); _clientHeaders[Constants.AVALARA_CLIENT_HEADER]=string.Format(ClientID, API_VERSION); - return RestCall>("DELETE", path, null); + return RestCall>("DELETE", path, null); } @@ -6544,13 +6544,13 @@ public List DeleteCatalogueItem(Int32 companyId, String itemCode) /// Swagger Name: AvaTaxClient /// The ID of the company that owns this item. /// The ID of the item you wish to delete. - public List DeleteItem(Int32 companyId, Int64 id) + public List DeleteItem(Int32 companyId, Int64 id) { var path = new AvaTaxPath("/api/v2/companies/{companyId}/items/{id}"); path.ApplyField("companyId", companyId); path.ApplyField("id", id); _clientHeaders[Constants.AVALARA_CLIENT_HEADER]=string.Format(ClientID, API_VERSION); - return RestCall>("DELETE", path, null); + return RestCall>("DELETE", path, null); } @@ -6572,14 +6572,14 @@ public List DeleteItem(Int32 companyId, Int64 id) /// The company id. /// The item id. /// The item classification id. - public List DeleteItemClassification(Int32 companyId, Int64 itemId, Int64 id) + public List DeleteItemClassification(Int32 companyId, Int64 itemId, Int64 id) { var path = new AvaTaxPath("/api/v2/companies/{companyId}/items/{itemId}/classifications/{id}"); path.ApplyField("companyId", companyId); path.ApplyField("itemId", itemId); path.ApplyField("id", id); _clientHeaders[Constants.AVALARA_CLIENT_HEADER]=string.Format(ClientID, API_VERSION); - return RestCall>("DELETE", path, null); + return RestCall>("DELETE", path, null); } @@ -6603,14 +6603,14 @@ public List DeleteItemClassification(Int32 companyId, Int64 itemId, /// The company id /// The item id /// The parameter id - public List DeleteItemParameter(Int32 companyId, Int64 itemId, Int64 id) + public List DeleteItemParameter(Int32 companyId, Int64 itemId, Int64 id) { var path = new AvaTaxPath("/api/v2/companies/{companyId}/items/{itemId}/parameters/{id}"); path.ApplyField("companyId", companyId); path.ApplyField("itemId", itemId); path.ApplyField("id", id); _clientHeaders[Constants.AVALARA_CLIENT_HEADER]=string.Format(ClientID, API_VERSION); - return RestCall>("DELETE", path, null); + return RestCall>("DELETE", path, null); } @@ -6630,14 +6630,14 @@ public List DeleteItemParameter(Int32 companyId, Int64 itemId, Int6 /// The ID of the company that defined these items /// The ID of the item as defined by the company that owns this tag. /// The ID of the item tag detail you wish to delete. - public List DeleteItemTag(Int32 companyId, Int64 itemId, Int32 itemTagDetailId) + public List DeleteItemTag(Int32 companyId, Int64 itemId, Int32 itemTagDetailId) { var path = new AvaTaxPath("/api/v2/companies/{companyId}/items/{itemId}/tags/{itemTagDetailId}"); path.ApplyField("companyId", companyId); path.ApplyField("itemId", itemId); path.ApplyField("itemTagDetailId", itemTagDetailId); _clientHeaders[Constants.AVALARA_CLIENT_HEADER]=string.Format(ClientID, API_VERSION); - return RestCall>("DELETE", path, null); + return RestCall>("DELETE", path, null); } @@ -6656,13 +6656,13 @@ public List DeleteItemTag(Int32 companyId, Int64 itemId, Int32 item /// Swagger Name: AvaTaxClient /// The ID of the company that defined these items. /// The ID of the item as defined by the company that owns this tag. - public List DeleteItemTags(Int32 companyId, Int64 itemId) + public List DeleteItemTags(Int32 companyId, Int64 itemId) { var path = new AvaTaxPath("/api/v2/companies/{companyId}/items/{itemId}/tags"); path.ApplyField("companyId", companyId); path.ApplyField("itemId", itemId); _clientHeaders[Constants.AVALARA_CLIENT_HEADER]=string.Format(ClientID, API_VERSION); - return RestCall>("DELETE", path, null); + return RestCall>("DELETE", path, null); } @@ -6801,13 +6801,13 @@ public FetchResult GetItemTags(Int32 companyId, Int64 /// Swagger Name: AvaTaxClient /// /// - public TaxCodeRecommendationsOutputModel GetItemTaxCodeRecommendations(Int32 companyId, Int64 itemId) + public List GetItemTaxCodeRecommendations(Int32 companyId, Int64 itemId) { var path = new AvaTaxPath("/api/v2/companies/{companyId}/items/{itemId}/taxcoderecommendations"); path.ApplyField("companyId", companyId); path.ApplyField("itemId", itemId); _clientHeaders[Constants.AVALARA_CLIENT_HEADER]=string.Format(ClientID, API_VERSION); - return RestCall("GET", path, null); + return RestCall>("GET", path, null); } @@ -6991,6 +6991,7 @@ public FetchResult ListItemParameters(Int32 companyId, Int64 /// * Classifications /// * Tags /// * Properties + /// * TaxCodeRecommendationStatus /// /// ### Security Policies /// @@ -6998,7 +6999,7 @@ public FetchResult ListItemParameters(Int32 companyId, Int64 /// /// Swagger Name: AvaTaxClient /// The ID of the company that defined these items - /// A filter statement to identify specific records to retrieve. For more information on filtering, see [Filtering in REST](http://developer.avalara.com/avatax/filtering-in-rest/).
*Not filterable:* taxCode, source, sourceEntityId, itemType, upc, summary, classifications, parameters, tags, properties, itemStatus, taxCodeRecommendationStatus + /// A filter statement to identify specific records to retrieve. For more information on filtering, see [Filtering in REST](http://developer.avalara.com/avatax/filtering-in-rest/).
*Not filterable:* taxCode, source, sourceEntityId, itemType, upc, summary, classifications, parameters, tags, properties, itemStatus, taxCodeRecommendationStatus, taxCodeRecommendations /// A comma separated list of additional data to retrieve. /// If nonzero, return no more than this number of results. Used with `$skip` to provide pagination for large datasets. Unless otherwise specified, the maximum number of records that can be returned from an API call is 1,000 records. /// If nonzero, skip this number of results before returning data. Used with `$top` to provide pagination for large datasets. @@ -7044,7 +7045,7 @@ public FetchResult ListItemsByCompany(Int32 companyId, String filter, /// * This API requires one of the following user roles: AccountAdmin, AccountUser, BatchServiceAdmin, CompanyAdmin, CompanyUser, CSPAdmin, CSPTester, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin, TechnicalSupportUser. /// /// Swagger Name: AvaTaxClient - /// A filter statement to identify specific records to retrieve. For more information on filtering, see [Filtering in REST](http://developer.avalara.com/avatax/filtering-in-rest/).
*Not filterable:* taxCode, source, sourceEntityId, itemType, upc, summary, classifications, parameters, tags, properties, itemStatus, taxCodeRecommendationStatus + /// A filter statement to identify specific records to retrieve. For more information on filtering, see [Filtering in REST](http://developer.avalara.com/avatax/filtering-in-rest/).
*Not filterable:* taxCode, source, sourceEntityId, itemType, upc, summary, classifications, parameters, tags, properties, itemStatus, taxCodeRecommendationStatus, taxCodeRecommendations /// A comma separated list of additional data to retrieve. /// If nonzero, return no more than this number of results. Used with `$skip` to provide pagination for large datasets. Unless otherwise specified, the maximum number of records that can be returned from an API call is 1,000 records. /// If nonzero, skip this number of results before returning data. Used with `$top` to provide pagination for large datasets. @@ -7125,7 +7126,7 @@ public FetchResult QueryItemsBySystemCode(Int32 companyId, String sys /// Swagger Name: AvaTaxClient /// The ID of the company that defined these items. /// The master tag to be associated with item. - /// A filter statement to identify specific records to retrieve. For more information on filtering, see [Filtering in REST](http://developer.avalara.com/avatax/filtering-in-rest/).
*Not filterable:* taxCode, source, sourceEntityId, itemType, upc, summary, classifications, parameters, tags, properties, itemStatus, taxCodeRecommendationStatus + /// A filter statement to identify specific records to retrieve. For more information on filtering, see [Filtering in REST](http://developer.avalara.com/avatax/filtering-in-rest/).
*Not filterable:* taxCode, source, sourceEntityId, itemType, upc, summary, classifications, parameters, tags, properties, itemStatus, taxCodeRecommendationStatus, taxCodeRecommendations /// A comma separated list of additional data to retrieve. /// If nonzero, return no more than this number of results. Used with `$skip` to provide pagination for large datasets. Unless otherwise specified, the maximum number of records that can be returned from an API call is 1,000 records. /// If nonzero, skip this number of results before returning data. Used with `$top` to provide pagination for large datasets. @@ -7230,12 +7231,14 @@ public SyncItemsResponseModel SyncItems(Int32 companyId, SyncItemsRequestModel m /// Swagger Name: AvaTaxClient /// The ID of the company that this item belongs to. /// The ID of the item you wish to update + /// If true then Set recommendation status to RecommendationSelected /// The item object you wish to update. - public ItemModel UpdateItem(Int32 companyId, Int64 id, ItemModel model) + public ItemModel UpdateItem(Int32 companyId, Int64 id, Boolean? isRecommendationSelected, ItemModel model) { var path = new AvaTaxPath("/api/v2/companies/{companyId}/items/{id}"); path.ApplyField("companyId", companyId); path.ApplyField("id", id); + path.AddQuery("isRecommendationSelected", isRecommendationSelected); _clientHeaders[Constants.AVALARA_CLIENT_HEADER]=string.Format(ClientID, API_VERSION); return RestCall("PUT", path, model); } @@ -14188,7 +14191,7 @@ public async Task> ListCustomersForCertificateAsync(I /// * customers - Retrieves the list of customers linked to the certificate. /// * po_numbers - Retrieves all PO numbers tied to the certificate. /// * attributes - Retrieves all attributes applied to the certificate. - /// A filter statement to identify specific records to retrieve. For more information on filtering, see [Filtering in REST](http://developer.avalara.com/avatax/filtering-in-rest/).
*Not filterable:* exemptionNumber, status, ecmsId, ecmsStatus, pdf, pages + /// A filter statement to identify specific records to retrieve. For more information on filtering, see [Filtering in REST](http://developer.avalara.com/avatax/filtering-in-rest/).
*Not filterable:* exemptionNumber, status, ecmStatus, ecmsId, ecmsStatus, pdf, pages /// If nonzero, return no more than this number of results. Used with `$skip` to provide pagination for large datasets. Unless otherwise specified, the maximum number of records that can be returned from an API call is 1,000 records. /// If nonzero, skip this number of results before returning data. Used with `$top` to provide pagination for large datasets. /// A comma separated list of sort statements in the format `(fieldname) [ASC|DESC]`, for example `id ASC`. @@ -15889,7 +15892,7 @@ public async Task> ListAttributesForCustomer /// * customers - Retrieves the list of customers linked to the certificate. /// * po_numbers - Retrieves all PO numbers tied to the certificate. /// * attributes - Retrieves all attributes applied to the certificate. - /// A filter statement to identify specific records to retrieve. For more information on filtering, see [Filtering in REST](http://developer.avalara.com/avatax/filtering-in-rest/).
*Not filterable:* exemptionNumber, status, ecmsId, ecmsStatus, pdf, pages + /// A filter statement to identify specific records to retrieve. For more information on filtering, see [Filtering in REST](http://developer.avalara.com/avatax/filtering-in-rest/).
*Not filterable:* exemptionNumber, status, ecmStatus, ecmsId, ecmsStatus, pdf, pages /// If nonzero, return no more than this number of results. Used with `$skip` to provide pagination for large datasets. Unless otherwise specified, the maximum number of records that can be returned from an API call is 1,000 records. /// If nonzero, skip this number of results before returning data. Used with `$top` to provide pagination for large datasets. /// A comma separated list of sort statements in the format `(fieldname) [ASC|DESC]`, for example `id ASC`. @@ -15982,7 +15985,7 @@ public async Task ListValidCertificatesForCustomerAsync(In /// The unique ID number of the company that recorded this customer /// OPTIONAL - You can specify the value `certificates` to fetch information about certificates linked to the customer. - /// A filter statement to identify specific records to retrieve. For more information on filtering, see [Filtering in REST](http://developer.avalara.com/avatax/filtering-in-rest/).
*Not filterable:* shipTos + /// A filter statement to identify specific records to retrieve. For more information on filtering, see [Filtering in REST](http://developer.avalara.com/avatax/filtering-in-rest/). /// If nonzero, return no more than this number of results. Used with `$skip` to provide pagination for large datasets. Unless otherwise specified, the maximum number of records that can be returned from an API call is 1,000 records. /// If nonzero, skip this number of results before returning data. Used with `$top` to provide pagination for large datasets. /// A comma separated list of sort statements in the format `(fieldname) [ASC|DESC]`, for example `id ASC`. @@ -19123,13 +19126,13 @@ public async Task UpdateGLAccountAsync(Int32 comp /// The ID of the company that owns this item. /// The ID of the item you wish to delete the classifications. - public async Task> BatchDeleteItemClassificationsAsync(Int32 companyId, Int64 itemId) + public async Task> BatchDeleteItemClassificationsAsync(Int32 companyId, Int64 itemId) { var path = new AvaTaxPath("/api/v2/companies/{companyId}/items/{itemId}/classifications"); path.ApplyField("companyId", companyId); path.ApplyField("itemId", itemId); _clientHeaders[Constants.AVALARA_CLIENT_HEADER]=string.Format(ClientID , API_VERSION); - return await RestCallAsync>("DELETE", path, null).ConfigureAwait(false); + return await RestCallAsync>("DELETE", path, null).ConfigureAwait(false); } @@ -19153,13 +19156,13 @@ public async Task> BatchDeleteItemClassificationsAsync(Int32 c /// The ID of the company that owns this item. /// The ID of the item you wish to delete the parameters. - public async Task> BatchDeleteItemParametersAsync(Int32 companyId, Int64 itemId) + public async Task> BatchDeleteItemParametersAsync(Int32 companyId, Int64 itemId) { var path = new AvaTaxPath("/api/v2/companies/{companyId}/items/{itemId}/parameters"); path.ApplyField("companyId", companyId); path.ApplyField("itemId", itemId); _clientHeaders[Constants.AVALARA_CLIENT_HEADER]=string.Format(ClientID , API_VERSION); - return await RestCallAsync>("DELETE", path, null).ConfigureAwait(false); + return await RestCallAsync>("DELETE", path, null).ConfigureAwait(false); } @@ -19375,13 +19378,13 @@ public async Task CreateTaxCodeClas /// The ID of the company that owns this item. /// The code of the item you want to delete. - public async Task> DeleteCatalogueItemAsync(Int32 companyId, String itemCode) + public async Task> DeleteCatalogueItemAsync(Int32 companyId, String itemCode) { var path = new AvaTaxPath("/api/v2/companies/{companyId}/itemcatalogue/{itemCode}"); path.ApplyField("companyId", companyId); path.ApplyField("itemCode", itemCode); _clientHeaders[Constants.AVALARA_CLIENT_HEADER]=string.Format(ClientID , API_VERSION); - return await RestCallAsync>("DELETE", path, null).ConfigureAwait(false); + return await RestCallAsync>("DELETE", path, null).ConfigureAwait(false); } @@ -19407,13 +19410,13 @@ public async Task> DeleteCatalogueItemAsync(Int32 companyId, S /// The ID of the company that owns this item. /// The ID of the item you wish to delete. - public async Task> DeleteItemAsync(Int32 companyId, Int64 id) + public async Task> DeleteItemAsync(Int32 companyId, Int64 id) { var path = new AvaTaxPath("/api/v2/companies/{companyId}/items/{id}"); path.ApplyField("companyId", companyId); path.ApplyField("id", id); _clientHeaders[Constants.AVALARA_CLIENT_HEADER]=string.Format(ClientID , API_VERSION); - return await RestCallAsync>("DELETE", path, null).ConfigureAwait(false); + return await RestCallAsync>("DELETE", path, null).ConfigureAwait(false); } @@ -19436,14 +19439,14 @@ public async Task> DeleteItemAsync(Int32 companyId, Int64 id) /// The company id. /// The item id. /// The item classification id. - public async Task> DeleteItemClassificationAsync(Int32 companyId, Int64 itemId, Int64 id) + public async Task> DeleteItemClassificationAsync(Int32 companyId, Int64 itemId, Int64 id) { var path = new AvaTaxPath("/api/v2/companies/{companyId}/items/{itemId}/classifications/{id}"); path.ApplyField("companyId", companyId); path.ApplyField("itemId", itemId); path.ApplyField("id", id); _clientHeaders[Constants.AVALARA_CLIENT_HEADER]=string.Format(ClientID , API_VERSION); - return await RestCallAsync>("DELETE", path, null).ConfigureAwait(false); + return await RestCallAsync>("DELETE", path, null).ConfigureAwait(false); } @@ -19468,14 +19471,14 @@ public async Task> DeleteItemClassificationAsync(Int32 company /// The company id /// The item id /// The parameter id - public async Task> DeleteItemParameterAsync(Int32 companyId, Int64 itemId, Int64 id) + public async Task> DeleteItemParameterAsync(Int32 companyId, Int64 itemId, Int64 id) { var path = new AvaTaxPath("/api/v2/companies/{companyId}/items/{itemId}/parameters/{id}"); path.ApplyField("companyId", companyId); path.ApplyField("itemId", itemId); path.ApplyField("id", id); _clientHeaders[Constants.AVALARA_CLIENT_HEADER]=string.Format(ClientID , API_VERSION); - return await RestCallAsync>("DELETE", path, null).ConfigureAwait(false); + return await RestCallAsync>("DELETE", path, null).ConfigureAwait(false); } @@ -19496,14 +19499,14 @@ public async Task> DeleteItemParameterAsync(Int32 companyId, I /// The ID of the company that defined these items /// The ID of the item as defined by the company that owns this tag. /// The ID of the item tag detail you wish to delete. - public async Task> DeleteItemTagAsync(Int32 companyId, Int64 itemId, Int32 itemTagDetailId) + public async Task> DeleteItemTagAsync(Int32 companyId, Int64 itemId, Int32 itemTagDetailId) { var path = new AvaTaxPath("/api/v2/companies/{companyId}/items/{itemId}/tags/{itemTagDetailId}"); path.ApplyField("companyId", companyId); path.ApplyField("itemId", itemId); path.ApplyField("itemTagDetailId", itemTagDetailId); _clientHeaders[Constants.AVALARA_CLIENT_HEADER]=string.Format(ClientID , API_VERSION); - return await RestCallAsync>("DELETE", path, null).ConfigureAwait(false); + return await RestCallAsync>("DELETE", path, null).ConfigureAwait(false); } @@ -19523,13 +19526,13 @@ public async Task> DeleteItemTagAsync(Int32 companyId, Int64 i /// The ID of the company that defined these items. /// The ID of the item as defined by the company that owns this tag. - public async Task> DeleteItemTagsAsync(Int32 companyId, Int64 itemId) + public async Task> DeleteItemTagsAsync(Int32 companyId, Int64 itemId) { var path = new AvaTaxPath("/api/v2/companies/{companyId}/items/{itemId}/tags"); path.ApplyField("companyId", companyId); path.ApplyField("itemId", itemId); _clientHeaders[Constants.AVALARA_CLIENT_HEADER]=string.Format(ClientID , API_VERSION); - return await RestCallAsync>("DELETE", path, null).ConfigureAwait(false); + return await RestCallAsync>("DELETE", path, null).ConfigureAwait(false); } @@ -19673,13 +19676,13 @@ public async Task> GetItemTagsAsync(Int32 /// /// - public async Task GetItemTaxCodeRecommendationsAsync(Int32 companyId, Int64 itemId) + public async Task> GetItemTaxCodeRecommendationsAsync(Int32 companyId, Int64 itemId) { var path = new AvaTaxPath("/api/v2/companies/{companyId}/items/{itemId}/taxcoderecommendations"); path.ApplyField("companyId", companyId); path.ApplyField("itemId", itemId); _clientHeaders[Constants.AVALARA_CLIENT_HEADER]=string.Format(ClientID , API_VERSION); - return await RestCallAsync("GET", path, null).ConfigureAwait(false); + return await RestCallAsync>("GET", path, null).ConfigureAwait(false); } @@ -19868,6 +19871,7 @@ public async Task> ListItemParametersAsync(Int32 /// * Classifications /// * Tags /// * Properties + /// * TaxCodeRecommendationStatus /// /// ### Security Policies /// @@ -19875,7 +19879,7 @@ public async Task> ListItemParametersAsync(Int32 /// /// The ID of the company that defined these items - /// A filter statement to identify specific records to retrieve. For more information on filtering, see [Filtering in REST](http://developer.avalara.com/avatax/filtering-in-rest/).
*Not filterable:* taxCode, source, sourceEntityId, itemType, upc, summary, classifications, parameters, tags, properties, itemStatus, taxCodeRecommendationStatus + /// A filter statement to identify specific records to retrieve. For more information on filtering, see [Filtering in REST](http://developer.avalara.com/avatax/filtering-in-rest/).
*Not filterable:* taxCode, source, sourceEntityId, itemType, upc, summary, classifications, parameters, tags, properties, itemStatus, taxCodeRecommendationStatus, taxCodeRecommendations /// A comma separated list of additional data to retrieve. /// If nonzero, return no more than this number of results. Used with `$skip` to provide pagination for large datasets. Unless otherwise specified, the maximum number of records that can be returned from an API call is 1,000 records. /// If nonzero, skip this number of results before returning data. Used with `$top` to provide pagination for large datasets. @@ -19922,7 +19926,7 @@ public async Task> ListItemsByCompanyAsync(Int32 companyI /// * This API requires one of the following user roles: AccountAdmin, AccountUser, BatchServiceAdmin, CompanyAdmin, CompanyUser, CSPAdmin, CSPTester, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin, TechnicalSupportUser.; /// - /// A filter statement to identify specific records to retrieve. For more information on filtering, see [Filtering in REST](http://developer.avalara.com/avatax/filtering-in-rest/).
*Not filterable:* taxCode, source, sourceEntityId, itemType, upc, summary, classifications, parameters, tags, properties, itemStatus, taxCodeRecommendationStatus + /// A filter statement to identify specific records to retrieve. For more information on filtering, see [Filtering in REST](http://developer.avalara.com/avatax/filtering-in-rest/).
*Not filterable:* taxCode, source, sourceEntityId, itemType, upc, summary, classifications, parameters, tags, properties, itemStatus, taxCodeRecommendationStatus, taxCodeRecommendations /// A comma separated list of additional data to retrieve. /// If nonzero, return no more than this number of results. Used with `$skip` to provide pagination for large datasets. Unless otherwise specified, the maximum number of records that can be returned from an API call is 1,000 records. /// If nonzero, skip this number of results before returning data. Used with `$top` to provide pagination for large datasets. @@ -20005,7 +20009,7 @@ public async Task> QueryItemsBySystemCodeAsync(Int32 comp /// The ID of the company that defined these items. /// The master tag to be associated with item. - /// A filter statement to identify specific records to retrieve. For more information on filtering, see [Filtering in REST](http://developer.avalara.com/avatax/filtering-in-rest/).
*Not filterable:* taxCode, source, sourceEntityId, itemType, upc, summary, classifications, parameters, tags, properties, itemStatus, taxCodeRecommendationStatus + /// A filter statement to identify specific records to retrieve. For more information on filtering, see [Filtering in REST](http://developer.avalara.com/avatax/filtering-in-rest/).
*Not filterable:* taxCode, source, sourceEntityId, itemType, upc, summary, classifications, parameters, tags, properties, itemStatus, taxCodeRecommendationStatus, taxCodeRecommendations /// A comma separated list of additional data to retrieve. /// If nonzero, return no more than this number of results. Used with `$skip` to provide pagination for large datasets. Unless otherwise specified, the maximum number of records that can be returned from an API call is 1,000 records. /// If nonzero, skip this number of results before returning data. Used with `$top` to provide pagination for large datasets. @@ -20113,12 +20117,14 @@ public async Task SyncItemsAsync(Int32 companyId, SyncIt /// The ID of the company that this item belongs to. /// The ID of the item you wish to update + /// If true then Set recommendation status to RecommendationSelected /// The item object you wish to update. - public async Task UpdateItemAsync(Int32 companyId, Int64 id, ItemModel model) + public async Task UpdateItemAsync(Int32 companyId, Int64 id, Boolean? isRecommendationSelected, ItemModel model) { var path = new AvaTaxPath("/api/v2/companies/{companyId}/items/{id}"); path.ApplyField("companyId", companyId); path.ApplyField("id", id); + path.AddQuery("isRecommendationSelected", isRecommendationSelected); _clientHeaders[Constants.AVALARA_CLIENT_HEADER]=string.Format(ClientID , API_VERSION); return await RestCallAsync("PUT", path, model).ConfigureAwait(false); } diff --git a/src/Avalara.AvaTax.RestClient.nuspec b/src/Avalara.AvaTax.RestClient.nuspec index f0827d0..7cb0d81 100644 --- a/src/Avalara.AvaTax.RestClient.nuspec +++ b/src/Avalara.AvaTax.RestClient.nuspec @@ -3,7 +3,7 @@ Avalara.AvaTax - 24.6.1 + 24.6.3 Avalara AvaTax SDK Add world-class tax estimation and calculation to your project with Avalara's AvaTax suite of APIs and services. diff --git a/src/IAvaTaxClient.cs b/src/IAvaTaxClient.cs index 44c54d6..73b1d91 100644 --- a/src/IAvaTaxClient.cs +++ b/src/IAvaTaxClient.cs @@ -1181,7 +1181,7 @@ public interface IAvaTaxClient /// * customers - Retrieves the list of customers linked to the certificate. /// * po_numbers - Retrieves all PO numbers tied to the certificate. /// * attributes - Retrieves all attributes applied to the certificate. - /// A filter statement to identify specific records to retrieve. For more information on filtering, see [Filtering in REST](http://developer.avalara.com/avatax/filtering-in-rest/).
*Not filterable:* exemptionNumber, status, ecmsId, ecmsStatus, pdf, pages + /// A filter statement to identify specific records to retrieve. For more information on filtering, see [Filtering in REST](http://developer.avalara.com/avatax/filtering-in-rest/).
*Not filterable:* exemptionNumber, status, ecmStatus, ecmsId, ecmsStatus, pdf, pages /// If nonzero, return no more than this number of results. Used with `$skip` to provide pagination for large datasets. Unless otherwise specified, the maximum number of records that can be returned from an API call is 1,000 records. /// If nonzero, skip this number of results before returning data. Used with `$top` to provide pagination for large datasets. /// A comma separated list of sort statements in the format `(fieldname) [ASC|DESC]`, for example `id ASC`. @@ -2378,7 +2378,7 @@ public interface IAvaTaxClient /// * customers - Retrieves the list of customers linked to the certificate. /// * po_numbers - Retrieves all PO numbers tied to the certificate. /// * attributes - Retrieves all attributes applied to the certificate. - /// A filter statement to identify specific records to retrieve. For more information on filtering, see [Filtering in REST](http://developer.avalara.com/avatax/filtering-in-rest/).
*Not filterable:* exemptionNumber, status, ecmsId, ecmsStatus, pdf, pages + /// A filter statement to identify specific records to retrieve. For more information on filtering, see [Filtering in REST](http://developer.avalara.com/avatax/filtering-in-rest/).
*Not filterable:* exemptionNumber, status, ecmStatus, ecmsId, ecmsStatus, pdf, pages /// If nonzero, return no more than this number of results. Used with `$skip` to provide pagination for large datasets. Unless otherwise specified, the maximum number of records that can be returned from an API call is 1,000 records. /// If nonzero, skip this number of results before returning data. Used with `$top` to provide pagination for large datasets. /// A comma separated list of sort statements in the format `(fieldname) [ASC|DESC]`, for example `id ASC`. @@ -2446,7 +2446,7 @@ public interface IAvaTaxClient /// Swagger Name: AvaTaxClient /// The unique ID number of the company that recorded this customer /// OPTIONAL - You can specify the value `certificates` to fetch information about certificates linked to the customer. - /// A filter statement to identify specific records to retrieve. For more information on filtering, see [Filtering in REST](http://developer.avalara.com/avatax/filtering-in-rest/).
*Not filterable:* shipTos + /// A filter statement to identify specific records to retrieve. For more information on filtering, see [Filtering in REST](http://developer.avalara.com/avatax/filtering-in-rest/). /// If nonzero, return no more than this number of results. Used with `$skip` to provide pagination for large datasets. Unless otherwise specified, the maximum number of records that can be returned from an API call is 1,000 records. /// If nonzero, skip this number of results before returning data. Used with `$top` to provide pagination for large datasets. /// A comma separated list of sort statements in the format `(fieldname) [ASC|DESC]`, for example `id ASC`. @@ -4377,7 +4377,7 @@ public interface IAvaTaxClient /// Swagger Name: AvaTaxClient /// The ID of the company that owns this item. /// The ID of the item you wish to delete the classifications. - List BatchDeleteItemClassifications(Int32 companyId, Int64 itemId); + List BatchDeleteItemClassifications(Int32 companyId, Int64 itemId); /// /// Delete all parameters for an item @@ -4398,7 +4398,7 @@ public interface IAvaTaxClient /// Swagger Name: AvaTaxClient /// The ID of the company that owns this item. /// The ID of the item you wish to delete the parameters. - List BatchDeleteItemParameters(Int32 companyId, Int64 itemId); + List BatchDeleteItemParameters(Int32 companyId, Int64 itemId); /// /// Bulk upload items from a product catalog @@ -4559,7 +4559,7 @@ public interface IAvaTaxClient /// Swagger Name: AvaTaxClient /// The ID of the company that owns this item. /// The code of the item you want to delete. - List DeleteCatalogueItem(Int32 companyId, String itemCode); + List DeleteCatalogueItem(Int32 companyId, String itemCode); /// /// Delete a single item @@ -4582,7 +4582,7 @@ public interface IAvaTaxClient /// Swagger Name: AvaTaxClient /// The ID of the company that owns this item. /// The ID of the item you wish to delete. - List DeleteItem(Int32 companyId, Int64 id); + List DeleteItem(Int32 companyId, Int64 id); /// /// Delete a single item classification. @@ -4602,7 +4602,7 @@ public interface IAvaTaxClient /// The company id. /// The item id. /// The item classification id. - List DeleteItemClassification(Int32 companyId, Int64 itemId, Int64 id); + List DeleteItemClassification(Int32 companyId, Int64 itemId, Int64 id); /// /// Delete a single item parameter @@ -4624,7 +4624,7 @@ public interface IAvaTaxClient /// The company id /// The item id /// The parameter id - List DeleteItemParameter(Int32 companyId, Int64 itemId, Int64 id); + List DeleteItemParameter(Int32 companyId, Int64 itemId, Int64 id); /// /// Delete item tag by id @@ -4642,7 +4642,7 @@ public interface IAvaTaxClient /// The ID of the company that defined these items /// The ID of the item as defined by the company that owns this tag. /// The ID of the item tag detail you wish to delete. - List DeleteItemTag(Int32 companyId, Int64 itemId, Int32 itemTagDetailId); + List DeleteItemTag(Int32 companyId, Int64 itemId, Int32 itemTagDetailId); /// /// Delete all item tags @@ -4659,7 +4659,7 @@ public interface IAvaTaxClient /// Swagger Name: AvaTaxClient /// The ID of the company that defined these items. /// The ID of the item as defined by the company that owns this tag. - List DeleteItemTags(Int32 companyId, Int64 itemId); + List DeleteItemTags(Int32 companyId, Int64 itemId); /// /// Retrieve a single item @@ -4758,7 +4758,7 @@ public interface IAvaTaxClient /// Swagger Name: AvaTaxClient /// /// - TaxCodeRecommendationsOutputModel GetItemTaxCodeRecommendations(Int32 companyId, Int64 itemId); + List GetItemTaxCodeRecommendations(Int32 companyId, Int64 itemId); /// /// Retrieve premium classification for a company's item based on its ItemCode and SystemCode. @@ -4895,6 +4895,7 @@ public interface IAvaTaxClient /// * Classifications /// * Tags /// * Properties + /// * TaxCodeRecommendationStatus /// /// ### Security Policies /// @@ -4902,7 +4903,7 @@ public interface IAvaTaxClient /// /// Swagger Name: AvaTaxClient /// The ID of the company that defined these items - /// A filter statement to identify specific records to retrieve. For more information on filtering, see [Filtering in REST](http://developer.avalara.com/avatax/filtering-in-rest/).
*Not filterable:* taxCode, source, sourceEntityId, itemType, upc, summary, classifications, parameters, tags, properties, itemStatus, taxCodeRecommendationStatus + /// A filter statement to identify specific records to retrieve. For more information on filtering, see [Filtering in REST](http://developer.avalara.com/avatax/filtering-in-rest/).
*Not filterable:* taxCode, source, sourceEntityId, itemType, upc, summary, classifications, parameters, tags, properties, itemStatus, taxCodeRecommendationStatus, taxCodeRecommendations /// A comma separated list of additional data to retrieve. /// If nonzero, return no more than this number of results. Used with `$skip` to provide pagination for large datasets. Unless otherwise specified, the maximum number of records that can be returned from an API call is 1,000 records. /// If nonzero, skip this number of results before returning data. Used with `$top` to provide pagination for large datasets. @@ -4933,7 +4934,7 @@ public interface IAvaTaxClient /// * This API requires one of the following user roles: AccountAdmin, AccountUser, BatchServiceAdmin, CompanyAdmin, CompanyUser, CSPAdmin, CSPTester, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin, TechnicalSupportUser. /// /// Swagger Name: AvaTaxClient - /// A filter statement to identify specific records to retrieve. For more information on filtering, see [Filtering in REST](http://developer.avalara.com/avatax/filtering-in-rest/).
*Not filterable:* taxCode, source, sourceEntityId, itemType, upc, summary, classifications, parameters, tags, properties, itemStatus, taxCodeRecommendationStatus + /// A filter statement to identify specific records to retrieve. For more information on filtering, see [Filtering in REST](http://developer.avalara.com/avatax/filtering-in-rest/).
*Not filterable:* taxCode, source, sourceEntityId, itemType, upc, summary, classifications, parameters, tags, properties, itemStatus, taxCodeRecommendationStatus, taxCodeRecommendations /// A comma separated list of additional data to retrieve. /// If nonzero, return no more than this number of results. Used with `$skip` to provide pagination for large datasets. Unless otherwise specified, the maximum number of records that can be returned from an API call is 1,000 records. /// If nonzero, skip this number of results before returning data. Used with `$top` to provide pagination for large datasets. @@ -4992,7 +4993,7 @@ public interface IAvaTaxClient /// Swagger Name: AvaTaxClient /// The ID of the company that defined these items. /// The master tag to be associated with item. - /// A filter statement to identify specific records to retrieve. For more information on filtering, see [Filtering in REST](http://developer.avalara.com/avatax/filtering-in-rest/).
*Not filterable:* taxCode, source, sourceEntityId, itemType, upc, summary, classifications, parameters, tags, properties, itemStatus, taxCodeRecommendationStatus + /// A filter statement to identify specific records to retrieve. For more information on filtering, see [Filtering in REST](http://developer.avalara.com/avatax/filtering-in-rest/).
*Not filterable:* taxCode, source, sourceEntityId, itemType, upc, summary, classifications, parameters, tags, properties, itemStatus, taxCodeRecommendationStatus, taxCodeRecommendations /// A comma separated list of additional data to retrieve. /// If nonzero, return no more than this number of results. Used with `$skip` to provide pagination for large datasets. Unless otherwise specified, the maximum number of records that can be returned from an API call is 1,000 records. /// If nonzero, skip this number of results before returning data. Used with `$top` to provide pagination for large datasets. @@ -5070,8 +5071,9 @@ public interface IAvaTaxClient /// Swagger Name: AvaTaxClient /// The ID of the company that this item belongs to. /// The ID of the item you wish to update + /// If true then Set recommendation status to RecommendationSelected /// The item object you wish to update. - ItemModel UpdateItem(Int32 companyId, Int64 id, ItemModel model); + ItemModel UpdateItem(Int32 companyId, Int64 id, Boolean? isRecommendationSelected, ItemModel model); /// /// Update an item classification. @@ -10318,7 +10320,7 @@ public interface IAvaTaxClient /// * customers - Retrieves the list of customers linked to the certificate. /// * po_numbers - Retrieves all PO numbers tied to the certificate. /// * attributes - Retrieves all attributes applied to the certificate. - /// A filter statement to identify specific records to retrieve. For more information on filtering, see [Filtering in REST](http://developer.avalara.com/avatax/filtering-in-rest/).
*Not filterable:* exemptionNumber, status, ecmsId, ecmsStatus, pdf, pages + /// A filter statement to identify specific records to retrieve. For more information on filtering, see [Filtering in REST](http://developer.avalara.com/avatax/filtering-in-rest/).
*Not filterable:* exemptionNumber, status, ecmStatus, ecmsId, ecmsStatus, pdf, pages /// If nonzero, return no more than this number of results. Used with `$skip` to provide pagination for large datasets. Unless otherwise specified, the maximum number of records that can be returned from an API call is 1,000 records. /// If nonzero, skip this number of results before returning data. Used with `$top` to provide pagination for large datasets. /// A comma separated list of sort statements in the format `(fieldname) [ASC|DESC]`, for example `id ASC`. @@ -11568,7 +11570,7 @@ public interface IAvaTaxClient /// * customers - Retrieves the list of customers linked to the certificate. /// * po_numbers - Retrieves all PO numbers tied to the certificate. /// * attributes - Retrieves all attributes applied to the certificate. - /// A filter statement to identify specific records to retrieve. For more information on filtering, see [Filtering in REST](http://developer.avalara.com/avatax/filtering-in-rest/).
*Not filterable:* exemptionNumber, status, ecmsId, ecmsStatus, pdf, pages + /// A filter statement to identify specific records to retrieve. For more information on filtering, see [Filtering in REST](http://developer.avalara.com/avatax/filtering-in-rest/).
*Not filterable:* exemptionNumber, status, ecmStatus, ecmsId, ecmsStatus, pdf, pages /// If nonzero, return no more than this number of results. Used with `$skip` to provide pagination for large datasets. Unless otherwise specified, the maximum number of records that can be returned from an API call is 1,000 records. /// If nonzero, skip this number of results before returning data. Used with `$top` to provide pagination for large datasets. /// A comma separated list of sort statements in the format `(fieldname) [ASC|DESC]`, for example `id ASC`. @@ -11638,7 +11640,7 @@ public interface IAvaTaxClient /// The unique ID number of the company that recorded this customer /// OPTIONAL - You can specify the value `certificates` to fetch information about certificates linked to the customer. - /// A filter statement to identify specific records to retrieve. For more information on filtering, see [Filtering in REST](http://developer.avalara.com/avatax/filtering-in-rest/).
*Not filterable:* shipTos + /// A filter statement to identify specific records to retrieve. For more information on filtering, see [Filtering in REST](http://developer.avalara.com/avatax/filtering-in-rest/). /// If nonzero, return no more than this number of results. Used with `$skip` to provide pagination for large datasets. Unless otherwise specified, the maximum number of records that can be returned from an API call is 1,000 records. /// If nonzero, skip this number of results before returning data. Used with `$top` to provide pagination for large datasets. /// A comma separated list of sort statements in the format `(fieldname) [ASC|DESC]`, for example `id ASC`. @@ -13682,7 +13684,7 @@ public interface IAvaTaxClient /// The ID of the company that owns this item. /// The ID of the item you wish to delete the classifications. - Task> BatchDeleteItemClassificationsAsync(Int32 companyId, Int64 itemId); + Task> BatchDeleteItemClassificationsAsync(Int32 companyId, Int64 itemId); /// Swagger Name: AvaTaxClient /// @@ -13704,7 +13706,7 @@ public interface IAvaTaxClient /// The ID of the company that owns this item. /// The ID of the item you wish to delete the parameters. - Task> BatchDeleteItemParametersAsync(Int32 companyId, Int64 itemId); + Task> BatchDeleteItemParametersAsync(Int32 companyId, Int64 itemId); /// Swagger Name: AvaTaxClient /// @@ -13872,7 +13874,7 @@ public interface IAvaTaxClient /// The ID of the company that owns this item. /// The code of the item you want to delete. - Task> DeleteCatalogueItemAsync(Int32 companyId, String itemCode); + Task> DeleteCatalogueItemAsync(Int32 companyId, String itemCode); /// Swagger Name: AvaTaxClient /// @@ -13896,7 +13898,7 @@ public interface IAvaTaxClient /// The ID of the company that owns this item. /// The ID of the item you wish to delete. - Task> DeleteItemAsync(Int32 companyId, Int64 id); + Task> DeleteItemAsync(Int32 companyId, Int64 id); /// Swagger Name: AvaTaxClient /// @@ -13917,7 +13919,7 @@ public interface IAvaTaxClient /// The company id. /// The item id. /// The item classification id. - Task> DeleteItemClassificationAsync(Int32 companyId, Int64 itemId, Int64 id); + Task> DeleteItemClassificationAsync(Int32 companyId, Int64 itemId, Int64 id); /// Swagger Name: AvaTaxClient /// @@ -13940,7 +13942,7 @@ public interface IAvaTaxClient /// The company id /// The item id /// The parameter id - Task> DeleteItemParameterAsync(Int32 companyId, Int64 itemId, Int64 id); + Task> DeleteItemParameterAsync(Int32 companyId, Int64 itemId, Int64 id); /// Swagger Name: AvaTaxClient /// @@ -13959,7 +13961,7 @@ public interface IAvaTaxClient /// The ID of the company that defined these items /// The ID of the item as defined by the company that owns this tag. /// The ID of the item tag detail you wish to delete. - Task> DeleteItemTagAsync(Int32 companyId, Int64 itemId, Int32 itemTagDetailId); + Task> DeleteItemTagAsync(Int32 companyId, Int64 itemId, Int32 itemTagDetailId); /// Swagger Name: AvaTaxClient /// @@ -13977,7 +13979,7 @@ public interface IAvaTaxClient /// The ID of the company that defined these items. /// The ID of the item as defined by the company that owns this tag. - Task> DeleteItemTagsAsync(Int32 companyId, Int64 itemId); + Task> DeleteItemTagsAsync(Int32 companyId, Int64 itemId); /// Swagger Name: AvaTaxClient /// @@ -14081,7 +14083,7 @@ public interface IAvaTaxClient /// /// - Task GetItemTaxCodeRecommendationsAsync(Int32 companyId, Int64 itemId); + Task> GetItemTaxCodeRecommendationsAsync(Int32 companyId, Int64 itemId); /// Swagger Name: AvaTaxClient /// @@ -14223,6 +14225,7 @@ public interface IAvaTaxClient /// * Classifications /// * Tags /// * Properties + /// * TaxCodeRecommendationStatus /// /// ### Security Policies /// @@ -14230,7 +14233,7 @@ public interface IAvaTaxClient /// /// The ID of the company that defined these items - /// A filter statement to identify specific records to retrieve. For more information on filtering, see [Filtering in REST](http://developer.avalara.com/avatax/filtering-in-rest/).
*Not filterable:* taxCode, source, sourceEntityId, itemType, upc, summary, classifications, parameters, tags, properties, itemStatus, taxCodeRecommendationStatus + /// A filter statement to identify specific records to retrieve. For more information on filtering, see [Filtering in REST](http://developer.avalara.com/avatax/filtering-in-rest/).
*Not filterable:* taxCode, source, sourceEntityId, itemType, upc, summary, classifications, parameters, tags, properties, itemStatus, taxCodeRecommendationStatus, taxCodeRecommendations /// A comma separated list of additional data to retrieve. /// If nonzero, return no more than this number of results. Used with `$skip` to provide pagination for large datasets. Unless otherwise specified, the maximum number of records that can be returned from an API call is 1,000 records. /// If nonzero, skip this number of results before returning data. Used with `$top` to provide pagination for large datasets. @@ -14262,7 +14265,7 @@ public interface IAvaTaxClient /// * This API requires one of the following user roles: AccountAdmin, AccountUser, BatchServiceAdmin, CompanyAdmin, CompanyUser, CSPAdmin, CSPTester, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin, TechnicalSupportUser.; /// - /// A filter statement to identify specific records to retrieve. For more information on filtering, see [Filtering in REST](http://developer.avalara.com/avatax/filtering-in-rest/).
*Not filterable:* taxCode, source, sourceEntityId, itemType, upc, summary, classifications, parameters, tags, properties, itemStatus, taxCodeRecommendationStatus + /// A filter statement to identify specific records to retrieve. For more information on filtering, see [Filtering in REST](http://developer.avalara.com/avatax/filtering-in-rest/).
*Not filterable:* taxCode, source, sourceEntityId, itemType, upc, summary, classifications, parameters, tags, properties, itemStatus, taxCodeRecommendationStatus, taxCodeRecommendations /// A comma separated list of additional data to retrieve. /// If nonzero, return no more than this number of results. Used with `$skip` to provide pagination for large datasets. Unless otherwise specified, the maximum number of records that can be returned from an API call is 1,000 records. /// If nonzero, skip this number of results before returning data. Used with `$top` to provide pagination for large datasets. @@ -14323,7 +14326,7 @@ public interface IAvaTaxClient /// The ID of the company that defined these items. /// The master tag to be associated with item. - /// A filter statement to identify specific records to retrieve. For more information on filtering, see [Filtering in REST](http://developer.avalara.com/avatax/filtering-in-rest/).
*Not filterable:* taxCode, source, sourceEntityId, itemType, upc, summary, classifications, parameters, tags, properties, itemStatus, taxCodeRecommendationStatus + /// A filter statement to identify specific records to retrieve. For more information on filtering, see [Filtering in REST](http://developer.avalara.com/avatax/filtering-in-rest/).
*Not filterable:* taxCode, source, sourceEntityId, itemType, upc, summary, classifications, parameters, tags, properties, itemStatus, taxCodeRecommendationStatus, taxCodeRecommendations /// A comma separated list of additional data to retrieve. /// If nonzero, return no more than this number of results. Used with `$skip` to provide pagination for large datasets. Unless otherwise specified, the maximum number of records that can be returned from an API call is 1,000 records. /// If nonzero, skip this number of results before returning data. Used with `$top` to provide pagination for large datasets. @@ -14404,8 +14407,9 @@ public interface IAvaTaxClient /// The ID of the company that this item belongs to. /// The ID of the item you wish to update + /// If true then Set recommendation status to RecommendationSelected /// The item object you wish to update. - Task UpdateItemAsync(Int32 companyId, Int64 id, ItemModel model); + Task UpdateItemAsync(Int32 companyId, Int64 id, Boolean? isRecommendationSelected, ItemModel model); /// Swagger Name: AvaTaxClient /// diff --git a/src/enums/CertificateEcmStatus.cs b/src/enums/CertificateEcmStatus.cs new file mode 100644 index 0000000..cfd80d9 --- /dev/null +++ b/src/enums/CertificateEcmStatus.cs @@ -0,0 +1,49 @@ +using System; + +/* + * AvaTax API Client Library + * + * (c) 2004-2023 Avalara, Inc. + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + * + * @author Jonathan Wenger + * @author Sachin Baijal + * Swagger name: AvaTaxClient + */ + +namespace Avalara.AvaTax.RestClient +{ + /// + /// + /// + public enum CertificateEcmStatus + { + /// + /// + /// + None = 0, + + /// + /// + /// + Expired = 1, + + /// + /// + /// + Invalid = 2, + + /// + /// + /// + Valid = 3, + + /// + /// + /// + PendingFuture = 4, + + } +} diff --git a/src/models/ActiveCertificateModel.cs b/src/models/ActiveCertificateModel.cs new file mode 100644 index 0000000..624bc5f --- /dev/null +++ b/src/models/ActiveCertificateModel.cs @@ -0,0 +1,80 @@ +using System; +using System.Collections.Generic; +using Newtonsoft.Json; + +/* + * AvaTax API Client Library + * + * (c) 2004-2023 Avalara, Inc. + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + * + * @author Jonathan Wenger + * @author Sachin Baijal + * Swagger name: AvaTaxClient + */ + +namespace Avalara.AvaTax.RestClient +{ + /// + /// Certificate with exemption reason and exposure zone. Exposed in url $includes + /// + public class ActiveCertificateModel + { + /// + /// Certificate ID. + /// + public Int64? id { get; set; } + + /// + /// Created date time + /// + public DateTime? created { get; set; } + + /// + /// Modified date time + /// + public DateTime? modified { get; set; } + + /// + /// Certificate's expected tax number + /// + public String expectedTaxNumber { get; set; } + + /// + /// Certificate's actual tax number + /// + public String actualTaxNumber { get; set; } + + /// + /// + /// + public ExposureZoneModel exposureZone { get; set; } + + /// + /// + /// + public ExemptionReasonModel expectedTaxCode { get; set; } + + /// + /// + /// + public ExemptionReasonModel actualTaxCode { get; set; } + + /// + /// + /// + public CertificateModel certificate { get; set; } + + + /// + /// Convert this object to a JSON string of itself + /// + /// A JSON string of this object + public override string ToString() + { + return JsonConvert.SerializeObject(this, new JsonSerializerSettings() { Formatting = Formatting.Indented }); + } + } +} diff --git a/src/models/AssociatedObjectDeletedErrorDetailsModel.cs b/src/models/AssociatedObjectDeletedErrorDetailsModel.cs new file mode 100644 index 0000000..6ead83a --- /dev/null +++ b/src/models/AssociatedObjectDeletedErrorDetailsModel.cs @@ -0,0 +1,80 @@ +using System; +using System.Collections.Generic; +using Newtonsoft.Json; + +/* + * AvaTax API Client Library + * + * (c) 2004-2023 Avalara, Inc. + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + * + * @author Jonathan Wenger + * @author Sachin Baijal + * Swagger name: AvaTaxClient + */ + +namespace Avalara.AvaTax.RestClient +{ + /// + /// + /// + public class AssociatedObjectDeletedErrorDetailsModel + { + /// + /// + /// + public ErrorCodeId? code { get; set; } + + /// + /// + /// + public Int32? number { get; set; } + + /// + /// + /// + public String message { get; set; } + + /// + /// + /// + public String description { get; set; } + + /// + /// + /// + public String faultCode { get; set; } + + /// + /// + /// + public String faultSubCode { get; set; } + + /// + /// + /// + public String helpLink { get; set; } + + /// + /// + /// + public String refersTo { get; set; } + + /// + /// + /// + public SeverityLevel? severity { get; set; } + + + /// + /// Convert this object to a JSON string of itself + /// + /// A JSON string of this object + public override string ToString() + { + return JsonConvert.SerializeObject(this, new JsonSerializerSettings() { Formatting = Formatting.Indented }); + } + } +} diff --git a/src/models/CertificateInvalidReasonModel.cs b/src/models/CertificateInvalidReasonModel.cs new file mode 100644 index 0000000..be397f3 --- /dev/null +++ b/src/models/CertificateInvalidReasonModel.cs @@ -0,0 +1,55 @@ +using System; +using System.Collections.Generic; +using Newtonsoft.Json; + +/* + * AvaTax API Client Library + * + * (c) 2004-2023 Avalara, Inc. + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + * + * @author Jonathan Wenger + * @author Sachin Baijal + * Swagger name: AvaTaxClient + */ + +namespace Avalara.AvaTax.RestClient +{ + /// + /// Invalid reason for the certificate + /// + public class CertificateInvalidReasonModel + { + /// + /// + /// + public Int32? id { get; set; } + + /// + /// + /// + public String name { get; set; } + + /// + /// + /// + public String description { get; set; } + + /// + /// + /// + public Boolean? systemCode { get; set; } + + + /// + /// Convert this object to a JSON string of itself + /// + /// A JSON string of this object + public override string ToString() + { + return JsonConvert.SerializeObject(this, new JsonSerializerSettings() { Formatting = Formatting.Indented }); + } + } +} diff --git a/src/models/CertificateLogModel.cs b/src/models/CertificateLogModel.cs new file mode 100644 index 0000000..19831f1 --- /dev/null +++ b/src/models/CertificateLogModel.cs @@ -0,0 +1,60 @@ +using System; +using System.Collections.Generic; +using Newtonsoft.Json; + +/* + * AvaTax API Client Library + * + * (c) 2004-2023 Avalara, Inc. + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + * + * @author Jonathan Wenger + * @author Sachin Baijal + * Swagger name: AvaTaxClient + */ + +namespace Avalara.AvaTax.RestClient +{ + /// + /// certificate log for a customer. Exposed in url $includes + /// + public class CertificateLogModel + { + /// + /// Log ID + /// + public Int64? id { get; set; } + + /// + /// Certificate ID + /// + public Int64? certificateId { get; set; } + + /// + /// Account name + /// + public String account { get; set; } + + /// + /// Log description + /// + public String entry { get; set; } + + /// + /// Date of creation for log entry + /// + public DateTime? created { get; set; } + + + /// + /// Convert this object to a JSON string of itself + /// + /// A JSON string of this object + public override string ToString() + { + return JsonConvert.SerializeObject(this, new JsonSerializerSettings() { Formatting = Formatting.Indented }); + } + } +} diff --git a/src/models/CertificateModel.cs b/src/models/CertificateModel.cs index 6048b3f..ee998f9 100644 --- a/src/models/CertificateModel.cs +++ b/src/models/CertificateModel.cs @@ -109,6 +109,11 @@ public class CertificateModel /// public String status { get; set; } + /// + /// The status of the certificate as displayed on https://exemptions.avalara.com. Can take values + /// + public CertificateEcmStatus? ecmStatus { get; set; } + /// /// The date/time when this record was created. /// @@ -161,6 +166,41 @@ public class CertificateModel ///
public List attributes { get; set; } + /// + /// A list of certificate update histories for this certificate. + /// + /// You can fetch this data by specifying `$include=histories` when calling a certificate fetch API. + /// + public List histories { get; set; } + + /// + /// A list of certificate update histories for this certificate. + /// + /// You can fetch this data by specifying `$include=jobs` when calling a certificate fetch API. + /// + public List jobs { get; set; } + + /// + /// A list of certificate logs for this certificate. + /// + /// You can fetch this data by specifying `$include=logs` when calling a certificate fetch API. + /// + public List logs { get; set; } + + /// + /// A list of invalid reasons if the certificate status is not valid + /// + /// You can fetch this data by specifying `$include=invalid_reasons` when calling a certificate fetch API. + /// + public List invalidReasons { get; set; } + + /// + /// A list of custom defined fields for this certificate + /// + /// You can fetch this data by specifying `$include=custom_fields` when calling a certificate fetch API. + /// + public List customFields { get; set; } + /// /// The unique ID number of current AvaTax Exemption Certificate that refers this certificate. /// diff --git a/src/models/CountryModel.cs b/src/models/CountryModel.cs new file mode 100644 index 0000000..fceea26 --- /dev/null +++ b/src/models/CountryModel.cs @@ -0,0 +1,55 @@ +using System; +using System.Collections.Generic; +using Newtonsoft.Json; + +/* + * AvaTax API Client Library + * + * (c) 2004-2023 Avalara, Inc. + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + * + * @author Jonathan Wenger + * @author Sachin Baijal + * Swagger name: AvaTaxClient + */ + +namespace Avalara.AvaTax.RestClient +{ + /// + /// Defines a country as known to Avalara's certificate management system. + /// + public class CountryModel + { + /// + /// The unique ID number of this country as defined in Avalara's certificate management system. + /// + public Int32? id { get; set; } + + /// + /// The name of this country in US English. + /// + public String name { get; set; } + + /// + /// The three-character ISO 3166 code for this country. + /// + public String initials { get; set; } + + /// + /// The two-character ISO 3166 code for this country. + /// + public String abbreviation { get; set; } + + + /// + /// Convert this object to a JSON string of itself + /// + /// A JSON string of this object + public override string ToString() + { + return JsonConvert.SerializeObject(this, new JsonSerializerSettings() { Formatting = Formatting.Indented }); + } + } +} diff --git a/src/models/CreateMultiDocumentModel.cs b/src/models/CreateMultiDocumentModel.cs index 2728eef..7467e37 100644 --- a/src/models/CreateMultiDocumentModel.cs +++ b/src/models/CreateMultiDocumentModel.cs @@ -175,7 +175,9 @@ public class CreateMultiDocumentModel public TaxOverrideModel taxOverride { get; set; } /// - /// The three-character ISO 4217 currency code for this transaction. + /// The three-character ISO 4217 currency code representing the ‘invoice currency’ (the currency the transaction was invoiced in). + /// If this is different than the currency the tax liability needs to be reported in, you’ll also need to provide the + /// `exchangeRateCurrencyCode` and the `exchangeRate` for conversion to the reporting country. /// public String currencyCode { get; set; } @@ -186,10 +188,8 @@ public class CreateMultiDocumentModel public ServiceMode? serviceMode { get; set; } /// - /// Currency exchange rate from this transaction to the company base currency. - /// - /// This only needs to be set if the transaction currency is different than the company base currency. - /// It defaults to 1.0. + /// The currency exchange rate from the invoice currency (`currencyCode`) to the reporting currency (`exchangeRateCurrencyCode`). + /// This only needs to be set if the invoice currency and the reporting currency are different. It defaults to 1.0. /// public Decimal? exchangeRate { get; set; } @@ -199,7 +199,8 @@ public class CreateMultiDocumentModel public DateTime? exchangeRateEffectiveDate { get; set; } /// - /// Optional three-character ISO 4217 reporting exchange rate currency code for this transaction. The default value is USD. + /// The three-character ISO 4217 currency code representing the ‘reporting currency’ (the currency the transaction’s tax liability needs to be reported in). + /// You can leave this blank if the invoice currency provided in the `currencyCode` field is also the reporting currency. /// public String exchangeRateCurrencyCode { get; set; } diff --git a/src/models/CreateTransactionModel.cs b/src/models/CreateTransactionModel.cs index 6e7936c..f545ad5 100644 --- a/src/models/CreateTransactionModel.cs +++ b/src/models/CreateTransactionModel.cs @@ -155,7 +155,9 @@ public class CreateTransactionModel public TaxOverrideModel taxOverride { get; set; } /// - /// The three-character ISO 4217 currency code for this transaction. + /// The three-character ISO 4217 currency code representing the ‘invoice currency’ (the currency the transaction was invoiced in). + /// If this is different than the currency the tax liability needs to be reported in, you’ll also need to provide the + /// `exchangeRateCurrencyCode` and the `exchangeRate` for conversion to the reporting country. /// public String currencyCode { get; set; } @@ -166,10 +168,8 @@ public class CreateTransactionModel public ServiceMode? serviceMode { get; set; } /// - /// Currency exchange rate from this transaction to the company base currency. - /// - /// This only needs to be set if the transaction currency is different than the company base currency. - /// It defaults to 1.0. + /// The currency exchange rate from the invoice currency (`currencyCode`) to the reporting currency (`exchangeRateCurrencyCode`). + /// This only needs to be set if the invoice currency and the reporting currency are different. It defaults to 1.0. /// public Decimal? exchangeRate { get; set; } @@ -179,7 +179,8 @@ public class CreateTransactionModel public DateTime? exchangeRateEffectiveDate { get; set; } /// - /// Optional three-character ISO 4217 reporting exchange rate currency code for this transaction. The default value is USD. + /// The three-character ISO 4217 currency code representing the ‘reporting currency’ (the currency the transaction’s tax liability needs to be reported in). + /// You can leave this blank if the invoice currency provided in the `currencyCode` field is also the reporting currency. /// public String exchangeRateCurrencyCode { get; set; } diff --git a/src/models/CustomFieldModel.cs b/src/models/CustomFieldModel.cs index 25c033a..6f212eb 100644 --- a/src/models/CustomFieldModel.cs +++ b/src/models/CustomFieldModel.cs @@ -27,11 +27,36 @@ namespace Avalara.AvaTax.RestClient ///
public class CustomFieldModel { + /// + /// Custom field ID + /// + public Int32? id { get; set; } + /// /// The name of the custom field. /// public String name { get; set; } + /// + /// Custom field type + /// + public String type { get; set; } + + /// + /// + /// + public String possibleValues { get; set; } + + /// + /// Custom field uses data entry or not? + /// + public Boolean? usesDataEntry { get; set; } + + /// + /// Custom field is required in data entry or not? + /// + public Boolean? requiredInDataEntry { get; set; } + /// /// The value of the custom field. /// diff --git a/src/models/CustomerJobModel.cs b/src/models/CustomerJobModel.cs new file mode 100644 index 0000000..aa8d402 --- /dev/null +++ b/src/models/CustomerJobModel.cs @@ -0,0 +1,50 @@ +using System; +using System.Collections.Generic; +using Newtonsoft.Json; + +/* + * AvaTax API Client Library + * + * (c) 2004-2023 Avalara, Inc. + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + * + * @author Jonathan Wenger + * @author Sachin Baijal + * Swagger name: AvaTaxClient + */ + +namespace Avalara.AvaTax.RestClient +{ + /// + /// Customer job model. Exposed in url $includes + /// + public class CustomerJobModel + { + /// + /// ID + /// + public Int32? id { get; set; } + + /// + /// Job number + /// + public Int32? jobNumber { get; set; } + + /// + /// Job name + /// + public String name { get; set; } + + + /// + /// Convert this object to a JSON string of itself + /// + /// A JSON string of this object + public override string ToString() + { + return JsonConvert.SerializeObject(this, new JsonSerializerSettings() { Formatting = Formatting.Indented }); + } + } +} diff --git a/src/models/CustomerModel.cs b/src/models/CustomerModel.cs index e5ed7d0..f765781 100644 --- a/src/models/CustomerModel.cs +++ b/src/models/CustomerModel.cs @@ -177,6 +177,16 @@ public class CustomerModel ///
public List exposureZones { get; set; } + /// + /// A list of bill-to customer records that are connected to this ship-to customer. + /// + /// Customer records represent businesses or individuals who can provide exemption certificates. Some customers + /// may have certificates that are linked to their shipping address or their billing address. To group these + /// customer records together, you may link multiple bill-to and ship-to addresses together to represent a single + /// entity that has multiple different addresses of different kinds. + /// + public List billTos { get; set; } + /// /// A list of ship-to customer records that are connected to this bill-to customer. /// @@ -194,6 +204,31 @@ public class CustomerModel /// public List attributes { get; set; } + /// + /// List if active certificates with exemption reasons + /// + public List activeCertificates { get; set; } + + /// + /// List of field update histories for this customer + /// + public List histories { get; set; } + + /// + /// List of jobs for this customer + /// + public List jobs { get; set; } + + /// + /// List of logs for this customer + /// + public List logs { get; set; } + + /// + /// List of states where this customer ships to + /// + public List shipToStates { get; set; } + /// /// Convert this object to a JSON string of itself diff --git a/src/models/HistoryModel.cs b/src/models/HistoryModel.cs new file mode 100644 index 0000000..ec1f3e7 --- /dev/null +++ b/src/models/HistoryModel.cs @@ -0,0 +1,65 @@ +using System; +using System.Collections.Generic; +using Newtonsoft.Json; + +/* + * AvaTax API Client Library + * + * (c) 2004-2023 Avalara, Inc. + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + * + * @author Jonathan Wenger + * @author Sachin Baijal + * Swagger name: AvaTaxClient + */ + +namespace Avalara.AvaTax.RestClient +{ + /// + /// Update history for Avalara.AvaTax.AccountServices.Models.v2.CustomerModel and Avalara.AvaTax.AccountServices.Models.v2.CertificateModel. Exposed in url $includes + /// + public class HistoryModel + { + /// + /// ID + /// + public Int32? id { get; set; } + + /// + /// Account name whose history this is + /// + public String account { get; set; } + + /// + /// Field name which is updated + /// + public String field { get; set; } + + /// + /// Old value of the field + /// + public String oldValue { get; set; } + + /// + /// New value of the field + /// + public String newValue { get; set; } + + /// + /// Date of creation of this history object + /// + public DateTime? created { get; set; } + + + /// + /// Convert this object to a JSON string of itself + /// + /// A JSON string of this object + public override string ToString() + { + return JsonConvert.SerializeObject(this, new JsonSerializerSettings() { Formatting = Formatting.Indented }); + } + } +} diff --git a/src/models/ItemModel.cs b/src/models/ItemModel.cs index 44df7d7..d58a909 100644 --- a/src/models/ItemModel.cs +++ b/src/models/ItemModel.cs @@ -142,6 +142,11 @@ public class ItemModel /// public TaxCodeRecommendationStatusOutputModel taxCodeRecommendationStatus { get; set; } + /// + /// Item tax code recommendations + /// + public List taxCodeRecommendations { get; set; } + /// /// Convert this object to a JSON string of itself diff --git a/src/models/ObjectDeletedErrorModel.cs b/src/models/ObjectDeletedErrorModel.cs new file mode 100644 index 0000000..76d713f --- /dev/null +++ b/src/models/ObjectDeletedErrorModel.cs @@ -0,0 +1,80 @@ +using System; +using System.Collections.Generic; +using Newtonsoft.Json; + +/* + * AvaTax API Client Library + * + * (c) 2004-2023 Avalara, Inc. + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + * + * @author Jonathan Wenger + * @author Sachin Baijal + * Swagger name: AvaTaxClient + */ + +namespace Avalara.AvaTax.RestClient +{ + /// + /// + /// + public class ObjectDeletedErrorModel + { + /// + /// + /// + public ErrorCodeId? code { get; set; } + + /// + /// + /// + public Int32? number { get; set; } + + /// + /// + /// + public String message { get; set; } + + /// + /// + /// + public String description { get; set; } + + /// + /// + /// + public String faultCode { get; set; } + + /// + /// + /// + public String faultSubCode { get; set; } + + /// + /// + /// + public String helpLink { get; set; } + + /// + /// + /// + public String refersTo { get; set; } + + /// + /// + /// + public SeverityLevel? severity { get; set; } + + + /// + /// Convert this object to a JSON string of itself + /// + /// A JSON string of this object + public override string ToString() + { + return JsonConvert.SerializeObject(this, new JsonSerializerSettings() { Formatting = Formatting.Indented }); + } + } +} diff --git a/src/models/StateModel.cs b/src/models/StateModel.cs new file mode 100644 index 0000000..8949848 --- /dev/null +++ b/src/models/StateModel.cs @@ -0,0 +1,60 @@ +using System; +using System.Collections.Generic; +using Newtonsoft.Json; + +/* + * AvaTax API Client Library + * + * (c) 2004-2023 Avalara, Inc. + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + * + * @author Jonathan Wenger + * @author Sachin Baijal + * Swagger name: AvaTaxClient + */ + +namespace Avalara.AvaTax.RestClient +{ + /// + /// Defines a state, region, or province as known to Avalara's certificate management system. + /// + public class StateModel + { + /// + /// A unique ID number that represents this state, region, or province. + /// + public Int32? id { get; set; } + + /// + /// The state, region, or province name as known in US English. + /// + public String name { get; set; } + + /// + /// The abbreviated two or three character ISO 3166 state, province, or region code. + /// + public String initials { get; set; } + + /// + /// A geocoding identification number for this state + /// + public Int32? geoCode { get; set; } + + /// + /// + /// + public CountryModel country { get; set; } + + + /// + /// Convert this object to a JSON string of itself + /// + /// A JSON string of this object + public override string ToString() + { + return JsonConvert.SerializeObject(this, new JsonSerializerSettings() { Formatting = Formatting.Indented }); + } + } +} diff --git a/src/models/TaxCodeRecommendationOutputModel.cs b/src/models/TaxCodeRecommendationOutputModel.cs new file mode 100644 index 0000000..283145c --- /dev/null +++ b/src/models/TaxCodeRecommendationOutputModel.cs @@ -0,0 +1,45 @@ +using System; +using System.Collections.Generic; +using Newtonsoft.Json; + +/* + * AvaTax API Client Library + * + * (c) 2004-2023 Avalara, Inc. + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + * + * @author Jonathan Wenger + * @author Sachin Baijal + * Swagger name: AvaTaxClient + */ + +namespace Avalara.AvaTax.RestClient +{ + /// + /// Tax Code Recommendation Output Model + /// + public class TaxCodeRecommendationOutputModel + { + /// + /// Recommended TaxCode + /// + public String taxCode { get; set; } + + /// + /// Recommended TaxCode Level + /// + public String level { get; set; } + + + /// + /// Convert this object to a JSON string of itself + /// + /// A JSON string of this object + public override string ToString() + { + return JsonConvert.SerializeObject(this, new JsonSerializerSettings() { Formatting = Formatting.Indented }); + } + } +} diff --git a/src/models/TransactionLineDetailModel.cs b/src/models/TransactionLineDetailModel.cs index 4ad2ca6..e9b4e67 100644 --- a/src/models/TransactionLineDetailModel.cs +++ b/src/models/TransactionLineDetailModel.cs @@ -249,7 +249,9 @@ public class TransactionLineDetailModel public Boolean? isNonPassThru { get; set; } /// - /// The Taxes/Fee component. True if the fee is applied. + /// The Taxes/Fee component. True if the fee is applied. + /// When `isFee` is `false`, this represents a tax rate percentage. For example, `"rate": 0.022500` represents a 2.25% tax rate. + /// When `isFee` is `true`, this represents a specific monetary amount. For example, for `"currencyCode": "USD"` and `"isFee": true`, the `"rate": 15` represents a fee of $15.00 USD. /// public Boolean? isFee { get; set; } diff --git a/src/models/TransactionModel.cs b/src/models/TransactionModel.cs index 308b1ec..6202185 100644 --- a/src/models/TransactionModel.cs +++ b/src/models/TransactionModel.cs @@ -73,12 +73,15 @@ public class TransactionModel public String batchCode { get; set; } /// - /// The three-character ISO 4217 currency code that was used for payment for this transaction. + /// The three-character ISO 4217 currency code representing the ‘invoice currency’ (the currency the transaction was invoiced in). + /// If this is different than the currency the tax liability needs to be reported in, you’ll also need to provide the + /// `exchangeRateCurrencyCode` and the `exchangeRate` for conversion to the reporting country. /// public String currencyCode { get; set; } /// - /// The three-character ISO 4217 exchange rate currency code that was used for payment for this transaction. + /// The three-character ISO 4217 currency code representing the ‘reporting currency’ (the currency the transaction’s tax liability needs to be reported in). + /// You can leave this blank if the invoice currency provided in the `currencyCode` field is also the reporting currency. /// public String exchangeRateCurrencyCode { get; set; } @@ -268,7 +271,8 @@ public class TransactionModel public DateTime? exchangeRateEffectiveDate { get; set; } /// - /// If this transaction included foreign currency exchange, this is the exchange rate that was used. + /// The currency exchange rate from the invoice currency (`currencyCode`) to the reporting currency (`exchangeRateCurrencyCode`). + /// This only needs to be set if the invoice currency and the reporting currency are different. It defaults to 1.0. /// public Decimal? exchangeRate { get; set; }