Square Connect v2 Python Client
Project description
Square Connect Python SDK - RETIRED
NOTICE: Square Connect Python SDK retired
The Square Connect Python SDK is retired (EOL) as of 2019-08-15 and will no longer receive bug fixes or product updates. To continue receiving API and SDK improvements, please follow the instructions below to migrate to the new Square Python SDK.
The old Connect SDK documentation is available under the
/docs
folder.
Migrate to the Square Python SDK
Follow the instructions below to migrate your apps from the deprecated
squareconnect
library to the new square
library.
Install the new library
Install the latest Square Python SDK using pip:
pip install squareup
Update your code
- Change all instances of
import 'squareconnect'
toimport 'square'
. - Replace models with plain Python dictionary equivalents.
- Update client instantiation to follow the method outlined below.
- Update code for accessing response data to follow the method outlined below.
- Check
response.is_success
orresponse.is_error
rather than rescuing exceptions for flow control.
To simplify your code, we also recommend that you use method chaining to access APIs instead of explicitly instantiating multiple clients.
Client instantiation
from square.client import Client
square = Client(access_token='YOUR ACCESS TOKEN')
response = square.API.ENDPOINT(body=BODY)
Accessing response data
if response.is_success():
print({response.body})
elif response.is_error():
print({response.errors})
An example code migration
As a specific example, consider the following code for creating a new customer from this dictionary:
new_customer = {
'given_name': 'Ava',
'address': {
'address_line_1': '555 Electric Ave',
'locality': 'Los Angeles',
'country': 'US'
}
}
With the deprecated squareconnect
library, this is how you instantiate a
client for the Customers API, format the request, and call the endpoint:
from squareconnect import ApiClient
from squareconnect.rest import ApiException
from squareconnect.apis.customers_api import CustomersApi
from squareconnect.models.create_customer_request import CreateCustomerRequest
# Instantiate and initialize the client
api_client = ApiClient()
api_client.configuration.access_token = 'YOUR ACCESS TOKEN'
# Get an instance of the Square API you want call
api_instance = CustomersApi(api_client)
# Build the request
create_customer_request = CreateCustomerRequest(
given_name=new_customer['given_name'],
address=new_customer['address'],
)
# Call create_customer method to create a new customer and handle the response
try:
api_response = api_instance.create_customer(create_customer_request)
print(f"Success: {api_response.customer}")
except ApiException as err:
print(f"Exception when calling CustomersApi->create_customer: {err}")
Now consider equivalent code using the new square
library:
from square.client import Client
# Instantiate the client
client = Client(access_token='YOUR ACCESS TOKEN')
# Call create_customer method to create a new customer
result = client.customers.create_customer(new_customer)
# Handle the result
if result.is_success():
# Display the response as text
print(f"Success: {result.text}")
# Call the error method to see if the call failed
elif result.is_error():
print(f"Errors: {result.errors}")
That's it! What was once a multi-block process can be handled in 2 lines of code
and an if/elif
block. Migrating to the square
library reduces boilerplate
and lets you can focus on the parts of your code that really matter.
Ask the community
Please join us in our Square developer community if you have any questions!
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
File details
Details for the file squareconnect-2.20190724.1.tar.gz
.
File metadata
- Download URL: squareconnect-2.20190724.1.tar.gz
- Upload date:
- Size: 293.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.1.0 requests-toolbelt/0.9.1 tqdm/4.33.0 CPython/2.7.15
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 28779d7dab1b200a105dabc9f467d2447e5372a30c8aef5d2e9e959a6197c6a6 |
|
MD5 | e243882dc722f529e3b7cbec3e8d5b22 |
|
BLAKE2b-256 | 39258a18de0a7e96135be7e3ded0afeb79ed8d16b2bbf3aa0026be5f4a21bb1b |