From 1e875f10b155894bed317bf97dab45411b1171d1 Mon Sep 17 00:00:00 2001 From: speakeasybot Date: Wed, 13 Sep 2023 11:30:39 +0000 Subject: [PATCH] ci: regenerated with OpenAPI Doc prealpha, Speakeay CLI 1.82.5 --- .../sync-for-expenses-version-1/README.md | 80 ++++- .../sync-for-expenses-version-1/RELEASES.md | 10 + ...esyncrequest.md => initiatesyncrequest.md} | 2 +- ...yncresponse.md => initiatesyncresponse.md} | 2 +- .../operations/unlinkconnectionrequest.md | 10 +- .../operations/unlinkconnectionrequestbody.md | 8 - .../unlinkconnectionupdateconnection.md | 8 + .../docs/models/shared/attachment.md | 2 - .../docs/models/shared/companies.md | 2 - .../models/shared/companyconfiguration.md | 2 - .../docs/models/shared/companysyncstatus.md | 2 - .../docs/models/shared/connections.md | 2 - .../models/shared/createexpenseresponse.md | 2 - .../docs/models/shared/errormessage.md | 2 - .../docs/models/shared/expensetransaction.md | 2 +- .../models/shared/expensetransactionline.md | 4 +- .../docs/models/shared/mappingoptions.md | 2 - .../docs/models/shared/syncinitiated.md | 2 - .../docs/models/shared/taxratemappinginfo.md | 4 +- .../models/shared/transactionmetadatalist.md | 2 - .../models/shared/updateexpenserequest.md | 2 +- .../docs/sdks/codatsyncexpenses/README.md | 4 +- .../docs/sdks/connections/README.md | 4 +- .../docs/sdks/expenses/README.md | 320 +----------------- .../docs/sdks/sync/README.md | 23 +- .../sync-for-expenses-version-1/files.gen | 8 +- .../sync-for-expenses-version-1/gen.yaml | 19 +- .../src/codatsyncexpenses/companies.py | 30 +- .../src/codatsyncexpenses/configuration.py | 12 +- .../src/codatsyncexpenses/connections.py | 36 +- .../src/codatsyncexpenses/expenses.py | 18 +- .../src/codatsyncexpenses/mapping_options.py | 6 +- .../models/operations/__init__.py | 4 +- .../{intiate_sync.py => initiate_sync.py} | 4 +- .../models/operations/unlink_connection.py | 8 +- .../models/shared/attachment.py | 1 - .../models/shared/companies.py | 1 - .../models/shared/companyconfiguration.py | 1 - .../models/shared/companysyncstatus.py | 1 - .../models/shared/connections.py | 1 - .../models/shared/createexpenseresponse.py | 1 - .../models/shared/errormessage.py | 1 - .../models/shared/expensetransaction.py | 3 +- .../models/shared/expensetransactionline.py | 5 +- .../models/shared/mappingoptions.py | 1 - .../models/shared/syncinitiated.py | 1 - .../models/shared/taxratemappinginfo.py | 5 +- .../models/shared/transactionmetadatalist.py | 1 - .../models/shared/updateexpenserequest.py | 3 +- .../src/codatsyncexpenses/sdk.py | 13 +- .../src/codatsyncexpenses/sdkconfiguration.py | 5 +- .../src/codatsyncexpenses/sync.py | 12 +- .../src/codatsyncexpenses/sync_status.py | 24 +- .../codatsyncexpenses/transaction_status.py | 12 +- .../src/codatsyncexpenses/utils/utils.py | 52 ++- 55 files changed, 348 insertions(+), 444 deletions(-) rename previous-versions/sync-for-expenses-version-1/docs/models/operations/{intiatesyncrequest.md => initiatesyncrequest.md} (98%) rename previous-versions/sync-for-expenses-version-1/docs/models/operations/{intiatesyncresponse.md => initiatesyncresponse.md} (99%) delete mode 100755 previous-versions/sync-for-expenses-version-1/docs/models/operations/unlinkconnectionrequestbody.md create mode 100755 previous-versions/sync-for-expenses-version-1/docs/models/operations/unlinkconnectionupdateconnection.md rename previous-versions/sync-for-expenses-version-1/src/codatsyncexpenses/models/operations/{intiate_sync.py => initiate_sync.py} (95%) diff --git a/previous-versions/sync-for-expenses-version-1/README.md b/previous-versions/sync-for-expenses-version-1/README.md index a76c212f3..e8fa76bba 100644 --- a/previous-versions/sync-for-expenses-version-1/README.md +++ b/previous-versions/sync-for-expenses-version-1/README.md @@ -3,15 +3,89 @@ -replace me +## SDK Installation + +```bash +pip install codat-sync-for-expenses-version-1 +``` ## Example Usage -replace me + + +```python +import codatsyncexpenses +from codatsyncexpenses.models import shared + +s = codatsyncexpenses.CodatSyncExpenses( + security=shared.Security( + auth_header="Basic BASE_64_ENCODED(API_KEY)", + ), +) + +req = shared.CompanyRequestBody( + description='Requested early access to the new financing scheme.', + name='Bank of Dave', +) + +res = s.companies.create_company(req) + +if res.company is not None: + # handle response +``` -replace me +## Available Resources and Operations + + +### [companies](docs/sdks/companies/README.md) + +* [create_company](docs/sdks/companies/README.md#create_company) - Create company +* [delete_company](docs/sdks/companies/README.md#delete_company) - Delete a company +* [get_company](docs/sdks/companies/README.md#get_company) - Get company +* [list_companies](docs/sdks/companies/README.md#list_companies) - List companies +* [update_company](docs/sdks/companies/README.md#update_company) - Update company + +### [configuration](docs/sdks/configuration/README.md) + +* [get_company_configuration](docs/sdks/configuration/README.md#get_company_configuration) - Get company configuration +* [save_company_configuration](docs/sdks/configuration/README.md#save_company_configuration) - Set company configuration + +### [connections](docs/sdks/connections/README.md) + +* [create_connection](docs/sdks/connections/README.md#create_connection) - Create connection +* [create_partner_expense_connection](docs/sdks/connections/README.md#create_partner_expense_connection) - Create Partner Expense connection +* [delete_connection](docs/sdks/connections/README.md#delete_connection) - Delete connection +* [get_connection](docs/sdks/connections/README.md#get_connection) - Get connection +* [list_connections](docs/sdks/connections/README.md#list_connections) - List connections +* [unlink](docs/sdks/connections/README.md#unlink) - Unlink connection + +### [expenses](docs/sdks/expenses/README.md) + +* [create_expense_dataset](docs/sdks/expenses/README.md#create_expense_dataset) - Create expense-transactions +* [update_expense_dataset](docs/sdks/expenses/README.md#update_expense_dataset) - Update expense-transactions +* [upload_attachment](docs/sdks/expenses/README.md#upload_attachment) - Upload attachment + +### [mapping_options](docs/sdks/mappingoptions/README.md) + +* [get_mapping_options](docs/sdks/mappingoptions/README.md#get_mapping_options) - Mapping options + +### [sync](docs/sdks/sync/README.md) + +* [initiate_sync](docs/sdks/sync/README.md#initiate_sync) - Initiate sync + +### [sync_status](docs/sdks/syncstatus/README.md) + +* [get_last_successful_sync](docs/sdks/syncstatus/README.md#get_last_successful_sync) - Last successful sync +* [get_latest_sync](docs/sdks/syncstatus/README.md#get_latest_sync) - Latest sync status +* [get_sync_by_id](docs/sdks/syncstatus/README.md#get_sync_by_id) - Get Sync status +* [list_syncs](docs/sdks/syncstatus/README.md#list_syncs) - List sync statuses + +### [transaction_status](docs/sdks/transactionstatus/README.md) + +* [get_sync_transaction](docs/sdks/transactionstatus/README.md#get_sync_transaction) - Get Sync Transaction +* [list_sync_transactions](docs/sdks/transactionstatus/README.md#list_sync_transactions) - Get Sync transactions ### Library generated by [Speakeasy](https://docs.speakeasyapi.dev/docs/using-speakeasy/client-sdks) diff --git a/previous-versions/sync-for-expenses-version-1/RELEASES.md b/previous-versions/sync-for-expenses-version-1/RELEASES.md index f781d8ea4..be451a9fb 100644 --- a/previous-versions/sync-for-expenses-version-1/RELEASES.md +++ b/previous-versions/sync-for-expenses-version-1/RELEASES.md @@ -8,4 +8,14 @@ Based on: ### Generated - [python v0.1.0] previous-versions/sync-for-expenses-version-1 ### Releases +- [PyPI v0.1.0] https://pypi.org/project/codat-sync-for-expenses-version-1/0.1.0 - previous-versions/sync-for-expenses-version-1 + +## 2023-09-13 11:30:16 +### Changes +Based on: +- OpenAPI Doc prealpha https://raw.githubusercontent.com/codatio/oas/main/yaml/Codat-Sync-Expenses-v1.yaml +- Speakeasy CLI 1.82.5 (2.108.3) https://github.com/speakeasy-api/speakeasy +### Generated +- [python v0.1.0] previous-versions/sync-for-expenses-version-1 +### Releases - [PyPI v0.1.0] https://pypi.org/project/codat-sync-for-expenses-version-1/0.1.0 - previous-versions/sync-for-expenses-version-1 \ No newline at end of file diff --git a/previous-versions/sync-for-expenses-version-1/docs/models/operations/intiatesyncrequest.md b/previous-versions/sync-for-expenses-version-1/docs/models/operations/initiatesyncrequest.md similarity index 98% rename from previous-versions/sync-for-expenses-version-1/docs/models/operations/intiatesyncrequest.md rename to previous-versions/sync-for-expenses-version-1/docs/models/operations/initiatesyncrequest.md index 7ee237b81..bbb894436 100755 --- a/previous-versions/sync-for-expenses-version-1/docs/models/operations/intiatesyncrequest.md +++ b/previous-versions/sync-for-expenses-version-1/docs/models/operations/initiatesyncrequest.md @@ -1,4 +1,4 @@ -# IntiateSyncRequest +# InitiateSyncRequest ## Fields diff --git a/previous-versions/sync-for-expenses-version-1/docs/models/operations/intiatesyncresponse.md b/previous-versions/sync-for-expenses-version-1/docs/models/operations/initiatesyncresponse.md similarity index 99% rename from previous-versions/sync-for-expenses-version-1/docs/models/operations/intiatesyncresponse.md rename to previous-versions/sync-for-expenses-version-1/docs/models/operations/initiatesyncresponse.md index 5c8dea7e8..70fb53be6 100755 --- a/previous-versions/sync-for-expenses-version-1/docs/models/operations/intiatesyncresponse.md +++ b/previous-versions/sync-for-expenses-version-1/docs/models/operations/initiatesyncresponse.md @@ -1,4 +1,4 @@ -# IntiateSyncResponse +# InitiateSyncResponse ## Fields diff --git a/previous-versions/sync-for-expenses-version-1/docs/models/operations/unlinkconnectionrequest.md b/previous-versions/sync-for-expenses-version-1/docs/models/operations/unlinkconnectionrequest.md index 2ed1d78dc..d20863dce 100755 --- a/previous-versions/sync-for-expenses-version-1/docs/models/operations/unlinkconnectionrequest.md +++ b/previous-versions/sync-for-expenses-version-1/docs/models/operations/unlinkconnectionrequest.md @@ -3,8 +3,8 @@ ## Fields -| Field | Type | Required | Description | Example | -| ----------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------- | -| `request_body` | [Optional[UnlinkConnectionRequestBody]](../../models/operations/unlinkconnectionrequestbody.md) | :heavy_minus_sign: | N/A | | -| `company_id` | *str* | :heavy_check_mark: | N/A | 8a210b68-6988-11ed-a1eb-0242ac120002 | -| `connection_id` | *str* | :heavy_check_mark: | N/A | 2e9d2c44-f675-40ba-8049-353bfcb5e171 | \ No newline at end of file +| Field | Type | Required | Description | Example | +| --------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------- | +| `request_body` | [Optional[UnlinkConnectionUpdateConnection]](../../models/operations/unlinkconnectionupdateconnection.md) | :heavy_minus_sign: | N/A | | +| `company_id` | *str* | :heavy_check_mark: | N/A | 8a210b68-6988-11ed-a1eb-0242ac120002 | +| `connection_id` | *str* | :heavy_check_mark: | N/A | 2e9d2c44-f675-40ba-8049-353bfcb5e171 | \ No newline at end of file diff --git a/previous-versions/sync-for-expenses-version-1/docs/models/operations/unlinkconnectionrequestbody.md b/previous-versions/sync-for-expenses-version-1/docs/models/operations/unlinkconnectionrequestbody.md deleted file mode 100755 index 276bf1330..000000000 --- a/previous-versions/sync-for-expenses-version-1/docs/models/operations/unlinkconnectionrequestbody.md +++ /dev/null @@ -1,8 +0,0 @@ -# UnlinkConnectionRequestBody - - -## Fields - -| Field | Type | Required | Description | -| ------------------ | ------------------ | ------------------ | ------------------ | -| `status` | *Optional[str]* | :heavy_minus_sign: | N/A | \ No newline at end of file diff --git a/previous-versions/sync-for-expenses-version-1/docs/models/operations/unlinkconnectionupdateconnection.md b/previous-versions/sync-for-expenses-version-1/docs/models/operations/unlinkconnectionupdateconnection.md new file mode 100755 index 000000000..5a5f2911b --- /dev/null +++ b/previous-versions/sync-for-expenses-version-1/docs/models/operations/unlinkconnectionupdateconnection.md @@ -0,0 +1,8 @@ +# UnlinkConnectionUpdateConnection + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------ | +| `status` | [Optional[shared.DataConnectionStatus]](../../models/shared/dataconnectionstatus.md) | :heavy_minus_sign: | The current authorization status of the data connection. | \ No newline at end of file diff --git a/previous-versions/sync-for-expenses-version-1/docs/models/shared/attachment.md b/previous-versions/sync-for-expenses-version-1/docs/models/shared/attachment.md index e5fb39141..1248b8574 100755 --- a/previous-versions/sync-for-expenses-version-1/docs/models/shared/attachment.md +++ b/previous-versions/sync-for-expenses-version-1/docs/models/shared/attachment.md @@ -1,7 +1,5 @@ # Attachment -OK - ## Fields diff --git a/previous-versions/sync-for-expenses-version-1/docs/models/shared/companies.md b/previous-versions/sync-for-expenses-version-1/docs/models/shared/companies.md index 621899fbb..c4c6e0399 100755 --- a/previous-versions/sync-for-expenses-version-1/docs/models/shared/companies.md +++ b/previous-versions/sync-for-expenses-version-1/docs/models/shared/companies.md @@ -1,7 +1,5 @@ # Companies -OK - ## Fields diff --git a/previous-versions/sync-for-expenses-version-1/docs/models/shared/companyconfiguration.md b/previous-versions/sync-for-expenses-version-1/docs/models/shared/companyconfiguration.md index e0678c642..4d18d7507 100755 --- a/previous-versions/sync-for-expenses-version-1/docs/models/shared/companyconfiguration.md +++ b/previous-versions/sync-for-expenses-version-1/docs/models/shared/companyconfiguration.md @@ -1,7 +1,5 @@ # CompanyConfiguration -Success - ## Fields diff --git a/previous-versions/sync-for-expenses-version-1/docs/models/shared/companysyncstatus.md b/previous-versions/sync-for-expenses-version-1/docs/models/shared/companysyncstatus.md index a3d6dcb4b..564dc44df 100755 --- a/previous-versions/sync-for-expenses-version-1/docs/models/shared/companysyncstatus.md +++ b/previous-versions/sync-for-expenses-version-1/docs/models/shared/companysyncstatus.md @@ -1,7 +1,5 @@ # CompanySyncStatus -Success - ## Fields diff --git a/previous-versions/sync-for-expenses-version-1/docs/models/shared/connections.md b/previous-versions/sync-for-expenses-version-1/docs/models/shared/connections.md index ba1135508..d9a1a748e 100755 --- a/previous-versions/sync-for-expenses-version-1/docs/models/shared/connections.md +++ b/previous-versions/sync-for-expenses-version-1/docs/models/shared/connections.md @@ -1,7 +1,5 @@ # Connections -OK - ## Fields diff --git a/previous-versions/sync-for-expenses-version-1/docs/models/shared/createexpenseresponse.md b/previous-versions/sync-for-expenses-version-1/docs/models/shared/createexpenseresponse.md index e4aeb38ba..8278ec84b 100755 --- a/previous-versions/sync-for-expenses-version-1/docs/models/shared/createexpenseresponse.md +++ b/previous-versions/sync-for-expenses-version-1/docs/models/shared/createexpenseresponse.md @@ -1,7 +1,5 @@ # CreateExpenseResponse -OK - ## Fields diff --git a/previous-versions/sync-for-expenses-version-1/docs/models/shared/errormessage.md b/previous-versions/sync-for-expenses-version-1/docs/models/shared/errormessage.md index b32400646..4f34c9a64 100755 --- a/previous-versions/sync-for-expenses-version-1/docs/models/shared/errormessage.md +++ b/previous-versions/sync-for-expenses-version-1/docs/models/shared/errormessage.md @@ -1,7 +1,5 @@ # ErrorMessage -Your `query` parameter was not correctly formed - ## Fields diff --git a/previous-versions/sync-for-expenses-version-1/docs/models/shared/expensetransaction.md b/previous-versions/sync-for-expenses-version-1/docs/models/shared/expensetransaction.md index 898c49c58..7d5a63b45 100755 --- a/previous-versions/sync-for-expenses-version-1/docs/models/shared/expensetransaction.md +++ b/previous-versions/sync-for-expenses-version-1/docs/models/shared/expensetransaction.md @@ -7,7 +7,7 @@ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `contact_ref` | [Optional[ContactRef]](../../models/shared/contactref.md) | :heavy_minus_sign: | N/A | | | `currency` | *str* | :heavy_check_mark: | Currency the transaction was recorded in. | GBP | -| `currency_rate` | *Optional[float]* | :heavy_minus_sign: | Rate to convert the total amount of the payment into the base currency for the company at the time of the payment.

