Releases: XeroAPI/xero-ruby
2.5.0
Fixes for the following:
closed #94
closed #79
closed #93
closed #99
Refactored these api_client.rb methods to use the proper error handling and existing call_api logic where they could (
return_error(response) unless response.success?
)
Adds new model
- require 'xero-ruby/models/accounting/address_for_organisation'
Built from OAS 2.8.0
2.4.1
2.4.1
Accounting API
new POST /Setup route
Associated models for the /Setup route code
fix batch payment reference length
Project API
Add charge type
NZ PAYROLL API
In TaxSettings changed periodunits from int to decimal
Move CalendarType into a separate component for reuse by PayRun and PayRunCalendar
Add TwiceMonthly value to CalendarType enum
Files API
Serialize back created/updated UTC (currently as string, until we can fix the spec at source to work across languages)
2.3.1
.1 patch - removed unnecessary files from the actual gem publish #89 #90 for massive reduction in gem size.
This Release adds all the remaining API sets that the XeroAPI can interact with for the Xero product suite.
- Adds the files API
- Adds the Payroll Api AU
- Adds the Payroll Api NZ
- Adds the Payroll Api UK
Documentation updated.
2.3.0
This Release adds all the remaining API sets that the XeroAPI can interact with for the Xero product suite.
- Adds the files API
- Adds the Payroll Api AU
- Adds the Payroll Api NZ
- Adds the Payroll Api UK
Documentation updated.
2.2.4
2.2.3
Regenerated with recent OAS to fix things like quote number method
fixes #76 - adds two currencies and renames _TRY to TRY (Turkish Lira)
graceful handling of date parsing in case anyone overrides it in their rails config it won't break the date parsing / deserialization
Time.at(seconds_since_epoch).strftime('%Y-%m-%dT%l:%M:%S%z')
adds repeating_invoice_id
2.2.2
Supports edge cases and core operations in the where filter object.
First laid out in issue #73 - here is exhaustive list of a lot of the options you can now properly use in where
Main convention is that for a filter with an operator, pass that in as an array
where: {
field: ['operator', 'query']
}
Querying & Filtering
Examples for the opts
(options) parameters most endpoints support. This is an area of focus and improvement. If you have a complex filering/sorting/where usage that is not supported please open an issue.
# Invoices
opts = {
page: 1,
where: {
type: ['=', XeroRuby::Accounting::Invoice::ACCREC],
fully_paid_on_date: (DateTime.now - 6.month)..DateTime.now,
amount_due: ['>=', 0],
reference: ['=', "Website Design"],
invoice_number: ['=', "INV-0001"],
contact_id: ['=', 'contact-uuid-xxxx-xxx-xxxxxxx'],
contact_number: ['=', "the-contact-number"],
# date: (DateTime.now - 2.year)..DateTime.now
# ▲ you can pass a range ▼ or a date & operator
date: ['>=', DateTime.now - 2.year],
status: ['=', XeroRuby::Accounting::Invoice::PAID]
}
}
xero_client.accounting_api.get_invoices(tenant_id, opts).invoices
# Contacts
opts = {
if_modified_since: (DateTime.now - 1.weeks).to_s,
# ▼ ordering by strings needs PascalCase convention
order: 'UpdatedDateUtc DESC',
where: {
is_customer: ['==', true],
is_supplier: ['==', true]
}
}
xero_client.accounting_api.get_contacts(tenant_id, opts).contacts
# Bank Transactions
opts = {
if_modified_since: (DateTime.now - 1.year).to_s,
where: { type: ['==', XeroRuby::Accounting::BankTransaction::SPEND] },
order: 'UpdatedDateUtc DESC',
page: 2,
unitdp: 4 # (Unit Decimal Places)
}
xero_client.accounting_api.get_bank_transactions(tenant_id, opts).bank_transactions
# Bank Transfers
opts = {
if_modified_since: (DateTime.now - 1.month).to_s,
where: {
amount: [">=" , 999.99]
},
order: 'Amount ASC'
}
xero_client.accounting_api.get_bank_transfers(tenant_id, opts).bank_transfers
2.1.2
2.1.1
Fix docs to show proper BigDecimal
types
PR generated from The version of the OpenAPI document: 2.2.14
https://github.com/XeroAPI/Xero-OpenAPI
This change was mainly to validate some the origination template changes did not effect downstream generation
Also added a DELETED Enum to employee, and removed a contact id param from bank transactions
2.1.0
- Large readme usability cleanup
- Fixes #56 - invoice_id serialization
- Fixes and adds examples in readme for #24 - as well as sample app
This issue was mainly fixed by addressing an issue in XeroAPI's IDs
convention where openapi-generator
does not snake_case properly.. Code manual over-rides the i_ds
malformations: