All URIs are relative to https://connect.squareup.com
Method | HTTP request | Description |
---|---|---|
create_employee | POST /v1/me/employees | CreateEmployee |
create_employee_role | POST /v1/me/roles | CreateEmployeeRole |
create_timecard | POST /v1/me/timecards | CreateTimecard |
delete_timecard | DELETE /v1/me/timecards/{timecard_id} | DeleteTimecard |
list_cash_drawer_shifts | GET /v1/{location_id}/cash-drawer-shifts | ListCashDrawerShifts |
list_employee_roles | GET /v1/me/roles | ListEmployeeRoles |
list_employees | GET /v1/me/employees | ListEmployees |
list_timecard_events | GET /v1/me/timecards/{timecard_id}/events | ListTimecardEvents |
list_timecards | GET /v1/me/timecards | ListTimecards |
retrieve_cash_drawer_shift | GET /v1/{location_id}/cash-drawer-shifts/{shift_id} | RetrieveCashDrawerShift |
retrieve_employee | GET /v1/me/employees/{employee_id} | RetrieveEmployee |
retrieve_employee_role | GET /v1/me/roles/{role_id} | RetrieveEmployeeRole |
retrieve_timecard | GET /v1/me/timecards/{timecard_id} | RetrieveTimecard |
update_employee | PUT /v1/me/employees/{employee_id} | UpdateEmployee |
update_employee_role | PUT /v1/me/roles/{role_id} | UpdateEmployeeRole |
update_timecard | PUT /v1/me/timecards/{timecard_id} | UpdateTimecard |
V1Employee create_employee(body)
CreateEmployee
Use the CreateEmployee endpoint to add an employee to a Square account. Employees created with the Connect API have an initial status of INACTIVE
. Inactive employees cannot sign in to Square Point of Sale until they are activated from the Square Dashboard. Employee status cannot be changed with the Connect API. <aside class="important"> Employee entities cannot be deleted. To disable employee profiles, set the employee's status to INACTIVE
# load the gem
require 'square_connect'
# setup authorization
SquareConnect.configure do |config|
# Configure OAuth2 access token for authorization: oauth2
config.access_token = 'YOUR ACCESS TOKEN'
end
api_instance = SquareConnect::V1EmployeesApi.new
body = SquareConnect::V1Employee.new # V1Employee | An object containing the fields to POST for the request. See the corresponding object definition for field details.
begin
#CreateEmployee
result = api_instance.create_employee(body)
p result
rescue SquareConnect::ApiError => e
puts "Exception when calling V1EmployeesApi->create_employee: #{e}"
end
Name | Type | Description | Notes |
---|---|---|---|
body | V1Employee | An object containing the fields to POST for the request. See the corresponding object definition for field details. |
- Content-Type: application/json
- Accept: application/json
V1EmployeeRole create_employee_role(employee_role)
CreateEmployeeRole
Creates an employee role you can then assign to employees. Square accounts can include any number of roles that can be assigned to employees. These roles define the actions and permissions granted to an employee with that role. For example, an employee with a "Shift Manager" role might be able to issue refunds in Square Point of Sale, whereas an employee with a "Clerk" role might not. Roles are assigned with the V1UpdateEmployee endpoint. An employee can have only one role at a time. If an employee has no role, they have none of the permissions associated with roles. All employees can accept payments with Square Point of Sale.
# load the gem
require 'square_connect'
# setup authorization
SquareConnect.configure do |config|
# Configure OAuth2 access token for authorization: oauth2
config.access_token = 'YOUR ACCESS TOKEN'
end
api_instance = SquareConnect::V1EmployeesApi.new
employee_role = SquareConnect::V1EmployeeRole.new # V1EmployeeRole | An EmployeeRole object with a name and permissions, and an optional owner flag.
begin
#CreateEmployeeRole
result = api_instance.create_employee_role(employee_role)
p result
rescue SquareConnect::ApiError => e
puts "Exception when calling V1EmployeesApi->create_employee_role: #{e}"
end
Name | Type | Description | Notes |
---|---|---|---|
employee_role | V1EmployeeRole | An EmployeeRole object with a name and permissions, and an optional owner flag. |
- Content-Type: application/json
- Accept: application/json
V1Timecard create_timecard(body)
CreateTimecard
Creates a timecard for an employee and clocks them in with an API_CREATE
event and a clockin_time
set to the current time unless the request provides a different value. To import timecards from another system (rather than clocking someone in). Specify the clockin_time
and* clockout_time
in the request. Timecards correspond to exactly one shift for a given employee, bounded by the clockin_time
and clockout_time
fields. An employee is considered clocked in if they have a timecard that doesn't have a clockout_time
set. An employee that is currently clocked in cannot be clocked in a second time.
# load the gem
require 'square_connect'
# setup authorization
SquareConnect.configure do |config|
# Configure OAuth2 access token for authorization: oauth2
config.access_token = 'YOUR ACCESS TOKEN'
end
api_instance = SquareConnect::V1EmployeesApi.new
body = SquareConnect::V1Timecard.new # V1Timecard | An object containing the fields to POST for the request. See the corresponding object definition for field details.
begin
#CreateTimecard
result = api_instance.create_timecard(body)
p result
rescue SquareConnect::ApiError => e
puts "Exception when calling V1EmployeesApi->create_timecard: #{e}"
end
Name | Type | Description | Notes |
---|---|---|---|
body | V1Timecard | An object containing the fields to POST for the request. See the corresponding object definition for field details. |
- Content-Type: application/json
- Accept: application/json
Object delete_timecard(timecard_id)
DeleteTimecard
Deletes a timecard. Timecards can also be deleted through the Square Dashboard. Deleted timecards are still accessible through Connect API endpoints, but cannot be modified. The deleted
field of the Timecard
object indicates whether the timecard has been deleted. Note*: By default, deleted timecards appear alongside valid timecards in results returned by the ListTimecards endpoint. To filter deleted timecards, include the deleted
query parameter in the list request.
# load the gem
require 'square_connect'
# setup authorization
SquareConnect.configure do |config|
# Configure OAuth2 access token for authorization: oauth2
config.access_token = 'YOUR ACCESS TOKEN'
end
api_instance = SquareConnect::V1EmployeesApi.new
timecard_id = "timecard_id_example" # String | The ID of the timecard to delete.
begin
#DeleteTimecard
result = api_instance.delete_timecard(timecard_id)
p result
rescue SquareConnect::ApiError => e
puts "Exception when calling V1EmployeesApi->delete_timecard: #{e}"
end
Name | Type | Description | Notes |
---|---|---|---|
timecard_id | String | The ID of the timecard to delete. |
Object
- Content-Type: application/json
- Accept: application/json
Array<V1CashDrawerShift> list_cash_drawer_shifts(location_id, opts)
ListCashDrawerShifts
Provides the details for all of a location's cash drawer shifts during a date range. The date range you specify cannot exceed 90 days.
# load the gem
require 'square_connect'
# setup authorization
SquareConnect.configure do |config|
# Configure OAuth2 access token for authorization: oauth2
config.access_token = 'YOUR ACCESS TOKEN'
end
api_instance = SquareConnect::V1EmployeesApi.new
location_id = "location_id_example" # String | The ID of the location to list cash drawer shifts for.
opts = {
order: "order_example", # String | The order in which cash drawer shifts are listed in the response, based on their created_at field. Default value: ASC
begin_time: "begin_time_example", # String | The beginning of the requested reporting period, in ISO 8601 format. Default value: The current time minus 90 days.
end_time: "end_time_example" # String | The beginning of the requested reporting period, in ISO 8601 format. Default value: The current time.
}
begin
#ListCashDrawerShifts
result = api_instance.list_cash_drawer_shifts(location_id, opts)
p result
rescue SquareConnect::ApiError => e
puts "Exception when calling V1EmployeesApi->list_cash_drawer_shifts: #{e}"
end
Name | Type | Description | Notes |
---|---|---|---|
location_id | String | The ID of the location to list cash drawer shifts for. | |
order | String | The order in which cash drawer shifts are listed in the response, based on their created_at field. Default value: ASC | [optional] |
begin_time | String | The beginning of the requested reporting period, in ISO 8601 format. Default value: The current time minus 90 days. | [optional] |
end_time | String | The beginning of the requested reporting period, in ISO 8601 format. Default value: The current time. | [optional] |
- Content-Type: application/json
- Accept: application/json
Array<V1EmployeeRole> list_employee_roles(opts)
ListEmployeeRoles
Provides summary information for all of a business's employee roles.
# load the gem
require 'square_connect'
# setup authorization
SquareConnect.configure do |config|
# Configure OAuth2 access token for authorization: oauth2
config.access_token = 'YOUR ACCESS TOKEN'
end
api_instance = SquareConnect::V1EmployeesApi.new
opts = {
order: "order_example", # String | The order in which employees are listed in the response, based on their created_at field.Default value: ASC
limit: 56, # Integer | The maximum integer number of employee entities to return in a single response. Default 100, maximum 200.
batch_token: "batch_token_example" # String | A pagination cursor to retrieve the next set of results for your original query to the endpoint.
}
begin
#ListEmployeeRoles
result = api_instance.list_employee_roles(opts)
p result
rescue SquareConnect::ApiError => e
puts "Exception when calling V1EmployeesApi->list_employee_roles: #{e}"
end
Name | Type | Description | Notes |
---|---|---|---|
order | String | The order in which employees are listed in the response, based on their created_at field.Default value: ASC | [optional] |
limit | Integer | The maximum integer number of employee entities to return in a single response. Default 100, maximum 200. | [optional] |
batch_token | String | A pagination cursor to retrieve the next set of results for your original query to the endpoint. | [optional] |
- Content-Type: application/json
- Accept: application/json
Array<V1Employee> list_employees(opts)
ListEmployees
Provides summary information for all of a business's employees.
# load the gem
require 'square_connect'
# setup authorization
SquareConnect.configure do |config|
# Configure OAuth2 access token for authorization: oauth2
config.access_token = 'YOUR ACCESS TOKEN'
end
api_instance = SquareConnect::V1EmployeesApi.new
opts = {
order: "order_example", # String | The order in which employees are listed in the response, based on their created_at field. Default value: ASC
begin_updated_at: "begin_updated_at_example", # String | If filtering results by their updated_at field, the beginning of the requested reporting period, in ISO 8601 format
end_updated_at: "end_updated_at_example", # String | If filtering results by there updated_at field, the end of the requested reporting period, in ISO 8601 format.
begin_created_at: "begin_created_at_example", # String | If filtering results by their created_at field, the beginning of the requested reporting period, in ISO 8601 format.
end_created_at: "end_created_at_example", # String | If filtering results by their created_at field, the end of the requested reporting period, in ISO 8601 format.
status: "status_example", # String | If provided, the endpoint returns only employee entities with the specified status (ACTIVE or INACTIVE).
external_id: "external_id_example", # String | If provided, the endpoint returns only employee entities with the specified external_id.
limit: 56, # Integer | The maximum integer number of employee entities to return in a single response. Default 100, maximum 200.
batch_token: "batch_token_example" # String | A pagination cursor to retrieve the next set of results for your original query to the endpoint.
}
begin
#ListEmployees
result = api_instance.list_employees(opts)
p result
rescue SquareConnect::ApiError => e
puts "Exception when calling V1EmployeesApi->list_employees: #{e}"
end
Name | Type | Description | Notes |
---|---|---|---|
order | String | The order in which employees are listed in the response, based on their created_at field. Default value: ASC | [optional] |
begin_updated_at | String | If filtering results by their updated_at field, the beginning of the requested reporting period, in ISO 8601 format | [optional] |
end_updated_at | String | If filtering results by there updated_at field, the end of the requested reporting period, in ISO 8601 format. | [optional] |
begin_created_at | String | If filtering results by their created_at field, the beginning of the requested reporting period, in ISO 8601 format. | [optional] |
end_created_at | String | If filtering results by their created_at field, the end of the requested reporting period, in ISO 8601 format. | [optional] |
status | String | If provided, the endpoint returns only employee entities with the specified status (ACTIVE or INACTIVE). | [optional] |
external_id | String | If provided, the endpoint returns only employee entities with the specified external_id. | [optional] |
limit | Integer | The maximum integer number of employee entities to return in a single response. Default 100, maximum 200. | [optional] |
batch_token | String | A pagination cursor to retrieve the next set of results for your original query to the endpoint. | [optional] |
- Content-Type: application/json
- Accept: application/json
Array<V1TimecardEvent> list_timecard_events(timecard_id)
ListTimecardEvents
Provides summary information for all events associated with a particular timecard.
Only approved accounts can manage their employees with Square. Unapproved accounts cannot use employee management features with the API.# load the gem
require 'square_connect'
# setup authorization
SquareConnect.configure do |config|
# Configure OAuth2 access token for authorization: oauth2
config.access_token = 'YOUR ACCESS TOKEN'
end
api_instance = SquareConnect::V1EmployeesApi.new
timecard_id = "timecard_id_example" # String | The ID of the timecard to list events for.
begin
#ListTimecardEvents
result = api_instance.list_timecard_events(timecard_id)
p result
rescue SquareConnect::ApiError => e
puts "Exception when calling V1EmployeesApi->list_timecard_events: #{e}"
end
Name | Type | Description | Notes |
---|---|---|---|
timecard_id | String | The ID of the timecard to list events for. |
- Content-Type: application/json
- Accept: application/json
Array<V1Timecard> list_timecards(opts)
ListTimecards
Provides summary information for all of a business's employee timecards.
# load the gem
require 'square_connect'
# setup authorization
SquareConnect.configure do |config|
# Configure OAuth2 access token for authorization: oauth2
config.access_token = 'YOUR ACCESS TOKEN'
end
api_instance = SquareConnect::V1EmployeesApi.new
opts = {
order: "order_example", # String | The order in which timecards are listed in the response, based on their created_at field.
employee_id: "employee_id_example", # String | If provided, the endpoint returns only timecards for the employee with the specified ID.
begin_clockin_time: "begin_clockin_time_example", # String | If filtering results by their clockin_time field, the beginning of the requested reporting period, in ISO 8601 format.
end_clockin_time: "end_clockin_time_example", # String | If filtering results by their clockin_time field, the end of the requested reporting period, in ISO 8601 format.
begin_clockout_time: "begin_clockout_time_example", # String | If filtering results by their clockout_time field, the beginning of the requested reporting period, in ISO 8601 format.
end_clockout_time: "end_clockout_time_example", # String | If filtering results by their clockout_time field, the end of the requested reporting period, in ISO 8601 format.
begin_updated_at: "begin_updated_at_example", # String | If filtering results by their updated_at field, the beginning of the requested reporting period, in ISO 8601 format.
end_updated_at: "end_updated_at_example", # String | If filtering results by their updated_at field, the end of the requested reporting period, in ISO 8601 format.
deleted: true, # BOOLEAN | If true, only deleted timecards are returned. If false, only valid timecards are returned.If you don't provide this parameter, both valid and deleted timecards are returned.
limit: 56, # Integer | The maximum integer number of employee entities to return in a single response. Default 100, maximum 200.
batch_token: "batch_token_example" # String | A pagination cursor to retrieve the next set of results for your original query to the endpoint.
}
begin
#ListTimecards
result = api_instance.list_timecards(opts)
p result
rescue SquareConnect::ApiError => e
puts "Exception when calling V1EmployeesApi->list_timecards: #{e}"
end
Name | Type | Description | Notes |
---|---|---|---|
order | String | The order in which timecards are listed in the response, based on their created_at field. | [optional] |
employee_id | String | If provided, the endpoint returns only timecards for the employee with the specified ID. | [optional] |
begin_clockin_time | String | If filtering results by their clockin_time field, the beginning of the requested reporting period, in ISO 8601 format. | [optional] |
end_clockin_time | String | If filtering results by their clockin_time field, the end of the requested reporting period, in ISO 8601 format. | [optional] |
begin_clockout_time | String | If filtering results by their clockout_time field, the beginning of the requested reporting period, in ISO 8601 format. | [optional] |
end_clockout_time | String | If filtering results by their clockout_time field, the end of the requested reporting period, in ISO 8601 format. | [optional] |
begin_updated_at | String | If filtering results by their updated_at field, the beginning of the requested reporting period, in ISO 8601 format. | [optional] |
end_updated_at | String | If filtering results by their updated_at field, the end of the requested reporting period, in ISO 8601 format. | [optional] |
deleted | BOOLEAN | If true, only deleted timecards are returned. If false, only valid timecards are returned.If you don't provide this parameter, both valid and deleted timecards are returned. | [optional] |
limit | Integer | The maximum integer number of employee entities to return in a single response. Default 100, maximum 200. | [optional] |
batch_token | String | A pagination cursor to retrieve the next set of results for your original query to the endpoint. | [optional] |
- Content-Type: application/json
- Accept: application/json
V1CashDrawerShift retrieve_cash_drawer_shift(location_id, shift_id)
RetrieveCashDrawerShift
Provides the details for a single cash drawer shift, including all events that occurred during the shift.
# load the gem
require 'square_connect'
# setup authorization
SquareConnect.configure do |config|
# Configure OAuth2 access token for authorization: oauth2
config.access_token = 'YOUR ACCESS TOKEN'
end
api_instance = SquareConnect::V1EmployeesApi.new
location_id = "location_id_example" # String | The ID of the location to list cash drawer shifts for.
shift_id = "shift_id_example" # String | The shift's ID.
begin
#RetrieveCashDrawerShift
result = api_instance.retrieve_cash_drawer_shift(location_id, shift_id)
p result
rescue SquareConnect::ApiError => e
puts "Exception when calling V1EmployeesApi->retrieve_cash_drawer_shift: #{e}"
end
Name | Type | Description | Notes |
---|---|---|---|
location_id | String | The ID of the location to list cash drawer shifts for. | |
shift_id | String | The shift's ID. |
- Content-Type: application/json
- Accept: application/json
V1Employee retrieve_employee(employee_id)
RetrieveEmployee
Provides the details for a single employee.
# load the gem
require 'square_connect'
# setup authorization
SquareConnect.configure do |config|
# Configure OAuth2 access token for authorization: oauth2
config.access_token = 'YOUR ACCESS TOKEN'
end
api_instance = SquareConnect::V1EmployeesApi.new
employee_id = "employee_id_example" # String | The employee's ID.
begin
#RetrieveEmployee
result = api_instance.retrieve_employee(employee_id)
p result
rescue SquareConnect::ApiError => e
puts "Exception when calling V1EmployeesApi->retrieve_employee: #{e}"
end
Name | Type | Description | Notes |
---|---|---|---|
employee_id | String | The employee's ID. |
- Content-Type: application/json
- Accept: application/json
V1EmployeeRole retrieve_employee_role(role_id)
RetrieveEmployeeRole
Provides the details for a single employee role.
# load the gem
require 'square_connect'
# setup authorization
SquareConnect.configure do |config|
# Configure OAuth2 access token for authorization: oauth2
config.access_token = 'YOUR ACCESS TOKEN'
end
api_instance = SquareConnect::V1EmployeesApi.new
role_id = "role_id_example" # String | The role's ID.
begin
#RetrieveEmployeeRole
result = api_instance.retrieve_employee_role(role_id)
p result
rescue SquareConnect::ApiError => e
puts "Exception when calling V1EmployeesApi->retrieve_employee_role: #{e}"
end
Name | Type | Description | Notes |
---|---|---|---|
role_id | String | The role's ID. |
- Content-Type: application/json
- Accept: application/json
V1Timecard retrieve_timecard(timecard_id)
RetrieveTimecard
Provides the details for a single timecard.
Only approved accounts can manage their employees with Square. Unapproved accounts cannot use employee management features with the API.# load the gem
require 'square_connect'
# setup authorization
SquareConnect.configure do |config|
# Configure OAuth2 access token for authorization: oauth2
config.access_token = 'YOUR ACCESS TOKEN'
end
api_instance = SquareConnect::V1EmployeesApi.new
timecard_id = "timecard_id_example" # String | The timecard's ID.
begin
#RetrieveTimecard
result = api_instance.retrieve_timecard(timecard_id)
p result
rescue SquareConnect::ApiError => e
puts "Exception when calling V1EmployeesApi->retrieve_timecard: #{e}"
end
Name | Type | Description | Notes |
---|---|---|---|
timecard_id | String | The timecard's ID. |
- Content-Type: application/json
- Accept: application/json
V1Employee update_employee(employee_id, body)
UpdateEmployee
# load the gem
require 'square_connect'
# setup authorization
SquareConnect.configure do |config|
# Configure OAuth2 access token for authorization: oauth2
config.access_token = 'YOUR ACCESS TOKEN'
end
api_instance = SquareConnect::V1EmployeesApi.new
employee_id = "employee_id_example" # String | The ID of the role to modify.
body = SquareConnect::V1Employee.new # V1Employee | An object containing the fields to POST for the request. See the corresponding object definition for field details.
begin
#UpdateEmployee
result = api_instance.update_employee(employee_id, body)
p result
rescue SquareConnect::ApiError => e
puts "Exception when calling V1EmployeesApi->update_employee: #{e}"
end
Name | Type | Description | Notes |
---|---|---|---|
employee_id | String | The ID of the role to modify. | |
body | V1Employee | An object containing the fields to POST for the request. See the corresponding object definition for field details. |
- Content-Type: application/json
- Accept: application/json
V1EmployeeRole update_employee_role(role_id, body)
UpdateEmployeeRole
Modifies the details of an employee role.
# load the gem
require 'square_connect'
# setup authorization
SquareConnect.configure do |config|
# Configure OAuth2 access token for authorization: oauth2
config.access_token = 'YOUR ACCESS TOKEN'
end
api_instance = SquareConnect::V1EmployeesApi.new
role_id = "role_id_example" # String | The ID of the role to modify.
body = SquareConnect::V1EmployeeRole.new # V1EmployeeRole | An object containing the fields to POST for the request. See the corresponding object definition for field details.
begin
#UpdateEmployeeRole
result = api_instance.update_employee_role(role_id, body)
p result
rescue SquareConnect::ApiError => e
puts "Exception when calling V1EmployeesApi->update_employee_role: #{e}"
end
Name | Type | Description | Notes |
---|---|---|---|
role_id | String | The ID of the role to modify. | |
body | V1EmployeeRole | An object containing the fields to POST for the request. See the corresponding object definition for field details. |
- Content-Type: application/json
- Accept: application/json
V1Timecard update_timecard(timecard_id, body)
UpdateTimecard
Modifies the details of a timecard with an API_EDIT
event for the timecard. Updating an active timecard with a clockout_time
clocks the employee out.
# load the gem
require 'square_connect'
# setup authorization
SquareConnect.configure do |config|
# Configure OAuth2 access token for authorization: oauth2
config.access_token = 'YOUR ACCESS TOKEN'
end
api_instance = SquareConnect::V1EmployeesApi.new
timecard_id = "timecard_id_example" # String | TThe ID of the timecard to modify.
body = SquareConnect::V1Timecard.new # V1Timecard | An object containing the fields to POST for the request. See the corresponding object definition for field details.
begin
#UpdateTimecard
result = api_instance.update_timecard(timecard_id, body)
p result
rescue SquareConnect::ApiError => e
puts "Exception when calling V1EmployeesApi->update_timecard: #{e}"
end
Name | Type | Description | Notes |
---|---|---|---|
timecard_id | String | TThe ID of the timecard to modify. | |
body | V1Timecard | An object containing the fields to POST for the request. See the corresponding object definition for field details. |
- Content-Type: application/json
- Accept: application/json