Currency rates in Codat are implemented as the multiple of foreign currency units to each base currency unit.

It is not possible to perform the currency conversion with two or more non-base currencies participating in the transaction. For example, if a company's base currency is USD, and it has a bill issued in EUR, then the bill payment must happen in USD or EUR.

Where the currency rate is provided by the underlying accounting platform, it will be available from Codat with the same precision (up to a maximum of 9 decimal places).

For accounting platforms which do not provide an explicit currency rate, it is calculated as `baseCurrency / foreignCurrency` and will be returned to 9 decimal places.

## Examples with base currency of GBP

\| Foreign Currency \| Foreign Amount \| Currency Rate \| Base Currency Amount (GBP) \|
\| :--------------- \| :------------- \| :------------ \| :------------------------- \|
\| **USD** \| $20 \| 0.781 \| £15.62 \|
\| **EUR** \| €20 \| 0.885 \| £17.70 \|
\| **RUB** \| ₽20 \| 0.011 \| £0.22 \|

## Examples with base currency of USD

\| Foreign Currency \| Foreign Amount \| Currency Rate \| Base Currency Amount (USD) \|
\| :--------------- \| :------------- \| :------------ \| :------------------------- \|
\| **GBP** \| £20 \| 1.277 \| $25.54 \|
\| **EUR** \| €20 \| 1.134 \| $22.68 \|
\| **RUB** \| ₽20 \| 0.015 \| $0.30 \| | | +| `currency_rate` | *Optional[Decimal]* | :heavy_minus_sign: | Rate to convert the total amount of the payment into the base currency for the company at the time of the payment.

Currency rates in Codat are implemented as the multiple of foreign currency units to each base currency unit.

It is not possible to perform the currency conversion with two or more non-base currencies participating in the transaction. For example, if a company's base currency is USD, and it has a bill issued in EUR, then the bill payment must happen in USD or EUR.

Where the currency rate is provided by the underlying accounting platform, it will be available from Codat with the same precision (up to a maximum of 9 decimal places).

For accounting platforms which do not provide an explicit currency rate, it is calculated as `baseCurrency / foreignCurrency` and will be returned to 9 decimal places.

## Examples with base currency of GBP

\| Foreign Currency \| Foreign Amount \| Currency Rate \| Base Currency Amount (GBP) \|
\| :--------------- \| :------------- \| :------------ \| :------------------------- \|
\| **USD** \| $20 \| 0.781 \| £15.62 \|
\| **EUR** \| €20 \| 0.885 \| £17.70 \|
\| **RUB** \| ₽20 \| 0.011 \| £0.22 \|

## Examples with base currency of USD

\| Foreign Currency \| Foreign Amount \| Currency Rate \| Base Currency Amount (USD) \|
\| :--------------- \| :------------- \| :------------ \| :------------------------- \|
\| **GBP** \| £20 \| 1.277 \| $25.54 \|
\| **EUR** \| €20 \| 1.134 \| $22.68 \|
\| **RUB** \| ₽20 \| 0.015 \| $0.30 \| | | | `id` | *str* | :heavy_check_mark: | Your unique identifier for the transaction. | 4d7c6929-7770-412b-91bb-44d3bc71d111 | | `issue_date` | *str* | :heavy_check_mark: | In Codat's data model, dates and times are represented using the ISO 8601 standard. Date and time fields are formatted as strings; for example:

```
2020-10-08T22:40:50Z
2021-01-01T00:00:00
```



When syncing data that contains `DateTime` fields from Codat, make sure you support the following cases when reading time information:

- Coordinated Universal Time (UTC): `2021-11-15T06:00:00Z`
- Unqualified local time: `2021-11-15T01:00:00`
- UTC time offsets: `2021-11-15T01:00:00-05:00`

> Time zones
>
> Not all dates from Codat will contain information about time zones.
> Where it is not available from the underlying platform, Codat will return these as times local to the business whose data has been synced. | 2022-10-23T00:00:00.000Z | | `lines` | list[[ExpenseTransactionLine](../../models/shared/expensetransactionline.md)] | :heavy_minus_sign: | Array of transaction lines. | | diff --git a/previous-versions/sync-for-expenses-version-1/docs/models/shared/expensetransactionline.md b/previous-versions/sync-for-expenses-version-1/docs/models/shared/expensetransactionline.md index 7715b7de9..cb23aeaa1 100755 --- a/previous-versions/sync-for-expenses-version-1/docs/models/shared/expensetransactionline.md +++ b/previous-versions/sync-for-expenses-version-1/docs/models/shared/expensetransactionline.md @@ -6,7 +6,7 @@ | Field | Type | Required | Description | Example | | ------------------------------------------------------- | ------------------------------------------------------- | ------------------------------------------------------- | ------------------------------------------------------- | ------------------------------------------------------- | | `account_ref` | [RecordRef](../../models/shared/recordref.md) | :heavy_check_mark: | N/A | | -| `net_amount` | *float* | :heavy_check_mark: | Amount of the line, exclusive of tax. | 110.42 | -| `tax_amount` | *float* | :heavy_check_mark: | Amount of tax for the line. | 14.43 | +| `net_amount` | *Decimal* | :heavy_check_mark: | Amount of the line, exclusive of tax. | 110.42 | +| `tax_amount` | *Decimal* | :heavy_check_mark: | Amount of tax for the line. | 14.43 | | `tax_rate_ref` | [Optional[RecordRef]](../../models/shared/recordref.md) | :heavy_minus_sign: | N/A | | | `tracking_refs` | list[[RecordRef](../../models/shared/recordref.md)] | :heavy_minus_sign: | N/A | | \ No newline at end of file diff --git a/previous-versions/sync-for-expenses-version-1/docs/models/shared/mappingoptions.md b/previous-versions/sync-for-expenses-version-1/docs/models/shared/mappingoptions.md index 98fc50f93..7cdf63389 100755 --- a/previous-versions/sync-for-expenses-version-1/docs/models/shared/mappingoptions.md +++ b/previous-versions/sync-for-expenses-version-1/docs/models/shared/mappingoptions.md @@ -1,7 +1,5 @@ # MappingOptions -Success - ## Fields diff --git a/previous-versions/sync-for-expenses-version-1/docs/models/shared/syncinitiated.md b/previous-versions/sync-for-expenses-version-1/docs/models/shared/syncinitiated.md index e10f210a8..8cd67fcc0 100755 --- a/previous-versions/sync-for-expenses-version-1/docs/models/shared/syncinitiated.md +++ b/previous-versions/sync-for-expenses-version-1/docs/models/shared/syncinitiated.md @@ -1,7 +1,5 @@ # SyncInitiated -Returns the newly created SyncId - ## Fields diff --git a/previous-versions/sync-for-expenses-version-1/docs/models/shared/taxratemappinginfo.md b/previous-versions/sync-for-expenses-version-1/docs/models/shared/taxratemappinginfo.md index 7652d90b5..7719a6865 100755 --- a/previous-versions/sync-for-expenses-version-1/docs/models/shared/taxratemappinginfo.md +++ b/previous-versions/sync-for-expenses-version-1/docs/models/shared/taxratemappinginfo.md @@ -6,8 +6,8 @@ | Field | Type | Required | Description | Example | | --------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------- | | `code` | *Optional[str]* | :heavy_minus_sign: | Code for the tax rate from the accounting platform. | UK Standard Rate (Bills) | -| `effective_tax_rate` | *Optional[float]* | :heavy_minus_sign: | Effective tax rate. | 20 | +| `effective_tax_rate` | *Optional[Decimal]* | :heavy_minus_sign: | Effective tax rate. | 20 | | `id` | *Optional[str]* | :heavy_minus_sign: | Unique identifier of tax rate. | 59_Bills | | `name` | *Optional[str]* | :heavy_minus_sign: | Name of the tax rate in the accounting platform. | UK Standard Rate (Bills) Bills | -| `total_tax_rate` | *Optional[float]* | :heavy_minus_sign: | Total (not compounded) sum of the components of a tax rate. | 20 | +| `total_tax_rate` | *Optional[Decimal]* | :heavy_minus_sign: | Total (not compounded) sum of the components of a tax rate. | 20 | | `valid_transaction_types` | list[[TaxRateMappingInfoValidTransactionTypes](../../models/shared/taxratemappinginfovalidtransactiontypes.md)] | :heavy_minus_sign: | Supported transaction types for the account. | | \ No newline at end of file diff --git a/previous-versions/sync-for-expenses-version-1/docs/models/shared/transactionmetadatalist.md b/previous-versions/sync-for-expenses-version-1/docs/models/shared/transactionmetadatalist.md index 2764f2309..57d6e99be 100755 --- a/previous-versions/sync-for-expenses-version-1/docs/models/shared/transactionmetadatalist.md +++ b/previous-versions/sync-for-expenses-version-1/docs/models/shared/transactionmetadatalist.md @@ -1,7 +1,5 @@ # TransactionMetadataList -Success - ## Fields diff --git a/previous-versions/sync-for-expenses-version-1/docs/models/shared/updateexpenserequest.md b/previous-versions/sync-for-expenses-version-1/docs/models/shared/updateexpenserequest.md index a142f690f..2a1a8e368 100755 --- a/previous-versions/sync-for-expenses-version-1/docs/models/shared/updateexpenserequest.md +++ b/previous-versions/sync-for-expenses-version-1/docs/models/shared/updateexpenserequest.md @@ -7,7 +7,7 @@ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `contact_ref` | [Optional[ContactRef]](../../models/shared/contactref.md) | :heavy_minus_sign: | N/A | | | `currency` | *Optional[str]* | :heavy_minus_sign: | Currency the transaction was recorded in. | GBP | -| `currency_rate` | *Optional[float]* | :heavy_minus_sign: | Rate to convert the total amount of the payment into the base currency for the company at the time of the payment.

