Releases: square/square-java-sdk
Version 5.3.0.20200528 (2020-05-28)
API releases
- Loyalty API (beta):
- For an overview, see Loyalty Program Overview.
- For technical reference, see Loyalty API.
Existing API updates
-
Orders API
- CalculateOrder (beta) endpoint. Use the endpoint to calculate adjustments (for example, taxes and discounts) to an order for preview purposes. In response, the endpoint returns the order showing the calculated totals. You can use this endpoint with an existing order or an order that has not been created.
The endpoint does not update an existing order. It only returns a calculated view of the order that you provided in the request. To create or update an order, use the CreateOrder and UpdateOrder endpoints, respectively.
- Order type. Two fields are added in support of the Loyalty API integration. For more information, see Deferred reward creation. For an example, see Redeem Points.
Order.rewards
represents rewards added to an order by calling the CreateLoyaltyReward endpoint.Order.discount.reward_ids
indicates that a discount is the result of the specified rewards that were added to an order using theCreateLoyaltyReward
endpoint.
-
Customers API
-
The Search Customers endpoint supports search by email address, phone number, and reference ID with the following additional query filters:
-
The
email_address
query filter (beta) supports an exact or fuzzy search for customer profiles by their email addresses. -
The
phone_number
query filter (beta) supports an exact or fuzzy search for customer profiles by their phone numbers. -
The
reference_id
query filter (beta) supports an exact or fuzzy search for customer profiles by their reference IDs.
-
-
The
created_at
,updated_at
, andid
attributes on the Customer resource are updated to be optional. As a result, they no longer are required input parameters when you call the Square SDKs to create aCustomer
object. You might need to update the dependent SDKs to the latest version to mediate breaking your existing code.
-
Square Webhooks
-
Square Webhooks (formerly v2 Webhooks). The status is changed from beta to general availability (GA).
-
v1 Webhooks. The v1 Inventory and Timecards webooks are now deprecated and replaced by inventory.count.updated and labor.shift.updated.
Version 5.2.2.20200422 (2020-04-25)
Existing API updates
- OAuth API
- Obtain Token endpoint: Removed the
scopes
property from the request body.
- Obtain Token endpoint: Removed the
Version 5.2.1.20200422 (2020-04-22)
API releases
- Customer Segments API (beta).
limit
field removed from ListCustomerSegments endpoint.
Note: This release fixes a bug introduced on the April 22, 2020 release of the Square API.
Version 5.2.0.20200422 (2020-04-22)
API releases
-
Terminal API. The new Terminal API lets a custom third-party POS app integrate with the Square Terminal to send terminal checkout requests to collect payments.
- For an overview, see Overview.
- For technical reference, see Terminal API.
-
Devices API. The new Devices API lets a custom third-party POS app generate a code used to sign in to a Square Terminal to create a pairing that lets the POS app send terminal checkout requests. For technical reference, see Devices API.
-
Customer Groups API (beta). The new Customer Groups API (Beta) enables full CRUD management of customer groups, including the ability to list, retrieve, create, update, and delete customer groups. Previously, this functionality was only available through the Square dashboard and point-of-sale product interfaces.
- For an overview, see Overview
- For technical reference, see Customer Groups.
-
Customer Segments API (beta). The new Customer Segments API (Beta) lets you list and retrieve customer segment (also called smart groups) information. Coupled with the new
segment_ids
field on the customer resource, this API lets you better understand and track the customer segments to which a customer belongs.- For an overview, see Overview
- For technical reference, see Customer Segments.
-
New webhooks. v2 Webhooks (beta) now supports webhooks for the following APIs:
- Orders API.
order.created
,order.updated
, andorder.fulfillment.updated
- Terminal API.
terminal.checkout.created
andterminal.checkout.updated
- Devices API.
device.code.paired
For more information, see Subscribe to Events.
- Orders API.
Existing API updates
-
Customers API
- AddGroupToCustomer endpoint. Added to add customer memberships to a customer group.
- RemoveGroupFromCustomer endpoint. Added to remove customer memberships from a customer group.
- Customer object. Updated as follows:
group_ids
field. Added to designate groups the customer is in.segment_ids
field. Added to designate segments the customer is in.groups
field. Deprecated to be replaced bygroup_ids
andsegment_ids
. It remains supported for one year from this release.
- CustomerQuery object's
filter
parameter. Updated as follows:group_ids
filter. Added to search for customers based on whether they belong to any, all, or none of the specified groups.
-
Orders API
- OrderFulfillmentPickupDetails type updated to support curbside pickup:
is_curbside_pickup
. This Boolean field indicates curbside pickup.CurbsidePickupDetails
. This type provides supporting information for curbside pickup, including a buyer description (for example, "buyer is in a red car") and a timestamp when the buyer arrived for the pickup.
- OrderFulfillmentPickupDetails type updated to support curbside pickup:
-
OAuth API
- RevokeToken endpoint. Added a new field called revoke_only_access_token. This field allows a client to revoke an access token but leave the parent authorization active.
- ObtainToken endpoint. Added a new field called scopes. This field lets a client change the set of permissions for an access token when making a request to refresh the token.
-
Catalog API
- CatalogQuickAmountsSettings type. Added to support predefined custom payment amounts in the Square Register checkout dialog box.
- ENUM
CatalogItemProductType
. The ENUM valueGIFT_CARD
is now deprecated.
-
Payments API. See Take Payments and Collect Fees for updated information about permission requirements, Square reporting of the application fee collected by an app, and how to collect fees internationally.
Version 5.1.0.20200325 (2020-03-25)
Existing API updates
- Payments API. In support of the existing Delayed capture for payments, the following fields are added to the Payment type:
delay_duration
. In a CreatePayment request, you can setautocomplete
to false to get payment approval but not charge the payment source. You can now add this field to specify a time period to complete (or cancel) the payment. For more information, see Delay capture.delay_action
. Defines the action that Square takes on the payment when thedelay_duration
elapses. In this release, the API supports only the cancel payment action.delayed_until
. Provides the date and time on Square servers when Square appliesdelay_action
on the payment.
5.0.0.20200226
Version 5.0.0.20200226 (2020-02-26)
API releases
-
GA release: All SDKs have been updated to support the new Bank Accounts and CashDrawerShifts APIs.
-
Beta release: All SDKs have been updated to support the new Disputes API.
Existing API updates
All SDKs have been updated to support the following changes:
-
Catalog API
- Batch upsert catalog objects endpoint — The
batches
field is now required and the array must have at least one element. - CatalogModifier — Two fields added:
ordinal
to support custom ordering in a modifier listmodifier_list_id
to reference the parent modifier list
- CatalogModifierList — New field added:
ordinal
to support custom ordering in a list of CatalogModifierList objects.
- Batch upsert catalog objects endpoint — The
-
Customers API changes
- SearchCustomers endpoint —
limit
size reduced from 1000 to 100 to improve the endpoint performance.
- SearchCustomers endpoint —
-
Orders API changes
- CreateOrderRequest — Previously these request fields were deprecated:
line_items
,taxes
,discounts
. These fields are no longer available. Instead you now use theOrder
object in the request. For example,Order.line_items
,Order.taxes
, andOrder.discounts
. - OrderLineItem type — There are two changes:
- The
taxes
field that was previously deprecated is no longer available. Instead, you now use theOrderLineItem.applied_taxes
field. This also now requires that you set theOrderLineItemTax.scope
field. - The
discounts
field that was previously deprecated is no longer available. Instead, you now use theOrderLineItem.applied_discounts
field. This also now requires that you set theOrderLineItemDiscount.scope
field.
- The
- CreateOrderRequest — Previously these request fields were deprecated:
-
Shared object updates
- Card object — New fields added:
card_type
,prepaid_type
. Currently, only the Payments API responses populate these fields.
- Card object — New fields added:
Version 4.1.0.20200122 (2020-01-22)
Version 4.1.0.20200122 (2020-01-22)
-
New field: The Employee object now has an
is_owner
field. -
New enumeration: The CardBrand enumeration has a new
SQUARE_CAPITAL_CARD
enum value to support a Square one-time Installments payment. -
New request body field constraint: The Refund Payment request now requires a payment_id.
4.0.0.20191217
Square is excited to announce the public release of customized SDK for Java
-
GA release: SDKs updated to support new
receipt_url
andreceipt_number
fields added to the Payment type. -
Beta release: SDKs updated to support the new CashDrawerShifts API.
-
Square now follows the semantic versioning scheme for all SDKs except PHP and Node.js. This versioning scheme uses three numbers to delineate MAJOR, MINOR, and PATCH versions of our SDK. In addition, the SDK version also includes the API version so you know what Square API version the SDK is related to. For more information, see Versioning and SDKs.
-
Java, .Net, Python, and Ruby SDKs are now version 4.0.0. Java and .Net SDKs have breaking changes in version 4.0.0. Ruby and Python do not have breaking changes.