Releases: square/connect-nodejs-sdk
Version 6.20201216.0
Existing API updates
Orders API:
-
OrderLineItemPricingBlocklists. You can explicitly specify taxes and discounts in an order or automatically apply preconfigured taxes and discounts to an order. In addition, you can now block applying these taxes and discounts to a specific OrderLineItem in an order. You add the
pricing_blocklists
attribute to individual line items and specify theblocked_discounts
andblocked_taxes
that you do not want to apply. For more information, see Apply Taxes and Discounts. For example walkthroughs, see Automatically Apply Discounts and Automatically Apply Taxes. -
OrderPricingOptions. Previously, the
pricing_options
field in an order supported onlyauto_apply_discounts
to enable the automatic application of preconfigured discounts. Now it also supportsauto_apply_taxes
to enable the automatic application of preconfigured taxes. For more information, see Automatically apply preconfigured catalog taxes or discounts. -
OrderLineItemTax. It now includes the new
auto_applied
field. It indicates whether the tax was automatically applied using a preconfigured CatalogTax. -
Bookings API:
- The CancelBooking endpoint supports canceling an accepted or pending booking.
- The booking.created webhook event notifies when a new booking is created by calling the CreateBooking endpoint.
- The booking.updated webhook event notifies when an existing booking is updated.
-
Catalog API:
- ListCatalog, RetrieveCatalogObject, and BatchRetrieveCatalogObjects now support the
catalog_version
filter to return catalog objects of the specified version.
- ListCatalog, RetrieveCatalogObject, and BatchRetrieveCatalogObjects now support the
-
Customers API:
- SearchCustomers endpoint. The
email_address
,group_ids
,phone_number
, andreference_id
query filters are now generally available (GA). - The Customer Groups API is now GA.
- The Customer Segments API is now GA.
- SearchCustomers endpoint. The
-
Invoices API: (beta)
- Invoice object. Added the
custom_fields
field, which contains up to two customer-facing, seller-defined fields to display on the invoice. For more information, see Custom fields.
As part of this change, the following objects are added:- InvoiceCustomField object
- InvoiceCustomFieldPlacement enum
- InvoiceRequestMethod enum. Added the read-only CHARGE_BANK_ON_FILE value, which represents a bank transfer automatic payment method for a recurring invoice.
- Invoice object. Added the
-
Loyalty API: (beta)
- LoyaltyProgramRewardTier object. The
definition
field in this type is deprecated and replaced by the newpricing_rule_reference
field. You can usepricing_rule_reference
fields to retrieve catalog objects that define the discount details for the reward tier. For more information, see Get discount details for a reward tier.
As part of this change, the following APIs are deprecated:
- LoyaltyProgramRewardTier object. The
New SDK release
-
Square Node.js SDK:
The new Square Node.js SDK is now GA and replaces the deprecated Connect Node.js SDK. For migration information, see the Connect SDK README.
Documentation updates
- Get Right-Sized Permissions with Down-Scoped OAuth Tokens. This new OAuth API topic shows how to get an additional reduced-scope OAuth token with a 24-hour expiration by using the refresh token from the Square account authorization OAuth flow.
Version 5.20201118.0
New API releases
- Bookings API (beta). The Bookings API lets you create applications to set up and manage bookings for appointments of fixed duration in which selected staff members of a Square seller provide specified services in supported locations for particular customers.
- For an overview, see Manage Bookings for Square Sellers.
- For technical reference, see Bookings API.
Existing API updates
- Payments API:
- Payment. The object now includes the
risk_evaluation
field to identify the Square-assigned risk level associated with the payment. Sellers can use this information to provide the goods and services or refund the payment.
- Payment. The object now includes the
New SDK release
-
New Square Node.js SDK (beta)
The new Square Node.js SDK is available in beta and will eventually replace the deprecated Connect Node.js SDK. For migration information, see the Connect SDK README. The following topics are updated to use the new SDK:
Documentation updates
- The Testing topics are moved from the end of the table of contents to the top, in the Home section under Testing your Application.
- Pay for Orders. The topic is revised to add clarity for when to use the Payments API and Orders API to pay for an order. The Orders integration section for the Payments API is simplified accordingly.
Version 4.20201028.5 (2020-10-28)
Existing API updates
-
Terminal API. New endpoints to enable sellers in Canada refund Interac payments.
-
New endpoints:
-
New webhooks:
terminal.refund.created
. Notification of a new Terminal refund request.terminal.refund.updated
. Notification that a Terminal refund request state is changed.
-
New topic Refund Interac Payments.. Describes how to refund Interac payments.
-
-
Loyalty API (beta):
- SearchLoyaltyAccounts. The endpoint supports a new query parameter to search by customer ID.
-
Locations API:
- Location object. Has a new read-only field,full_format_logo_url, which provides URL of a full-format logo image for the location.
- Webhooks. The Locations API now supports notifications for when a location is created and when a location is updated.
-
Orders API:
- RetrieveOrder, new endpoint. For more information, see the Retrieve Orders overview.
-
Invoices API (beta):
- Invoice object. The payment_requests field can now contain up to 13 payment requests, with a maximum of 12
INSTALLMENT
request types. This is a service-level change that applies to all Square API versions. For more information, see Payment requests.
- Invoice object. The payment_requests field can now contain up to 13 payment requests, with a maximum of 12
Version 4.20200923.4 (2020-09-23T00:00)
Existing API updates
- Invoices API (beta)
- InvoiceStatus enum. Added the
PAYMENT_PENDING
value. Previously, the Invoices API returned aPAID
orPARTIALLY_PAID
status for invoices in a payment pending state. Now, the Invoices API returns aPAYMENT_PENDING
status for all invoices in a payment pending state, including those previously returned asPAID
orPARTIALLY_PAID
.
- InvoiceStatus enum. Added the
- Payments API
- ListPayment. The endpoint now supports the
limit
parameter.
- ListPayment. The endpoint now supports the
- Refunds API
- ListPaymentRefunds. The endpoint now supports the
limit
parameter.
- ListPaymentRefunds. The endpoint now supports the
- DeviceDetails. The object now includes the
device_installation_id
field.
Documentation updates
- Payment status. Added details about the
Payment.status
changes and how the status relates to the seller receiving the funds. - Refund status. Added details about the
PaymentRefund.status
changes and how the status relates to the cardholder receiving the funds. - CreateRefund errors. Added documentation for the
REFUND_DECLINED
error code.
Version 4.20200826.3 (2020-08-26T00:00)
Existing API updates
- Orders API
- Order object. The
total_tip_money
field is now GA. - CreateOrder, UpdateOrder, and BatchRetrieveOrders. These APIs now support merchant-scoped endpoints (for example, the
CreateOrder
endpointPOST /v2/orders
). The location-scoped variants of these endpoints (for example, theCreateOrder
endpointPOST /v2/locations/{location_id}/orders
) continue to work, but these endpoints are now deprecated. You should use the merchant-scoped endpoints (you provide the location information in the request body).
- Order object. The
- Labor API
- Migrate from Employees to Team Members. The Employees API is now deprecated in this release. Accordingly, update references to the
Shift.employee_id
field to theShift.team_member_id
field of the Labor API.
- Migrate from Employees to Team Members. The Employees API is now deprecated in this release. Accordingly, update references to the
- v2 Employees API (deprecated)
- Migrate from the Square Employees API. The v2 Employees API is now deprecated. This topic provides information to migrate to the Team API.
- v1 Employees API (deprecated)
- Migrate from the v1 Employees API. The v1 Employees API is now deprecated. This topic provides information to migrate to the Team API.
Documentation updates
- Point of Sale API
- Build on iOS. Corrected the Swift example code in step 7.
- Team API
- Team API Overview. Documented the limitation related to creating a team member in the Square Sandbox.
Version 4.20200812.2 (2020-08-12T00:00)
API releases
- Subscriptions API (beta):
- For an overview, see Square Subscriptions.
- For technical reference, see Subscriptions API.
Existing API updates
- Catalog API
- CatalogSubscriptionPlan (beta). This catalog type is added in support of the Subscriptions API. Subscription plans are stored as catalog object of the
SUBSCRIPTION_PLAN
type. For more information, see Set Up and Manage a Subscription Plan.
- CatalogSubscriptionPlan (beta). This catalog type is added in support of the Subscriptions API. Subscription plans are stored as catalog object of the
SqPaymentForm SDK updates
- SqPaymentForm.masterpassImageURL. This function is updated to return a Secure Remote Commerce background image URL.
Documentation updates
- Locations API
- About the main location. Added clarifying information about the main location concept.
- OAuth API
- Migrate to the Square API OAuth Flow. Added a new topic to document migration from a v1 location-scoped OAuth access token to the Square seller-scoped OAuth access token.
- Payment Form SDK
- Renamed the Add a Masterpass Button topic to Add a Secure Remote Commerce Button. Updated the instructions to add a Secure Remote Commerce button to replace a legacy Masterpass button.
- Payment form technical reference. Updated the reference to show code examples for adding a Secure Remote Commerce button.
Version 4.20200722.1 (2020-07-22T00:00)
API releases
- Invoices API (beta):
- For an overview, see Manage Invoices Using the Invoices API.
- For technical reference, see Invoices API.
Existing API updates
-
Catalog API
- SearchCatalogItems. You can now call the new search endpoint to search for catalog items or item variations, with simplified programming experiences, using one or more of the supported query filters, including the custom attribute value filter.
-
Locations API
- Locations API Overview. Introduced the "main" location concept.
- RetrieveLocation. You can now specify "main" as the location ID to retrieve the main location information.
-
Merchants API
- RetrieveMerchant and ListMerchants. These endpoints now return a new field,
main_location_id
.
- RetrieveMerchant and ListMerchants. These endpoints now return a new field,
-
Orders API
- PricingOptions. You can now enable the
auto_apply_discounts
of the options to have rule-based discounts automatically applied to an Order that is pre-configured with a pricing rule.
- PricingOptions. You can now enable the
-
- Replaced 500 error on max string length exceeded with a max length error message. Max length attribute added to string type fields.
-
Terminal API (beta)
- TerminalCheckout object. The
TerminalCheckoutCancelReason
field is renamed toActionCancelReason
.
- TerminalCheckout object. The
Documentation updates
-
Catalog API
- Search a catalog. New topics added to provide actionable guides to using the existing SearchCatalogObjects endpoint, in addition to the SearchCatalogItems endpoints.
-
Orders API
- Create Orders. Updated existing content with the new pricing option for the automatic application of rule-based discounts.
Version 4.20200625.0 (2020-06-25T00:00)
New API release
- Team API generally available (GA)
- For an overview, see Team API Overview.
- For technical reference, see Team API.
Existing API updates
-
Catalog API
- Pricing is now GA. It allows an application to configure catalog item pricing rules for the specified discounts to apply automatically.
-
Payments API
- The CardPaymentDetails type now supports a new field, refund_requires_card_presence. When set to true, the payment card must be physically present to refund a payment.
Version 3.20200528.0 (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.
- 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.
-
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
- 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.
- The Search Customers endpoint supports search by email address, phone number, and reference ID with the following additional query filters:
Version 3.20200422.2 (2020-04-25)
Existing API updates
- OAuth API
- Obtain Token endpoint: Removed the
scopes
property from the request body.
- Obtain Token endpoint: Removed the