Currency rates in Codat are implemented as the multiple of foreign currency units to each base currency unit.

It is not possible to perform the currency conversion with two or more non-base currencies participating in the transaction. For example, if a company's base currency is USD, and it has a bill issued in EUR, then the bill payment must happen in USD or EUR.

Where the currency rate is provided by the underlying accounting platform, it will be available from Codat with the same precision (up to a maximum of 9 decimal places).

For accounting platforms which do not provide an explicit currency rate, it is calculated as `baseCurrency / foreignCurrency` and will be returned to 9 decimal places.

## Examples with base currency of GBP

\| Foreign Currency \| Foreign Amount \| Currency Rate \| Base Currency Amount (GBP) \|
\| :--------------- \| :------------- \| :------------ \| :------------------------- \|
\| **USD** \| $20 \| 0.781 \| £15.62 \|
\| **EUR** \| €20 \| 0.885 \| £17.70 \|
\| **RUB** \| ₽20 \| 0.011 \| £0.22 \|

## Examples with base currency of USD

\| Foreign Currency \| Foreign Amount \| Currency Rate \| Base Currency Amount (USD) \|
\| :--------------- \| :------------- \| :------------ \| :------------------------- \|
\| **GBP** \| £20 \| 1.277 \| $25.54 \|
\| **EUR** \| €20 \| 1.134 \| $22.68 \|
\| **RUB** \| ₽20 \| 0.015 \| $0.30 \| | | +| `currency_rate` | *Optional[Decimal]* | :heavy_minus_sign: | Rate to convert the total amount of the payment into the base currency for the company at the time of the payment.

Currency rates in Codat are implemented as the multiple of foreign currency units to each base currency unit.

It is not possible to perform the currency conversion with two or more non-base currencies participating in the transaction. For example, if a company's base currency is USD, and it has a bill issued in EUR, then the bill payment must happen in USD or EUR.

Where the currency rate is provided by the underlying accounting platform, it will be available from Codat with the same precision (up to a maximum of 9 decimal places).

For accounting platforms which do not provide an explicit currency rate, it is calculated as `baseCurrency / foreignCurrency` and will be returned to 9 decimal places.

## Examples with base currency of GBP

\| Foreign Currency \| Foreign Amount \| Currency Rate \| Base Currency Amount (GBP) \|
\| :--------------- \| :------------- \| :------------ \| :------------------------- \|
\| **USD** \| $20 \| 0.781 \| £15.62 \|
\| **EUR** \| €20 \| 0.885 \| £17.70 \|
\| **RUB** \| ₽20 \| 0.011 \| £0.22 \|

## Examples with base currency of USD

