This Connect Node.js SDK is retired as of 2021-04-21 and will not receive any updates. To continue receiving API and SDK improvements, bug fixes, and security patches, please follow the instructions below to migrate to the new Square Node.js SDK.
The old Connect SDK documentation is available under the /docs folder.
Follow the instructions below to migrate your apps from this retired Connect Node.js SDK to the new Square Node.js SDK. You will need to install the new SDK and update your application code.
Install the Square Node.js SDK Update your application codeMake the following changes to migrate your application code to the new Square SDK:
square-connect
library to import the square
library.square-connect
models with the new square
equivalents with camel case parameter names.Note: The new SDK supports TypeScript. It exports type files that you can use to type-check the SDK usage in TypeScript codebases.
Client instantiation and initializationUse the following examples to compare client instantiation and initialization in the retired SDK versus the new SDK.
This is how you import the square-connect
library, and instantiate and initialize the API client.
var SquareConnect = require('square-connect'); var defaultClient = SquareConnect.ApiClient.instance; // To access sandbox resources, set the basePath to the sandbox URL //defaultClient.basePath = 'https://connect.squareupsandbox.com'; // Configure OAuth2 access token for authorization: oauth2 var oauth2 = defaultClient.authentications['oauth2']; oauth2.accessToken = process.env.SQUARE_ACCESS_TOKEN;
This is how you can do the same thing with the new square
library. You can import using the ES module or CommonJS module syntax, but you should not mix the two import styles in the same codebase.
Option 1: ES module import example (recommended)
import { ApiError, Client, Environment } from 'square' const client = new Client({ timeout:3000, environment: Environment.Production, // `Environment.Sandbox` to access sandbox resources accessToken: process.env.SQUARE_ACCESS_TOKEN, })
Option 2: CommonJS module import example
const { ApiError, Client, Environment } = require('square') const client = new Client({ timeout:3000, environment: Environment.Production, // `Environment.Sandbox` to access sandbox resources accessToken: process.env.SQUARE_ACCESS_TOKEN, })
As a specific example, consider the code for creating a customer in the sandbox environment.
The following example uses the square-connect
library to create a customer.
var SquareConnect = require('square-connect'); // Instantiate and initialize the API client var defaultClient = SquareConnect.ApiClient.instance; defaultClient.basePath = 'https://connect.squareupsandbox.com'; var oauth2 = defaultClient.authentications['oauth2']; oauth2.accessToken = process.env.SQUARE_ACCESS_TOKEN; // Unique key to ensure this operation runs only once if you need to retry var idempotencyKey = "unique_key"; var requestBody = SquareConnect.CreateCustomerRequest.constructFromObject({ idempotency_key: idempotencyKey, // Parameters use snake case given_name: "Amelia", family_name: "Earhart", email_address: "Amelia.Earhart@aviators.com" }); // Get an instance of the Square API you want call var customersApi = new SquareConnect.CustomersApi(); // Call the API customersApi.createCustomer(requestBody).then(function(result) { console.log('API called successfully. Returned data: ' + JSON.stringify(result, 0, 1)); }, function(error) { console.error(error); });
Now consider equivalent code that uses the new square
library. Note the following:
location_id
to locationId
.headers
and request
) and the response (statusCode
, body
, and result
). The response payload is returned as text in the body
property or as a dictionary in the result
property.import { ApiError, Client, Environment } from 'square' // Instantiate and initialize the API client const client = new Client({ environment: Environment.Sandbox, accessToken: process.env.SQUARE_ACCESS_TOKEN, }) // Get an instance of the Square API you want call const { customersApi } = client // Unique key to ensure this operation runs only once if you need to retry let idempotencyKey = "unique_key" // Call the API from within an async function const createCustomer = async () => { let requestBody = { idempotencyKey: idempotencyKey, // Parameters use camel case givenName: "Amelia", familyName: "Earhart", emailAddress: "Amelia.Earhart@aviators.com" } // Use a try/catch statement to check if the response succeeded or failed try { let { result } = await customersApi.createCustomer(requestBody) console.log('API called successfully. Returned data: 'result) } catch (error) { if (error instanceof ApiError) { console.log("Errors: ", error.errors) } else { console.log("Unexpected Error: ", error) } } } createCustomer()
That's it!
For more information about using the new Square SDK, see the Square Node.js SDK on GitHub.
For more examples that use the new Square SDK, see the Square Connect API Examples on GitHub.
Please join us in our Square developer community if you have any questions or feedback!
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4