\| Foreign Currency \| Foreign Amount \| Currency Rate \| Base Currency Amount (USD) \|
\| :--------------- \| :------------- \| :------------ \| :------------------------- \|
\| **GBP** \| £20 \| 1.277 \| $25.54 \|
\| **EUR** \| €20 \| 1.134 \| $22.68 \|
\| **RUB** \| ₽20 \| 0.015 \| $0.30 \| | | | `issue_date` | *str* | :heavy_check_mark: | Date the transaction was recorded. | 2022-06-28T00:00:00.000Z | | `lines` | list[[ExpenseTransactionLine](../../models/shared/expensetransactionline.md)] | :heavy_minus_sign: | Array of transaction lines. | | | `merchant_name` | *Optional[str]* | :heavy_minus_sign: | Name of the merchant where the purchase took place | Amazon UK | diff --git a/previous-versions/sync-for-expenses-version-1/docs/sdks/codatsyncexpenses/README.md b/previous-versions/sync-for-expenses-version-1/docs/sdks/codatsyncexpenses/README.md index 14fe52fa8..0c1213842 100755 --- a/previous-versions/sync-for-expenses-version-1/docs/sdks/codatsyncexpenses/README.md +++ b/previous-versions/sync-for-expenses-version-1/docs/sdks/codatsyncexpenses/README.md @@ -8,11 +8,11 @@ Sync for Expenses is an API and a set of supporting tools. It has been built to enable corporate card and expense management platforms to provide high-quality integrations with multiple accounting platforms through a standardized API. - [Read more...](https://docs.codat.io/sync-for-expenses/overview) - [See our OpenAPI spec](https://github.com/codatio/oas) +Not seeing what you expect? [See the main Sync for Commerce API](https://docs.codat.io/sync-for-commerce-api). + ### Available Operations diff --git a/previous-versions/sync-for-expenses-version-1/docs/sdks/connections/README.md b/previous-versions/sync-for-expenses-version-1/docs/sdks/connections/README.md index da30254e4..13d2efe84 100755 --- a/previous-versions/sync-for-expenses-version-1/docs/sdks/connections/README.md +++ b/previous-versions/sync-for-expenses-version-1/docs/sdks/connections/README.md @@ -237,8 +237,8 @@ s = codatsyncexpenses.CodatSyncExpenses( ) req = operations.UnlinkConnectionRequest( - request_body=operations.UnlinkConnectionRequestBody( - status='quibusdam', + request_body=operations.UnlinkConnectionUpdateConnection( + status=shared.DataConnectionStatus.DEAUTHORIZED, ), company_id='8a210b68-6988-11ed-a1eb-0242ac120002', connection_id='2e9d2c44-f675-40ba-8049-353bfcb5e171', diff --git a/previous-versions/sync-for-expenses-version-1/docs/sdks/expenses/README.md b/previous-versions/sync-for-expenses-version-1/docs/sdks/expenses/README.md index 71072adc1..e0bd79d1a 100755 --- a/previous-versions/sync-for-expenses-version-1/docs/sdks/expenses/README.md +++ b/previous-versions/sync-for-expenses-version-1/docs/sdks/expenses/README.md @@ -19,6 +19,7 @@ Create an expense transaction ```python import codatsyncexpenses from codatsyncexpenses.models import operations, shared +from decimal import Decimal s = codatsyncexpenses.CodatSyncExpenses( security=shared.Security( @@ -35,7 +36,7 @@ req = operations.CreateExpenseDatasetRequest( id='40e3e57c-2322-4898-966c-ca41adfd23fd', ), currency='GBP', - currency_rate=8579.46, + currency_rate=Decimal('6027.63'), id='4d7c6929-7770-412b-91bb-44d3bc71d111', issue_date='2022-10-23T00:00:00.000Z', lines=[ @@ -43,8 +44,8 @@ req = operations.CreateExpenseDatasetRequest( account_ref=shared.RecordRef( id='40e3e57c-2322-4898-966c-ca41adfd23fd', ), - net_amount=110.42, - tax_amount=14.43, + net_amount=Decimal('110.42'), + tax_amount=Decimal('14.43'), tax_rate_ref=shared.RecordRef( id='40e3e57c-2322-4898-966c-ca41adfd23fd', ), @@ -52,252 +53,6 @@ req = operations.CreateExpenseDatasetRequest( shared.RecordRef( id='40e3e57c-2322-4898-966c-ca41adfd23fd', ), - shared.RecordRef( - id='40e3e57c-2322-4898-966c-ca41adfd23fd', - ), - ], - ), - shared.ExpenseTransactionLine( - account_ref=shared.RecordRef( - id='40e3e57c-2322-4898-966c-ca41adfd23fd', - ), - net_amount=110.42, - tax_amount=14.43, - tax_rate_ref=shared.RecordRef( - id='40e3e57c-2322-4898-966c-ca41adfd23fd', - ), - tracking_refs=[ - shared.RecordRef( - id='40e3e57c-2322-4898-966c-ca41adfd23fd', - ), - shared.RecordRef( - id='40e3e57c-2322-4898-966c-ca41adfd23fd', - ), - shared.RecordRef( - id='40e3e57c-2322-4898-966c-ca41adfd23fd', - ), - ], - ), - shared.ExpenseTransactionLine( - account_ref=shared.RecordRef( - id='40e3e57c-2322-4898-966c-ca41adfd23fd', - ), - net_amount=110.42, - tax_amount=14.43, - tax_rate_ref=shared.RecordRef( - id='40e3e57c-2322-4898-966c-ca41adfd23fd', - ), - tracking_refs=[ - shared.RecordRef( - id='40e3e57c-2322-4898-966c-ca41adfd23fd', - ), - shared.RecordRef( - id='40e3e57c-2322-4898-966c-ca41adfd23fd', - ), - shared.RecordRef( - id='40e3e57c-2322-4898-966c-ca41adfd23fd', - ), - ], - ), - shared.ExpenseTransactionLine( - account_ref=shared.RecordRef( - id='40e3e57c-2322-4898-966c-ca41adfd23fd', - ), - net_amount=110.42, - tax_amount=14.43, - tax_rate_ref=shared.RecordRef( - id='40e3e57c-2322-4898-966c-ca41adfd23fd', - ), - tracking_refs=[ - shared.RecordRef( - id='40e3e57c-2322-4898-966c-ca41adfd23fd', - ), - shared.RecordRef( - id='40e3e57c-2322-4898-966c-ca41adfd23fd', - ), - ], - ), - ], - merchant_name='Amazon UK', - notes='APPLE.COM/BILL - 09001077498 - Card Ending: 4590', - type=shared.ExpenseTransactionType.PAYMENT, - ), - shared.ExpenseTransaction( - contact_ref=shared.ContactRef( - contact_type=shared.ContactRefContactType.SUPPLIER, - id='40e3e57c-2322-4898-966c-ca41adfd23fd', - ), - currency='GBP', - currency_rate=4375.87, - id='4d7c6929-7770-412b-91bb-44d3bc71d111', - issue_date='2022-10-23T00:00:00.000Z', - lines=[ - shared.ExpenseTransactionLine( - account_ref=shared.RecordRef( - id='40e3e57c-2322-4898-966c-ca41adfd23fd', - ), - net_amount=110.42, - tax_amount=14.43, - tax_rate_ref=shared.RecordRef( - id='40e3e57c-2322-4898-966c-ca41adfd23fd', - ), - tracking_refs=[ - shared.RecordRef( - id='40e3e57c-2322-4898-966c-ca41adfd23fd', - ), - ], - ), - shared.ExpenseTransactionLine( - account_ref=shared.RecordRef( - id='40e3e57c-2322-4898-966c-ca41adfd23fd', - ), - net_amount=110.42, - tax_amount=14.43, - tax_rate_ref=shared.RecordRef( - id='40e3e57c-2322-4898-966c-ca41adfd23fd', - ), - tracking_refs=[ - shared.RecordRef( - id='40e3e57c-2322-4898-966c-ca41adfd23fd', - ), - shared.RecordRef( - id='40e3e57c-2322-4898-966c-ca41adfd23fd', - ), - shared.RecordRef( - id='40e3e57c-2322-4898-966c-ca41adfd23fd', - ), - shared.RecordRef( - id='40e3e57c-2322-4898-966c-ca41adfd23fd', - ), - ], - ), - shared.ExpenseTransactionLine( - account_ref=shared.RecordRef( - id='40e3e57c-2322-4898-966c-ca41adfd23fd', - ), - net_amount=110.42, - tax_amount=14.43, - tax_rate_ref=shared.RecordRef( - id='40e3e57c-2322-4898-966c-ca41adfd23fd', - ), - tracking_refs=[ - shared.RecordRef( - id='40e3e57c-2322-4898-966c-ca41adfd23fd', - ), - shared.RecordRef( - id='40e3e57c-2322-4898-966c-ca41adfd23fd', - ), - ], - ), - shared.ExpenseTransactionLine( - account_ref=shared.RecordRef( - id='40e3e57c-2322-4898-966c-ca41adfd23fd', - ), - net_amount=110.42, - tax_amount=14.43, - tax_rate_ref=shared.RecordRef( - id='40e3e57c-2322-4898-966c-ca41adfd23fd', - ), - tracking_refs=[ - shared.RecordRef( - id='40e3e57c-2322-4898-966c-ca41adfd23fd', - ), - shared.RecordRef( - id='40e3e57c-2322-4898-966c-ca41adfd23fd', - ), - ], - ), - ], - merchant_name='Amazon UK', - notes='APPLE.COM/BILL - 09001077498 - Card Ending: 4590', - type=shared.ExpenseTransactionType.PAYMENT, - ), - shared.ExpenseTransaction( - contact_ref=shared.ContactRef( - contact_type=shared.ContactRefContactType.SUPPLIER, - id='40e3e57c-2322-4898-966c-ca41adfd23fd', - ), - currency='GBP', - currency_rate=4776.65, - id='4d7c6929-7770-412b-91bb-44d3bc71d111', - issue_date='2022-10-23T00:00:00.000Z', - lines=[ - shared.ExpenseTransactionLine( - account_ref=shared.RecordRef( - id='40e3e57c-2322-4898-966c-ca41adfd23fd', - ), - net_amount=110.42, - tax_amount=14.43, - tax_rate_ref=shared.RecordRef( - id='40e3e57c-2322-4898-966c-ca41adfd23fd', - ), - tracking_refs=[ - shared.RecordRef( - id='40e3e57c-2322-4898-966c-ca41adfd23fd', - ), - shared.RecordRef( - id='40e3e57c-2322-4898-966c-ca41adfd23fd', - ), - shared.RecordRef( - id='40e3e57c-2322-4898-966c-ca41adfd23fd', - ), - ], - ), - shared.ExpenseTransactionLine( - account_ref=shared.RecordRef( - id='40e3e57c-2322-4898-966c-ca41adfd23fd', - ), - net_amount=110.42, - tax_amount=14.43, - tax_rate_ref=shared.RecordRef( - id='40e3e57c-2322-4898-966c-ca41adfd23fd', - ), - tracking_refs=[ - shared.RecordRef( - id='40e3e57c-2322-4898-966c-ca41adfd23fd', - ), - shared.RecordRef( - id='40e3e57c-2322-4898-966c-ca41adfd23fd', - ), - ], - ), - shared.ExpenseTransactionLine( - account_ref=shared.RecordRef( - id='40e3e57c-2322-4898-966c-ca41adfd23fd', - ), - net_amount=110.42, - tax_amount=14.43, - tax_rate_ref=shared.RecordRef( - id='40e3e57c-2322-4898-966c-ca41adfd23fd', - ), - tracking_refs=[ - shared.RecordRef( - id='40e3e57c-2322-4898-966c-ca41adfd23fd', - ), - shared.RecordRef( - id='40e3e57c-2322-4898-966c-ca41adfd23fd', - ), - shared.RecordRef( - id='40e3e57c-2322-4898-966c-ca41adfd23fd', - ), - ], - ), - shared.ExpenseTransactionLine( - account_ref=shared.RecordRef( - id='40e3e57c-2322-4898-966c-ca41adfd23fd', - ), - net_amount=110.42, - tax_amount=14.43, - tax_rate_ref=shared.RecordRef( - id='40e3e57c-2322-4898-966c-ca41adfd23fd', - ), - tracking_refs=[ - shared.RecordRef( - id='40e3e57c-2322-4898-966c-ca41adfd23fd', - ), - shared.RecordRef( - id='40e3e57c-2322-4898-966c-ca41adfd23fd', - ), ], ), ], @@ -338,6 +93,7 @@ Update an expense transaction ```python import codatsyncexpenses from codatsyncexpenses.models import operations, shared +from decimal import Decimal s = codatsyncexpenses.CodatSyncExpenses( security=shared.Security( @@ -352,15 +108,15 @@ req = operations.UpdateExpenseDatasetRequest( id='40e3e57c-2322-4898-966c-ca41adfd23fd', ), currency='GBP', - currency_rate=9255.97, + currency_rate=Decimal('5448.83'), issue_date='2022-06-28T00:00:00.000Z', lines=[ shared.ExpenseTransactionLine( account_ref=shared.RecordRef( id='40e3e57c-2322-4898-966c-ca41adfd23fd', ), - net_amount=110.42, - tax_amount=14.43, + net_amount=Decimal('110.42'), + tax_amount=Decimal('14.43'), tax_rate_ref=shared.RecordRef( id='40e3e57c-2322-4898-966c-ca41adfd23fd', ), @@ -370,64 +126,10 @@ req = operations.UpdateExpenseDatasetRequest( ), ], ), - shared.ExpenseTransactionLine( - account_ref=shared.RecordRef( - id='40e3e57c-2322-4898-966c-ca41adfd23fd', - ), - net_amount=110.42, - tax_amount=14.43, - tax_rate_ref=shared.RecordRef( - id='40e3e57c-2322-4898-966c-ca41adfd23fd', - ), - tracking_refs=[ - shared.RecordRef( - id='40e3e57c-2322-4898-966c-ca41adfd23fd', - ), - shared.RecordRef( - id='40e3e57c-2322-4898-966c-ca41adfd23fd', - ), - ], - ), - shared.ExpenseTransactionLine( - account_ref=shared.RecordRef( - id='40e3e57c-2322-4898-966c-ca41adfd23fd', - ), - net_amount=110.42, - tax_amount=14.43, - tax_rate_ref=shared.RecordRef( - id='40e3e57c-2322-4898-966c-ca41adfd23fd', - ), - tracking_refs=[ - shared.RecordRef( - id='40e3e57c-2322-4898-966c-ca41adfd23fd', - ), - ], - ), - shared.ExpenseTransactionLine( - account_ref=shared.RecordRef( - id='40e3e57c-2322-4898-966c-ca41adfd23fd', - ), - net_amount=110.42, - tax_amount=14.43, - tax_rate_ref=shared.RecordRef( - id='40e3e57c-2322-4898-966c-ca41adfd23fd', - ), - tracking_refs=[ - shared.RecordRef( - id='40e3e57c-2322-4898-966c-ca41adfd23fd', - ), - shared.RecordRef( - id='40e3e57c-2322-4898-966c-ca41adfd23fd', - ), - shared.RecordRef( - id='40e3e57c-2322-4898-966c-ca41adfd23fd', - ), - ], - ), ], merchant_name='Amazon UK', notes='APPLE.COM/BILL - 09001077498 - Card Ending: 4590', - type='perferendis', + type='illum', ), company_id='8a210b68-6988-11ed-a1eb-0242ac120002', transaction_id='336694d8-2dca-4cb5-a28d-3ccb83e55eee', @@ -470,8 +172,8 @@ s = codatsyncexpenses.CodatSyncExpenses( req = operations.UploadAttachmentRequest( request_body=operations.UploadAttachmentRequestBody( - content='ipsam'.encode(), - request_body='repellendus', + content='vel'.encode(), + request_body='error', ), company_id='8a210b68-6988-11ed-a1eb-0242ac120002', sync_id='6fb40d5e-b13e-11ed-afa1-0242ac120002', diff --git a/previous-versions/sync-for-expenses-version-1/docs/sdks/sync/README.md b/previous-versions/sync-for-expenses-version-1/docs/sdks/sync/README.md index 2e071d856..bbf63b628 100755 --- a/previous-versions/sync-for-expenses-version-1/docs/sdks/sync/README.md +++ b/previous-versions/sync-for-expenses-version-1/docs/sdks/sync/README.md @@ -6,9 +6,9 @@ Triggering a new sync of expenses to accounting software. ### Available Operations -* [intiate_sync](#intiate_sync) - Initiate sync +* [initiate_sync](#initiate_sync) - Initiate sync -## intiate_sync +## initiate_sync Initiate sync of pending transactions. @@ -24,19 +24,16 @@ s = codatsyncexpenses.CodatSyncExpenses( ), ) -req = operations.IntiateSyncRequest( +req = operations.InitiateSyncRequest( post_sync=shared.PostSync( dataset_ids=[ - 'c2ddf7cc-78ca-41ba-928f-c816742cb739', - '20592939-6fea-4759-aeb1-0faaa2352c59', - '55907aff-1a3a-42fa-9467-739251aa52c3', - 'f5ad019d-a1ff-4e78-b097-b0074f15471b', + 'a674e0f4-67cc-4879-aed1-51a05dfc2ddf', ], ), company_id='8a210b68-6988-11ed-a1eb-0242ac120002', ) -res = s.sync.intiate_sync(req) +res = s.sync.initiate_sync(req) if res.sync_initiated is not None: # handle response @@ -44,13 +41,13 @@ if res.sync_initiated is not None: ### Parameters -| Parameter | Type | Required | Description | -| ------------------------------------------------------------------------------ | ------------------------------------------------------------------------------ | ------------------------------------------------------------------------------ | ------------------------------------------------------------------------------ | -| `request` | [operations.IntiateSyncRequest](../../models/operations/intiatesyncrequest.md) | :heavy_check_mark: | The request object to use for the request. | -| `retries` | [Optional[utils.RetryConfig]](../../models/utils/retryconfig.md) | :heavy_minus_sign: | Configuration to override the default retry behavior of the client. | +| Parameter | Type | Required | Description | +| -------------------------------------------------------------------------------- | -------------------------------------------------------------------------------- | -------------------------------------------------------------------------------- | -------------------------------------------------------------------------------- | +| `request` | [operations.InitiateSyncRequest](../../models/operations/initiatesyncrequest.md) | :heavy_check_mark: | The request object to use for the request. | +| `retries` | [Optional[utils.RetryConfig]](../../models/utils/retryconfig.md) | :heavy_minus_sign: | Configuration to override the default retry behavior of the client. | ### Response -**[operations.IntiateSyncResponse](../../models/operations/intiatesyncresponse.md)** +**[operations.InitiateSyncResponse](../../models/operations/initiatesyncresponse.md)** diff --git a/previous-versions/sync-for-expenses-version-1/files.gen b/previous-versions/sync-for-expenses-version-1/files.gen index 98d5ce2e0..8a2601817 100755 --- a/previous-versions/sync-for-expenses-version-1/files.gen +++ b/previous-versions/sync-for-expenses-version-1/files.gen @@ -33,7 +33,7 @@ src/codatsyncexpenses/models/operations/create_expense_dataset.py src/codatsyncexpenses/models/operations/update_expense_dataset.py src/codatsyncexpenses/models/operations/upload_attachment.py src/codatsyncexpenses/models/operations/get_mapping_options.py -src/codatsyncexpenses/models/operations/intiate_sync.py +src/codatsyncexpenses/models/operations/initiate_sync.py src/codatsyncexpenses/models/operations/get_last_successful_sync.py src/codatsyncexpenses/models/operations/get_latest_sync.py src/codatsyncexpenses/models/operations/get_sync_by_id.py @@ -119,7 +119,7 @@ docs/models/operations/getconnectionrequest.md docs/models/operations/getconnectionresponse.md docs/models/operations/listconnectionsrequest.md docs/models/operations/listconnectionsresponse.md -docs/models/operations/unlinkconnectionrequestbody.md +docs/models/operations/unlinkconnectionupdateconnection.md docs/models/operations/unlinkconnectionrequest.md docs/models/operations/unlinkconnectionresponse.md docs/models/operations/createexpensedatasetrequest.md @@ -132,8 +132,8 @@ docs/models/operations/uploadattachmentrequest.md docs/models/operations/uploadattachmentresponse.md docs/models/operations/getmappingoptionsrequest.md docs/models/operations/getmappingoptionsresponse.md -docs/models/operations/intiatesyncrequest.md -docs/models/operations/intiatesyncresponse.md +docs/models/operations/initiatesyncrequest.md +docs/models/operations/initiatesyncresponse.md docs/models/operations/getlastsuccessfulsyncrequest.md docs/models/operations/getlastsuccessfulsyncresponse.md docs/models/operations/getlatestsyncrequest.md diff --git a/previous-versions/sync-for-expenses-version-1/gen.yaml b/previous-versions/sync-for-expenses-version-1/gen.yaml index 2e8a5a49c..7b9e90cc2 100644 --- a/previous-versions/sync-for-expenses-version-1/gen.yaml +++ b/previous-versions/sync-for-expenses-version-1/gen.yaml @@ -1,15 +1,24 @@ configVersion: 1.0.0 management: - docChecksum: '00000000000000000000000000000000' - docVersion: 2.1.0 - speakeasyVersion: 1.53.0 - generationVersion: 2.58.0 + docChecksum: 0907fe4144d00b5fcc6445e0a4b1285c + docVersion: prealpha + speakeasyVersion: 1.82.5 + generationVersion: 2.108.3 generation: sdkClassName: CodatSyncExpenses singleTagPerOp: false telemetryEnabled: true +features: + python: + core: 2.85.4 + deprecations: 2.81.1 + examples: 2.81.2 + globalSecurity: 2.81.1 + globalServerURLs: 2.82.0 + nameOverrides: 2.81.1 + retries: 2.82.0 python: - version: 0.0.0 + version: 0.1.0 author: Codat description: Push expenses to accounting platforms. maxMethodParams: 0 diff --git a/previous-versions/sync-for-expenses-version-1/src/codatsyncexpenses/companies.py b/previous-versions/sync-for-expenses-version-1/src/codatsyncexpenses/companies.py index 21652e0bb..cf250bb9d 100755 --- a/previous-versions/sync-for-expenses-version-1/src/codatsyncexpenses/companies.py +++ b/previous-versions/sync-for-expenses-version-1/src/codatsyncexpenses/companies.py @@ -31,9 +31,13 @@ def create_company(self, request: shared.CompanyRequestBody, retries: Optional[u client = self.sdk_configuration.security_client + global_retry_config = self.sdk_configuration.retry_config retry_config = retries if retry_config is None: - retry_config = utils.RetryConfig('backoff', utils.BackoffStrategy(500, 60000, 1.5, 3600000), True) + if global_retry_config: + retry_config = global_retry_config + else: + retry_config = utils.RetryConfig('backoff', utils.BackoffStrategy(500, 60000, 1.5, 3600000), True) def do_request(): return client.request('POST', url, data=data, files=form, headers=headers) @@ -76,9 +80,13 @@ def delete_company(self, request: operations.DeleteCompanyRequest, retries: Opti client = self.sdk_configuration.security_client + global_retry_config = self.sdk_configuration.retry_config retry_config = retries if retry_config is None: - retry_config = utils.RetryConfig('backoff', utils.BackoffStrategy(500, 60000, 1.5, 3600000), True) + if global_retry_config: + retry_config = global_retry_config + else: + retry_config = utils.RetryConfig('backoff', utils.BackoffStrategy(500, 60000, 1.5, 3600000), True) def do_request(): return client.request('DELETE', url, headers=headers) @@ -117,9 +125,13 @@ def get_company(self, request: operations.GetCompanyRequest, retries: Optional[u client = self.sdk_configuration.security_client + global_retry_config = self.sdk_configuration.retry_config retry_config = retries if retry_config is None: - retry_config = utils.RetryConfig('backoff', utils.BackoffStrategy(500, 60000, 1.5, 3600000), True) + if global_retry_config: + retry_config = global_retry_config + else: + retry_config = utils.RetryConfig('backoff', utils.BackoffStrategy(500, 60000, 1.5, 3600000), True) def do_request(): return client.request('GET', url, headers=headers) @@ -163,9 +175,13 @@ def list_companies(self, request: operations.ListCompaniesRequest, retries: Opti client = self.sdk_configuration.security_client + global_retry_config = self.sdk_configuration.retry_config retry_config = retries if retry_config is None: - retry_config = utils.RetryConfig('backoff', utils.BackoffStrategy(500, 60000, 1.5, 3600000), True) + if global_retry_config: + retry_config = global_retry_config + else: + retry_config = utils.RetryConfig('backoff', utils.BackoffStrategy(500, 60000, 1.5, 3600000), True) def do_request(): return client.request('GET', url, params=query_params, headers=headers) @@ -211,9 +227,13 @@ def update_company(self, request: operations.UpdateCompanyRequest, retries: Opti client = self.sdk_configuration.security_client + global_retry_config = self.sdk_configuration.retry_config retry_config = retries if retry_config is None: - retry_config = utils.RetryConfig('backoff', utils.BackoffStrategy(500, 60000, 1.5, 3600000), True) + if global_retry_config: + retry_config = global_retry_config + else: + retry_config = utils.RetryConfig('backoff', utils.BackoffStrategy(500, 60000, 1.5, 3600000), True) def do_request(): return client.request('PUT', url, data=data, files=form, headers=headers) diff --git a/previous-versions/sync-for-expenses-version-1/src/codatsyncexpenses/configuration.py b/previous-versions/sync-for-expenses-version-1/src/codatsyncexpenses/configuration.py index bd05ddf8d..c52f85e94 100755 --- a/previous-versions/sync-for-expenses-version-1/src/codatsyncexpenses/configuration.py +++ b/previous-versions/sync-for-expenses-version-1/src/codatsyncexpenses/configuration.py @@ -26,9 +26,13 @@ def get_company_configuration(self, request: operations.GetCompanyConfigurationR client = self.sdk_configuration.security_client + global_retry_config = self.sdk_configuration.retry_config retry_config = retries if retry_config is None: - retry_config = utils.RetryConfig('backoff', utils.BackoffStrategy(500, 60000, 1.5, 3600000), True) + if global_retry_config: + retry_config = global_retry_config + else: + retry_config = utils.RetryConfig('backoff', utils.BackoffStrategy(500, 60000, 1.5, 3600000), True) def do_request(): return client.request('GET', url, headers=headers) @@ -74,9 +78,13 @@ def save_company_configuration(self, request: operations.SaveCompanyConfiguratio client = self.sdk_configuration.security_client + global_retry_config = self.sdk_configuration.retry_config retry_config = retries if retry_config is None: - retry_config = utils.RetryConfig('backoff', utils.BackoffStrategy(500, 60000, 1.5, 3600000), True) + if global_retry_config: + retry_config = global_retry_config + else: + retry_config = utils.RetryConfig('backoff', utils.BackoffStrategy(500, 60000, 1.5, 3600000), True) def do_request(): return client.request('POST', url, data=data, files=form, headers=headers) diff --git a/previous-versions/sync-for-expenses-version-1/src/codatsyncexpenses/connections.py b/previous-versions/sync-for-expenses-version-1/src/codatsyncexpenses/connections.py index 0d0e37649..b7ccb651e 100755 --- a/previous-versions/sync-for-expenses-version-1/src/codatsyncexpenses/connections.py +++ b/previous-versions/sync-for-expenses-version-1/src/codatsyncexpenses/connections.py @@ -31,9 +31,13 @@ def create_connection(self, request: operations.CreateConnectionRequest, retries client = self.sdk_configuration.security_client + global_retry_config = self.sdk_configuration.retry_config retry_config = retries if retry_config is None: - retry_config = utils.RetryConfig('backoff', utils.BackoffStrategy(500, 60000, 1.5, 3600000), True) + if global_retry_config: + retry_config = global_retry_config + else: + retry_config = utils.RetryConfig('backoff', utils.BackoffStrategy(500, 60000, 1.5, 3600000), True) def do_request(): return client.request('POST', url, data=data, files=form, headers=headers) @@ -76,9 +80,13 @@ def create_partner_expense_connection(self, request: operations.CreatePartnerExp client = self.sdk_configuration.security_client + global_retry_config = self.sdk_configuration.retry_config retry_config = retries if retry_config is None: - retry_config = utils.RetryConfig('backoff', utils.BackoffStrategy(500, 60000, 1.5, 3600000), True) + if global_retry_config: + retry_config = global_retry_config + else: + retry_config = utils.RetryConfig('backoff', utils.BackoffStrategy(500, 60000, 1.5, 3600000), True) def do_request(): return client.request('POST', url, headers=headers) @@ -122,9 +130,13 @@ def delete_connection(self, request: operations.DeleteConnectionRequest, retries client = self.sdk_configuration.security_client + global_retry_config = self.sdk_configuration.retry_config retry_config = retries if retry_config is None: - retry_config = utils.RetryConfig('backoff', utils.BackoffStrategy(500, 60000, 1.5, 3600000), True) + if global_retry_config: + retry_config = global_retry_config + else: + retry_config = utils.RetryConfig('backoff', utils.BackoffStrategy(500, 60000, 1.5, 3600000), True) def do_request(): return client.request('DELETE', url, headers=headers) @@ -163,9 +175,13 @@ def get_connection(self, request: operations.GetConnectionRequest, retries: Opti client = self.sdk_configuration.security_client + global_retry_config = self.sdk_configuration.retry_config retry_config = retries if retry_config is None: - retry_config = utils.RetryConfig('backoff', utils.BackoffStrategy(500, 60000, 1.5, 3600000), True) + if global_retry_config: + retry_config = global_retry_config + else: + retry_config = utils.RetryConfig('backoff', utils.BackoffStrategy(500, 60000, 1.5, 3600000), True) def do_request(): return client.request('GET', url, headers=headers) @@ -209,9 +225,13 @@ def list_connections(self, request: operations.ListConnectionsRequest, retries: client = self.sdk_configuration.security_client + global_retry_config = self.sdk_configuration.retry_config retry_config = retries if retry_config is None: - retry_config = utils.RetryConfig('backoff', utils.BackoffStrategy(500, 60000, 1.5, 3600000), True) + if global_retry_config: + retry_config = global_retry_config + else: + retry_config = utils.RetryConfig('backoff', utils.BackoffStrategy(500, 60000, 1.5, 3600000), True) def do_request(): return client.request('GET', url, params=query_params, headers=headers) @@ -257,9 +277,13 @@ def unlink(self, request: operations.UnlinkConnectionRequest, retries: Optional[ client = self.sdk_configuration.security_client + global_retry_config = self.sdk_configuration.retry_config retry_config = retries if retry_config is None: - retry_config = utils.RetryConfig('backoff', utils.BackoffStrategy(500, 60000, 1.5, 3600000), True) + if global_retry_config: + retry_config = global_retry_config + else: + retry_config = utils.RetryConfig('backoff', utils.BackoffStrategy(500, 60000, 1.5, 3600000), True) def do_request(): return client.request('PATCH', url, data=data, files=form, headers=headers) diff --git a/previous-versions/sync-for-expenses-version-1/src/codatsyncexpenses/expenses.py b/previous-versions/sync-for-expenses-version-1/src/codatsyncexpenses/expenses.py index 93d6f87a6..63ea374fd 100755 --- a/previous-versions/sync-for-expenses-version-1/src/codatsyncexpenses/expenses.py +++ b/previous-versions/sync-for-expenses-version-1/src/codatsyncexpenses/expenses.py @@ -29,9 +29,13 @@ def create_expense_dataset(self, request: operations.CreateExpenseDatasetRequest client = self.sdk_configuration.security_client + global_retry_config = self.sdk_configuration.retry_config retry_config = retries if retry_config is None: - retry_config = utils.RetryConfig('backoff', utils.BackoffStrategy(500, 60000, 1.5, 3600000), True) + if global_retry_config: + retry_config = global_retry_config + else: + retry_config = utils.RetryConfig('backoff', utils.BackoffStrategy(500, 60000, 1.5, 3600000), True) def do_request(): return client.request('POST', url, data=data, files=form, headers=headers) @@ -77,9 +81,13 @@ def update_expense_dataset(self, request: operations.UpdateExpenseDatasetRequest client = self.sdk_configuration.security_client + global_retry_config = self.sdk_configuration.retry_config retry_config = retries if retry_config is None: - retry_config = utils.RetryConfig('backoff', utils.BackoffStrategy(500, 60000, 1.5, 3600000), True) + if global_retry_config: + retry_config = global_retry_config + else: + retry_config = utils.RetryConfig('backoff', utils.BackoffStrategy(500, 60000, 1.5, 3600000), True) def do_request(): return client.request('PUT', url, data=data, files=form, headers=headers) @@ -125,9 +133,13 @@ def upload_attachment(self, request: operations.UploadAttachmentRequest, retries client = self.sdk_configuration.security_client + global_retry_config = self.sdk_configuration.retry_config retry_config = retries if retry_config is None: - retry_config = utils.RetryConfig('backoff', utils.BackoffStrategy(500, 60000, 1.5, 3600000), True) + if global_retry_config: + retry_config = global_retry_config + else: + retry_config = utils.RetryConfig('backoff', utils.BackoffStrategy(500, 60000, 1.5, 3600000), True) def do_request(): return client.request('POST', url, data=data, files=form, headers=headers) diff --git a/previous-versions/sync-for-expenses-version-1/src/codatsyncexpenses/mapping_options.py b/previous-versions/sync-for-expenses-version-1/src/codatsyncexpenses/mapping_options.py index 89d91994f..de1f655f0 100755 --- a/previous-versions/sync-for-expenses-version-1/src/codatsyncexpenses/mapping_options.py +++ b/previous-versions/sync-for-expenses-version-1/src/codatsyncexpenses/mapping_options.py @@ -26,9 +26,13 @@ def get_mapping_options(self, request: operations.GetMappingOptionsRequest, retr client = self.sdk_configuration.security_client + global_retry_config = self.sdk_configuration.retry_config retry_config = retries if retry_config is None: - retry_config = utils.RetryConfig('backoff', utils.BackoffStrategy(500, 60000, 1.5, 3600000), True) + if global_retry_config: + retry_config = global_retry_config + else: + retry_config = utils.RetryConfig('backoff', utils.BackoffStrategy(500, 60000, 1.5, 3600000), True) def do_request(): return client.request('GET', url, headers=headers) diff --git a/previous-versions/sync-for-expenses-version-1/src/codatsyncexpenses/models/operations/__init__.py b/previous-versions/sync-for-expenses-version-1/src/codatsyncexpenses/models/operations/__init__.py index e5d9c7e0c..a86d45a31 100755 --- a/previous-versions/sync-for-expenses-version-1/src/codatsyncexpenses/models/operations/__init__.py +++ b/previous-versions/sync-for-expenses-version-1/src/codatsyncexpenses/models/operations/__init__.py @@ -14,7 +14,7 @@ from .get_mapping_options import * from .get_sync_by_id import * from .get_sync_transaction import * -from .intiate_sync import * +from .initiate_sync import * from .list_companies import * from .list_connections import * from .list_sync_transactions import * @@ -25,4 +25,4 @@ from .update_expense_dataset import * from .upload_attachment import * -__all__ = ["CreateCompanyResponse","CreateConnectionRequest","CreateConnectionRequestBody","CreateConnectionResponse","CreateExpenseDatasetRequest","CreateExpenseDatasetResponse","CreatePartnerExpenseConnectionRequest","CreatePartnerExpenseConnectionResponse","DeleteCompanyRequest","DeleteCompanyResponse","DeleteConnectionRequest","DeleteConnectionResponse","GetCompanyConfigurationRequest","GetCompanyConfigurationResponse","GetCompanyRequest","GetCompanyResponse","GetConnectionRequest","GetConnectionResponse","GetLastSuccessfulSyncRequest","GetLastSuccessfulSyncResponse","GetLatestSyncRequest","GetLatestSyncResponse","GetMappingOptionsRequest","GetMappingOptionsResponse","GetSyncByIDRequest","GetSyncByIDResponse","GetSyncTransactionRequest","GetSyncTransactionResponse","IntiateSyncRequest","IntiateSyncResponse","ListCompaniesRequest","ListCompaniesResponse","ListConnectionsRequest","ListConnectionsResponse","ListSyncTransactionsRequest","ListSyncTransactionsResponse","ListSyncsRequest","ListSyncsResponse","SaveCompanyConfigurationRequest","SaveCompanyConfigurationResponse","UnlinkConnectionRequest","UnlinkConnectionRequestBody","UnlinkConnectionResponse","UpdateCompanyRequest","UpdateCompanyResponse","UpdateExpenseDataset202ApplicationJSON","UpdateExpenseDatasetRequest","UpdateExpenseDatasetResponse","UploadAttachmentRequest","UploadAttachmentRequestBody","UploadAttachmentResponse"] +__all__ = ["CreateCompanyResponse","CreateConnectionRequest","CreateConnectionRequestBody","CreateConnectionResponse","CreateExpenseDatasetRequest","CreateExpenseDatasetResponse","CreatePartnerExpenseConnectionRequest","CreatePartnerExpenseConnectionResponse","DeleteCompanyRequest","DeleteCompanyResponse","DeleteConnectionRequest","DeleteConnectionResponse","GetCompanyConfigurationRequest","GetCompanyConfigurationResponse","GetCompanyRequest","GetCompanyResponse","GetConnectionRequest","GetConnectionResponse","GetLastSuccessfulSyncRequest","GetLastSuccessfulSyncResponse","GetLatestSyncRequest","GetLatestSyncResponse","GetMappingOptionsRequest","GetMappingOptionsResponse","GetSyncByIDRequest","GetSyncByIDResponse","GetSyncTransactionRequest","GetSyncTransactionResponse","InitiateSyncRequest","InitiateSyncResponse","ListCompaniesRequest","ListCompaniesResponse","ListConnectionsRequest","ListConnectionsResponse","ListSyncTransactionsRequest","ListSyncTransactionsResponse","ListSyncsRequest","ListSyncsResponse","SaveCompanyConfigurationRequest","SaveCompanyConfigurationResponse","UnlinkConnectionRequest","UnlinkConnectionResponse","UnlinkConnectionUpdateConnection","UpdateCompanyRequest","UpdateCompanyResponse","UpdateExpenseDataset202ApplicationJSON","UpdateExpenseDatasetRequest","UpdateExpenseDatasetResponse","UploadAttachmentRequest","UploadAttachmentRequestBody","UploadAttachmentResponse"] diff --git a/previous-versions/sync-for-expenses-version-1/src/codatsyncexpenses/models/operations/intiate_sync.py b/previous-versions/sync-for-expenses-version-1/src/codatsyncexpenses/models/operations/initiate_sync.py similarity index 95% rename from previous-versions/sync-for-expenses-version-1/src/codatsyncexpenses/models/operations/intiate_sync.py rename to previous-versions/sync-for-expenses-version-1/src/codatsyncexpenses/models/operations/initiate_sync.py index 6d70c03b2..75c398b45 100755 --- a/previous-versions/sync-for-expenses-version-1/src/codatsyncexpenses/models/operations/intiate_sync.py +++ b/previous-versions/sync-for-expenses-version-1/src/codatsyncexpenses/models/operations/initiate_sync.py @@ -11,7 +11,7 @@ @dataclasses.dataclass -class IntiateSyncRequest: +class InitiateSyncRequest: company_id: str = dataclasses.field(metadata={'path_param': { 'field_name': 'companyId', 'style': 'simple', 'explode': False }}) post_sync: Optional[shared_postsync.PostSync] = dataclasses.field(default=None, metadata={'request': { 'media_type': 'application/json' }}) @@ -20,7 +20,7 @@ class IntiateSyncRequest: @dataclasses.dataclass -class IntiateSyncResponse: +class InitiateSyncResponse: content_type: str = dataclasses.field() status_code: int = dataclasses.field() error_message: Optional[shared_errormessage.ErrorMessage] = dataclasses.field(default=None) diff --git a/previous-versions/sync-for-expenses-version-1/src/codatsyncexpenses/models/operations/unlink_connection.py b/previous-versions/sync-for-expenses-version-1/src/codatsyncexpenses/models/operations/unlink_connection.py index d219916fb..ffdf59a6f 100755 --- a/previous-versions/sync-for-expenses-version-1/src/codatsyncexpenses/models/operations/unlink_connection.py +++ b/previous-versions/sync-for-expenses-version-1/src/codatsyncexpenses/models/operations/unlink_connection.py @@ -4,6 +4,7 @@ import dataclasses import requests as requests_http from ..shared import connection as shared_connection +from ..shared import dataconnectionstatus as shared_dataconnectionstatus from ..shared import errormessage as shared_errormessage from codatsyncexpenses import utils from dataclasses_json import Undefined, dataclass_json @@ -13,8 +14,9 @@ @dataclass_json(undefined=Undefined.EXCLUDE) @dataclasses.dataclass -class UnlinkConnectionRequestBody: - status: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('status'), 'exclude': lambda f: f is None }}) +class UnlinkConnectionUpdateConnection: + status: Optional[shared_dataconnectionstatus.DataConnectionStatus] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('status'), 'exclude': lambda f: f is None }}) + r"""The current authorization status of the data connection.""" @@ -24,7 +26,7 @@ class UnlinkConnectionRequestBody: class UnlinkConnectionRequest: company_id: str = dataclasses.field(metadata={'path_param': { 'field_name': 'companyId', 'style': 'simple', 'explode': False }}) connection_id: str = dataclasses.field(metadata={'path_param': { 'field_name': 'connectionId', 'style': 'simple', 'explode': False }}) - request_body: Optional[UnlinkConnectionRequestBody] = dataclasses.field(default=None, metadata={'request': { 'media_type': 'application/json' }}) + request_body: Optional[UnlinkConnectionUpdateConnection] = dataclasses.field(default=None, metadata={'request': { 'media_type': 'application/json' }}) diff --git a/previous-versions/sync-for-expenses-version-1/src/codatsyncexpenses/models/shared/attachment.py b/previous-versions/sync-for-expenses-version-1/src/codatsyncexpenses/models/shared/attachment.py index 07bd3dbbd..fbef368aa 100755 --- a/previous-versions/sync-for-expenses-version-1/src/codatsyncexpenses/models/shared/attachment.py +++ b/previous-versions/sync-for-expenses-version-1/src/codatsyncexpenses/models/shared/attachment.py @@ -11,7 +11,6 @@ @dataclasses.dataclass class Attachment: - r"""OK""" company_id: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('companyId'), 'exclude': lambda f: f is None }}) r"""Unique ID of company in Codat""" id: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('id'), 'exclude': lambda f: f is None }}) diff --git a/previous-versions/sync-for-expenses-version-1/src/codatsyncexpenses/models/shared/companies.py b/previous-versions/sync-for-expenses-version-1/src/codatsyncexpenses/models/shared/companies.py index 54fd2cd68..3a5024fe8 100755 --- a/previous-versions/sync-for-expenses-version-1/src/codatsyncexpenses/models/shared/companies.py +++ b/previous-versions/sync-for-expenses-version-1/src/codatsyncexpenses/models/shared/companies.py @@ -13,7 +13,6 @@ @dataclasses.dataclass class Companies: - r"""OK""" links: shared_links.Links = dataclasses.field(metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('_links') }}) page_number: int = dataclasses.field(metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('pageNumber') }}) page_size: int = dataclasses.field(metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('pageSize') }}) diff --git a/previous-versions/sync-for-expenses-version-1/src/codatsyncexpenses/models/shared/companyconfiguration.py b/previous-versions/sync-for-expenses-version-1/src/codatsyncexpenses/models/shared/companyconfiguration.py index 83f10996c..debbcdcbb 100755 --- a/previous-versions/sync-for-expenses-version-1/src/codatsyncexpenses/models/shared/companyconfiguration.py +++ b/previous-versions/sync-for-expenses-version-1/src/codatsyncexpenses/models/shared/companyconfiguration.py @@ -13,7 +13,6 @@ @dataclasses.dataclass class CompanyConfiguration: - r"""Success""" bank_account: shared_bankaccount.BankAccount = dataclasses.field(metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('bankAccount') }}) customer: shared_customer.Customer = dataclasses.field(metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('customer') }}) supplier: shared_supplier.Supplier = dataclasses.field(metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('supplier') }}) diff --git a/previous-versions/sync-for-expenses-version-1/src/codatsyncexpenses/models/shared/companysyncstatus.py b/previous-versions/sync-for-expenses-version-1/src/codatsyncexpenses/models/shared/companysyncstatus.py index c48f4fe71..86269d4c1 100755 --- a/previous-versions/sync-for-expenses-version-1/src/codatsyncexpenses/models/shared/companysyncstatus.py +++ b/previous-versions/sync-for-expenses-version-1/src/codatsyncexpenses/models/shared/companysyncstatus.py @@ -11,7 +11,6 @@ @dataclasses.dataclass class CompanySyncStatus: - r"""Success""" company_id: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('companyId'), 'exclude': lambda f: f is None }}) r"""Unique identifier for your SMB in Codat.""" data_pushed: Optional[bool] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('dataPushed'), 'exclude': lambda f: f is None }}) diff --git a/previous-versions/sync-for-expenses-version-1/src/codatsyncexpenses/models/shared/connections.py b/previous-versions/sync-for-expenses-version-1/src/codatsyncexpenses/models/shared/connections.py index e7988ab73..bdaa2596f 100755 --- a/previous-versions/sync-for-expenses-version-1/src/codatsyncexpenses/models/shared/connections.py +++ b/previous-versions/sync-for-expenses-version-1/src/codatsyncexpenses/models/shared/connections.py @@ -13,7 +13,6 @@ @dataclasses.dataclass class Connections: - r"""OK""" links: shared_links.Links = dataclasses.field(metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('_links') }}) page_number: int = dataclasses.field(metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('pageNumber') }}) page_size: int = dataclasses.field(metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('pageSize') }}) diff --git a/previous-versions/sync-for-expenses-version-1/src/codatsyncexpenses/models/shared/createexpenseresponse.py b/previous-versions/sync-for-expenses-version-1/src/codatsyncexpenses/models/shared/createexpenseresponse.py index 828e91391..a9011c8b2 100755 --- a/previous-versions/sync-for-expenses-version-1/src/codatsyncexpenses/models/shared/createexpenseresponse.py +++ b/previous-versions/sync-for-expenses-version-1/src/codatsyncexpenses/models/shared/createexpenseresponse.py @@ -11,7 +11,6 @@ @dataclasses.dataclass class CreateExpenseResponse: - r"""OK""" dataset_id: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('datasetId'), 'exclude': lambda f: f is None }}) r"""Unique id of dataset created""" diff --git a/previous-versions/sync-for-expenses-version-1/src/codatsyncexpenses/models/shared/errormessage.py b/previous-versions/sync-for-expenses-version-1/src/codatsyncexpenses/models/shared/errormessage.py index 8b3e8624c..e0b30566b 100755 --- a/previous-versions/sync-for-expenses-version-1/src/codatsyncexpenses/models/shared/errormessage.py +++ b/previous-versions/sync-for-expenses-version-1/src/codatsyncexpenses/models/shared/errormessage.py @@ -11,7 +11,6 @@ @dataclasses.dataclass class ErrorMessage: - r"""Your `query` parameter was not correctly formed""" can_be_retried: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('canBeRetried'), 'exclude': lambda f: f is None }}) correlation_id: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('correlationId'), 'exclude': lambda f: f is None }}) detailed_error_code: Optional[int] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('detailedErrorCode'), 'exclude': lambda f: f is None }}) diff --git a/previous-versions/sync-for-expenses-version-1/src/codatsyncexpenses/models/shared/expensetransaction.py b/previous-versions/sync-for-expenses-version-1/src/codatsyncexpenses/models/shared/expensetransaction.py index bddbfa5f5..5ab385d7d 100755 --- a/previous-versions/sync-for-expenses-version-1/src/codatsyncexpenses/models/shared/expensetransaction.py +++ b/previous-versions/sync-for-expenses-version-1/src/codatsyncexpenses/models/shared/expensetransaction.py @@ -6,6 +6,7 @@ from ..shared import expensetransactionline as shared_expensetransactionline from codatsyncexpenses import utils from dataclasses_json import Undefined, dataclass_json +from decimal import Decimal from enum import Enum from typing import Optional @@ -53,7 +54,7 @@ class ExpenseTransaction: type: ExpenseTransactionType = dataclasses.field(metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('type') }}) r"""The type of transaction.""" contact_ref: Optional[shared_contactref.ContactRef] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('contactRef'), 'exclude': lambda f: f is None }}) - currency_rate: Optional[float] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('currencyRate'), 'exclude': lambda f: f is None }}) + currency_rate: Optional[Decimal] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('currencyRate'), 'encoder': utils.decimalencoder(True, False), 'decoder': utils.decimaldecoder, 'exclude': lambda f: f is None }}) r"""Rate to convert the total amount of the payment into the base currency for the company at the time of the payment. Currency rates in Codat are implemented as the multiple of foreign currency units to each base currency unit. diff --git a/previous-versions/sync-for-expenses-version-1/src/codatsyncexpenses/models/shared/expensetransactionline.py b/previous-versions/sync-for-expenses-version-1/src/codatsyncexpenses/models/shared/expensetransactionline.py index e59c2f1e3..3c141ef7b 100755 --- a/previous-versions/sync-for-expenses-version-1/src/codatsyncexpenses/models/shared/expensetransactionline.py +++ b/previous-versions/sync-for-expenses-version-1/src/codatsyncexpenses/models/shared/expensetransactionline.py @@ -5,6 +5,7 @@ from ..shared import recordref as shared_recordref from codatsyncexpenses import utils from dataclasses_json import Undefined, dataclass_json +from decimal import Decimal from typing import Optional @@ -13,9 +14,9 @@ @dataclasses.dataclass class ExpenseTransactionLine: account_ref: shared_recordref.RecordRef = dataclasses.field(metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('accountRef') }}) - net_amount: float = dataclasses.field(metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('netAmount') }}) + net_amount: Decimal = dataclasses.field(metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('netAmount'), 'encoder': utils.decimalencoder(False, False), 'decoder': utils.decimaldecoder }}) r"""Amount of the line, exclusive of tax.""" - tax_amount: float = dataclasses.field(metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('taxAmount') }}) + tax_amount: Decimal = dataclasses.field(metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('taxAmount'), 'encoder': utils.decimalencoder(False, False), 'decoder': utils.decimaldecoder }}) r"""Amount of tax for the line.""" tax_rate_ref: Optional[shared_recordref.RecordRef] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('taxRateRef'), 'exclude': lambda f: f is None }}) tracking_refs: Optional[list[shared_recordref.RecordRef]] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('trackingRefs'), 'exclude': lambda f: f is None }}) diff --git a/previous-versions/sync-for-expenses-version-1/src/codatsyncexpenses/models/shared/mappingoptions.py b/previous-versions/sync-for-expenses-version-1/src/codatsyncexpenses/models/shared/mappingoptions.py index 61717aeb6..c23396090 100755 --- a/previous-versions/sync-for-expenses-version-1/src/codatsyncexpenses/models/shared/mappingoptions.py +++ b/previous-versions/sync-for-expenses-version-1/src/codatsyncexpenses/models/shared/mappingoptions.py @@ -14,7 +14,6 @@ @dataclasses.dataclass class MappingOptions: - r"""Success""" accounts: Optional[list[shared_accountmappinginfo.AccountMappingInfo]] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('accounts'), 'exclude': lambda f: f is None }}) r"""Array of available accounts for mapping.""" expense_provider: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('expenseProvider'), 'exclude': lambda f: f is None }}) diff --git a/previous-versions/sync-for-expenses-version-1/src/codatsyncexpenses/models/shared/syncinitiated.py b/previous-versions/sync-for-expenses-version-1/src/codatsyncexpenses/models/shared/syncinitiated.py index fff030d65..95bcce03d 100755 --- a/previous-versions/sync-for-expenses-version-1/src/codatsyncexpenses/models/shared/syncinitiated.py +++ b/previous-versions/sync-for-expenses-version-1/src/codatsyncexpenses/models/shared/syncinitiated.py @@ -11,7 +11,6 @@ @dataclasses.dataclass class SyncInitiated: - r"""Returns the newly created SyncId""" sync_id: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('syncId'), 'exclude': lambda f: f is None }}) diff --git a/previous-versions/sync-for-expenses-version-1/src/codatsyncexpenses/models/shared/taxratemappinginfo.py b/previous-versions/sync-for-expenses-version-1/src/codatsyncexpenses/models/shared/taxratemappinginfo.py index aae649e63..fee7d7463 100755 --- a/previous-versions/sync-for-expenses-version-1/src/codatsyncexpenses/models/shared/taxratemappinginfo.py +++ b/previous-versions/sync-for-expenses-version-1/src/codatsyncexpenses/models/shared/taxratemappinginfo.py @@ -4,6 +4,7 @@ import dataclasses from codatsyncexpenses import utils from dataclasses_json import Undefined, dataclass_json +from decimal import Decimal from enum import Enum from typing import Optional @@ -24,13 +25,13 @@ class TaxRateMappingInfoValidTransactionTypes(str, Enum): class TaxRateMappingInfo: code: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('code'), 'exclude': lambda f: f is None }}) r"""Code for the tax rate from the accounting platform.""" - effective_tax_rate: Optional[float] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('effectiveTaxRate'), 'exclude': lambda f: f is None }}) + effective_tax_rate: Optional[Decimal] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('effectiveTaxRate'), 'encoder': utils.decimalencoder(True, False), 'decoder': utils.decimaldecoder, 'exclude': lambda f: f is None }}) r"""Effective tax rate.""" id: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('id'), 'exclude': lambda f: f is None }}) r"""Unique identifier of tax rate.""" name: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('name'), 'exclude': lambda f: f is None }}) r"""Name of the tax rate in the accounting platform.""" - total_tax_rate: Optional[float] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('totalTaxRate'), 'exclude': lambda f: f is None }}) + total_tax_rate: Optional[Decimal] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('totalTaxRate'), 'encoder': utils.decimalencoder(True, False), 'decoder': utils.decimaldecoder, 'exclude': lambda f: f is None }}) r"""Total (not compounded) sum of the components of a tax rate.""" valid_transaction_types: Optional[list[TaxRateMappingInfoValidTransactionTypes]] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('validTransactionTypes'), 'exclude': lambda f: f is None }}) r"""Supported transaction types for the account.""" diff --git a/previous-versions/sync-for-expenses-version-1/src/codatsyncexpenses/models/shared/transactionmetadatalist.py b/previous-versions/sync-for-expenses-version-1/src/codatsyncexpenses/models/shared/transactionmetadatalist.py index 38994a789..bd385cef7 100755 --- a/previous-versions/sync-for-expenses-version-1/src/codatsyncexpenses/models/shared/transactionmetadatalist.py +++ b/previous-versions/sync-for-expenses-version-1/src/codatsyncexpenses/models/shared/transactionmetadatalist.py @@ -13,7 +13,6 @@ @dataclasses.dataclass class TransactionMetadataList: - r"""Success""" links: shared_links.Links = dataclasses.field(metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('_links') }}) page_number: int = dataclasses.field(metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('pageNumber') }}) page_size: int = dataclasses.field(metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('pageSize') }}) diff --git a/previous-versions/sync-for-expenses-version-1/src/codatsyncexpenses/models/shared/updateexpenserequest.py b/previous-versions/sync-for-expenses-version-1/src/codatsyncexpenses/models/shared/updateexpenserequest.py index 43ba8780a..45d9e7efe 100755 --- a/previous-versions/sync-for-expenses-version-1/src/codatsyncexpenses/models/shared/updateexpenserequest.py +++ b/previous-versions/sync-for-expenses-version-1/src/codatsyncexpenses/models/shared/updateexpenserequest.py @@ -6,6 +6,7 @@ from ..shared import expensetransactionline as shared_expensetransactionline from codatsyncexpenses import utils from dataclasses_json import Undefined, dataclass_json +from decimal import Decimal from typing import Any, Optional @@ -19,7 +20,7 @@ class UpdateExpenseRequest: contact_ref: Optional[shared_contactref.ContactRef] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('contactRef'), 'exclude': lambda f: f is None }}) currency: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('currency'), 'exclude': lambda f: f is None }}) r"""Currency the transaction was recorded in.""" - currency_rate: Optional[float] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('currencyRate'), 'exclude': lambda f: f is None }}) + currency_rate: Optional[Decimal] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('currencyRate'), 'encoder': utils.decimalencoder(True, False), 'decoder': utils.decimaldecoder, 'exclude': lambda f: f is None }}) r"""Rate to convert the total amount of the payment into the base currency for the company at the time of the payment. Currency rates in Codat are implemented as the multiple of foreign currency units to each base currency unit. diff --git a/previous-versions/sync-for-expenses-version-1/src/codatsyncexpenses/sdk.py b/previous-versions/sync-for-expenses-version-1/src/codatsyncexpenses/sdk.py index 7cc082f4f..c227a7172 100755 --- a/previous-versions/sync-for-expenses-version-1/src/codatsyncexpenses/sdk.py +++ b/previous-versions/sync-for-expenses-version-1/src/codatsyncexpenses/sdk.py @@ -20,11 +20,11 @@ class CodatSyncExpenses: enable corporate card and expense management platforms to provide high-quality integrations with multiple accounting platforms through a standardized API. - [Read more...](https://docs.codat.io/sync-for-expenses/overview) - [See our OpenAPI spec](https://github.com/codatio/oas) + + Not seeing what you expect? [See the main Sync for Commerce API](https://docs.codat.io/sync-for-commerce-api). """ companies: Companies r"""Create and manage your Codat companies.""" @@ -50,7 +50,8 @@ def __init__(self, server_idx: int = None, server_url: str = None, url_params: dict[str, str] = None, - client: requests_http.Session = None + client: requests_http.Session = None, + retry_config: utils.RetryConfig = None ) -> None: """Instantiates the SDK configuring it with the provided parameters. @@ -63,7 +64,9 @@ def __init__(self, :param url_params: Parameters to optionally template the server URL with :type url_params: dict[str, str] :param client: The requests.Session HTTP client to use for all operations - :type client: requests_http.Session + :type client: requests_http.Session + :param retry_config: The utils.RetryConfig to use globally + :type retry_config: utils.RetryConfig """ if client is None: client = requests_http.Session() @@ -74,7 +77,7 @@ def __init__(self, if url_params is not None: server_url = utils.template_url(server_url, url_params) - self.sdk_configuration = SDKConfiguration(client, security_client, server_url, server_idx) + self.sdk_configuration = SDKConfiguration(client, security_client, server_url, server_idx, retry_config=retry_config) self._init_sdks() diff --git a/previous-versions/sync-for-expenses-version-1/src/codatsyncexpenses/sdkconfiguration.py b/previous-versions/sync-for-expenses-version-1/src/codatsyncexpenses/sdkconfiguration.py index e8de106e6..9e7dfb159 100755 --- a/previous-versions/sync-for-expenses-version-1/src/codatsyncexpenses/sdkconfiguration.py +++ b/previous-versions/sync-for-expenses-version-1/src/codatsyncexpenses/sdkconfiguration.py @@ -3,6 +3,8 @@ import requests from dataclasses import dataclass +from .utils.retries import RetryConfig + SERVERS = [ 'https://api.codat.io', @@ -18,7 +20,8 @@ class SDKConfiguration: language: str = 'python' openapi_doc_version: str = 'prealpha' sdk_version: str = '0.1.0' - gen_version: str = '2.91.4' + gen_version: str = '2.108.3' + retry_config: RetryConfig = None def get_server_details(self) -> tuple[str, dict[str, str]]: if self.server_url: diff --git a/previous-versions/sync-for-expenses-version-1/src/codatsyncexpenses/sync.py b/previous-versions/sync-for-expenses-version-1/src/codatsyncexpenses/sync.py index bd2f634e5..6e376ef4f 100755 --- a/previous-versions/sync-for-expenses-version-1/src/codatsyncexpenses/sync.py +++ b/previous-versions/sync-for-expenses-version-1/src/codatsyncexpenses/sync.py @@ -13,13 +13,13 @@ def __init__(self, sdk_config: SDKConfiguration) -> None: self.sdk_configuration = sdk_config - def intiate_sync(self, request: operations.IntiateSyncRequest, retries: Optional[utils.RetryConfig] = None) -> operations.IntiateSyncResponse: + def initiate_sync(self, request: operations.InitiateSyncRequest, retries: Optional[utils.RetryConfig] = None) -> operations.InitiateSyncResponse: r"""Initiate sync Initiate sync of pending transactions. """ base_url = utils.template_url(*self.sdk_configuration.get_server_details()) - url = utils.generate_url(operations.IntiateSyncRequest, base_url, '/companies/{companyId}/sync/expenses/syncs', request) + url = utils.generate_url(operations.InitiateSyncRequest, base_url, '/companies/{companyId}/sync/expenses/syncs', request) headers = {} req_content_type, data, form = utils.serialize_request_body(request, "post_sync", 'json') if req_content_type not in ('multipart/form-data', 'multipart/mixed'): @@ -29,9 +29,13 @@ def intiate_sync(self, request: operations.IntiateSyncRequest, retries: Optional client = self.sdk_configuration.security_client + global_retry_config = self.sdk_configuration.retry_config retry_config = retries if retry_config is None: - retry_config = utils.RetryConfig('backoff', utils.BackoffStrategy(500, 60000, 1.5, 3600000), True) + if global_retry_config: + retry_config = global_retry_config + else: + retry_config = utils.RetryConfig('backoff', utils.BackoffStrategy(500, 60000, 1.5, 3600000), True) def do_request(): return client.request('POST', url, data=data, files=form, headers=headers) @@ -43,7 +47,7 @@ def do_request(): ])) content_type = http_res.headers.get('Content-Type') - res = operations.IntiateSyncResponse(status_code=http_res.status_code, content_type=content_type, raw_response=http_res) + res = operations.InitiateSyncResponse(status_code=http_res.status_code, content_type=content_type, raw_response=http_res) if http_res.status_code == 202: if utils.match_content_type(content_type, 'application/json'): diff --git a/previous-versions/sync-for-expenses-version-1/src/codatsyncexpenses/sync_status.py b/previous-versions/sync-for-expenses-version-1/src/codatsyncexpenses/sync_status.py index a82906aeb..59a9f492d 100755 --- a/previous-versions/sync-for-expenses-version-1/src/codatsyncexpenses/sync_status.py +++ b/previous-versions/sync-for-expenses-version-1/src/codatsyncexpenses/sync_status.py @@ -26,9 +26,13 @@ def get_last_successful_sync(self, request: operations.GetLastSuccessfulSyncRequ client = self.sdk_configuration.security_client + global_retry_config = self.sdk_configuration.retry_config retry_config = retries if retry_config is None: - retry_config = utils.RetryConfig('backoff', utils.BackoffStrategy(500, 60000, 1.5, 3600000), True) + if global_retry_config: + retry_config = global_retry_config + else: + retry_config = utils.RetryConfig('backoff', utils.BackoffStrategy(500, 60000, 1.5, 3600000), True) def do_request(): return client.request('GET', url, headers=headers) @@ -71,9 +75,13 @@ def get_latest_sync(self, request: operations.GetLatestSyncRequest, retries: Opt client = self.sdk_configuration.security_client + global_retry_config = self.sdk_configuration.retry_config retry_config = retries if retry_config is None: - retry_config = utils.RetryConfig('backoff', utils.BackoffStrategy(500, 60000, 1.5, 3600000), True) + if global_retry_config: + retry_config = global_retry_config + else: + retry_config = utils.RetryConfig('backoff', utils.BackoffStrategy(500, 60000, 1.5, 3600000), True) def do_request(): return client.request('GET', url, headers=headers) @@ -116,9 +124,13 @@ def get_sync_by_id(self, request: operations.GetSyncByIDRequest, retries: Option client = self.sdk_configuration.security_client + global_retry_config = self.sdk_configuration.retry_config retry_config = retries if retry_config is None: - retry_config = utils.RetryConfig('backoff', utils.BackoffStrategy(500, 60000, 1.5, 3600000), True) + if global_retry_config: + retry_config = global_retry_config + else: + retry_config = utils.RetryConfig('backoff', utils.BackoffStrategy(500, 60000, 1.5, 3600000), True) def do_request(): return client.request('GET', url, headers=headers) @@ -161,9 +173,13 @@ def list_syncs(self, request: operations.ListSyncsRequest, retries: Optional[uti client = self.sdk_configuration.security_client + global_retry_config = self.sdk_configuration.retry_config retry_config = retries if retry_config is None: - retry_config = utils.RetryConfig('backoff', utils.BackoffStrategy(500, 60000, 1.5, 3600000), True) + if global_retry_config: + retry_config = global_retry_config + else: + retry_config = utils.RetryConfig('backoff', utils.BackoffStrategy(500, 60000, 1.5, 3600000), True) def do_request(): return client.request('GET', url, headers=headers) diff --git a/previous-versions/sync-for-expenses-version-1/src/codatsyncexpenses/transaction_status.py b/previous-versions/sync-for-expenses-version-1/src/codatsyncexpenses/transaction_status.py index 1deb24d52..1f2773931 100755 --- a/previous-versions/sync-for-expenses-version-1/src/codatsyncexpenses/transaction_status.py +++ b/previous-versions/sync-for-expenses-version-1/src/codatsyncexpenses/transaction_status.py @@ -26,9 +26,13 @@ def get_sync_transaction(self, request: operations.GetSyncTransactionRequest, re client = self.sdk_configuration.security_client + global_retry_config = self.sdk_configuration.retry_config retry_config = retries if retry_config is None: - retry_config = utils.RetryConfig('backoff', utils.BackoffStrategy(500, 60000, 1.5, 3600000), True) + if global_retry_config: + retry_config = global_retry_config + else: + retry_config = utils.RetryConfig('backoff', utils.BackoffStrategy(500, 60000, 1.5, 3600000), True) def do_request(): return client.request('GET', url, headers=headers) @@ -72,9 +76,13 @@ def list_sync_transactions(self, request: operations.ListSyncTransactionsRequest client = self.sdk_configuration.security_client + global_retry_config = self.sdk_configuration.retry_config retry_config = retries if retry_config is None: - retry_config = utils.RetryConfig('backoff', utils.BackoffStrategy(500, 60000, 1.5, 3600000), True) + if global_retry_config: + retry_config = global_retry_config + else: + retry_config = utils.RetryConfig('backoff', utils.BackoffStrategy(500, 60000, 1.5, 3600000), True) def do_request(): return client.request('GET', url, params=query_params, headers=headers) diff --git a/previous-versions/sync-for-expenses-version-1/src/codatsyncexpenses/utils/utils.py b/previous-versions/sync-for-expenses-version-1/src/codatsyncexpenses/utils/utils.py index ea9792d0d..05eafba6c 100755 --- a/previous-versions/sync-for-expenses-version-1/src/codatsyncexpenses/utils/utils.py +++ b/previous-versions/sync-for-expenses-version-1/src/codatsyncexpenses/utils/utils.py @@ -5,6 +5,7 @@ import re from dataclasses import Field, dataclass, fields, is_dataclass, make_dataclass from datetime import date, datetime +from decimal import Decimal from email.message import Message from enum import Enum from typing import Any, Callable, Optional, Tuple, Union, get_args, get_origin @@ -112,7 +113,8 @@ def _parse_security_scheme_value(client: SecurityClient, scheme_metadata: dict, client.client.headers[header_name] = value elif scheme_type == 'http': if sub_type == 'bearer': - client.client.headers[header_name] = value.lower().startswith('bearer ') and value or f'Bearer {value}' + client.client.headers[header_name] = value.lower().startswith( + 'bearer ') and value or f'Bearer {value}' else: raise Exception('not supported') else: @@ -192,7 +194,7 @@ def generate_url(clazz: type, server_url: str, path: str, path_params: dataclass f"{pp_key},{_val_to_string(param[pp_key])}") path = path.replace( '{' + param_metadata.get('field_name', field.name) + '}', ",".join(pp_vals), 1) - elif not isinstance(param, (str, int, float, complex, bool)): + elif not isinstance(param, (str, int, float, complex, bool, Decimal)): pp_vals: list[str] = [] param_fields: Tuple[Field, ...] = fields(param) for param_field in param_fields: @@ -235,7 +237,7 @@ def template_url(url_with_params: str, params: dict[str, str]) -> str: def get_query_params(clazz: type, query_params: dataclass, gbls: dict[str, dict[str, dict[str, Any]]] = None) -> dict[ - str, list[str]]: + str, list[str]]: params: dict[str, list[str]] = {} param_fields: Tuple[Field, ...] = fields(clazz) @@ -377,7 +379,7 @@ def _get_query_param_field_name(obj_field: Field) -> str: def _get_delimited_query_params(metadata: dict, field_name: str, obj: any, delimiter: str) -> dict[ - str, list[str]]: + str, list[str]]: return _populate_form(field_name, metadata.get("explode", True), obj, _get_query_param_field_name, delimiter) @@ -391,9 +393,9 @@ def _get_delimited_query_params(metadata: dict, field_name: str, obj: any, delim def serialize_request_body(request: dataclass, request_field_name: str, serialization_method: str) -> Tuple[ - str, any, any]: + str, any, any]: if request is None: - return None, None, None, None + return None, None, None if not is_dataclass(request) or not hasattr(request, request_field_name): return serialize_content_type(request_field_name, SERIALIZATION_METHOD_TO_CONTENT_TYPE[serialization_method], @@ -486,7 +488,7 @@ def serialize_multipart_form(media_type: str, request: dataclass) -> Tuple[str, def serialize_dict(original: dict, explode: bool, field_name, existing: Optional[dict[str, list[str]]]) -> dict[ - str, list[str]]: + str, list[str]]: if existing is None: existing = [] @@ -604,7 +606,8 @@ def _populate_form(field_name: str, explode: boolean, obj: any, get_field_name_f items.append(_val_to_string(value)) if len(items) > 0: - params[field_name] = [delimiter.join([str(item) for item in items])] + params[field_name] = [delimiter.join( + [str(item) for item in items])] else: params[field_name] = [_val_to_string(obj)] @@ -681,7 +684,8 @@ def unmarshal_json(data, typ): try: out = unmarshal.from_dict({"res": json_dict}) except AttributeError as attr_err: - raise AttributeError(f'unable to unmarshal {data} as {typ}') from attr_err + raise AttributeError( + f'unable to unmarshal {data} as {typ}') from attr_err return out.res @@ -734,6 +738,36 @@ def datefromisoformat(date_str: str): return dateutil.parser.parse(date_str).date() +def bigintencoder(optional: bool): + def bigintencode(val: int): + if optional and val is None: + return None + return str(val) + + return bigintencode + + +def bigintdecoder(val): + return int(val) + + +def decimalencoder(optional: bool, as_str: bool): + def decimalencode(val: Decimal): + if optional and val is None: + return None + + if as_str: + return str(val) + + return float(val) + + return decimalencode + + +def decimaldecoder(val): + return Decimal(str(val)) + + def get_field_name(name): def override(_, _field_name=name): return _field_name