Class: Square::Orders::CustomAttributeDefinitions::Client

Inherits:
Object
  • Object
show all
Defined in:
lib/square/orders/custom_attribute_definitions/client.rb

Instance Method Summary collapse

Constructor Details

#initialize(client:) ⇒ Square::Orders::CustomAttributeDefinitions::Client



8
9
10
# File 'lib/square/orders/custom_attribute_definitions/client.rb', line 8

def initialize(client:)
  @client = client
end

Instance Method Details

#create(request_options: {}, **params) ⇒ Square::Types::CreateOrderCustomAttributeDefinitionResponse

Creates an order-related custom attribute definition. Use this endpoint to define a custom attribute that can be associated with orders.

After creating a custom attribute definition, you can set the custom attribute for orders in the Square seller account.



46
47
48
49
50
51
52
53
54
55
56
57
58
59
# File 'lib/square/orders/custom_attribute_definitions/client.rb', line 46

def create(request_options: {}, **params)
  _request = Square::Internal::JSON::Request.new(
    base_url: request_options[:base_url] || Square::Environment::SANDBOX,
    method: "POST",
    path: "v2/orders/custom-attribute-definitions",
    body: params
  )
  _response = @client.send(_request)
  if _response.code >= "200" && _response.code < "300"
    return Square::Types::CreateOrderCustomAttributeDefinitionResponse.load(_response.body)
  end

  raise _response.body
end

#delete(request_options: {}, **params) ⇒ Square::Types::DeleteOrderCustomAttributeDefinitionResponse

Deletes an order-related [custom attribute definition](entity:CustomAttributeDefinition) from a Square seller account.

Only the definition owner can delete a custom attribute definition.



114
115
116
117
118
119
120
121
122
123
124
125
126
# File 'lib/square/orders/custom_attribute_definitions/client.rb', line 114

def delete(request_options: {}, **params)
  _request = Square::Internal::JSON::Request.new(
    base_url: request_options[:base_url] || Square::Environment::SANDBOX,
    method: "DELETE",
    path: "v2/orders/custom-attribute-definitions/#{params[:key]}"
  )
  _response = @client.send(_request)
  if _response.code >= "200" && _response.code < "300"
    return Square::Types::DeleteOrderCustomAttributeDefinitionResponse.load(_response.body)
  end

  raise _response.body
end

#get(request_options: {}, **params) ⇒ Square::Types::RetrieveOrderCustomAttributeDefinitionResponse

Retrieves an order-related [custom attribute definition](entity:CustomAttributeDefinition) from a Square seller account.

To retrieve a custom attribute definition created by another application, the ‘visibility` setting must be `VISIBILITY_READ_ONLY` or `VISIBILITY_READ_WRITE_VALUES`. Note that seller-defined custom attributes (also known as custom fields) are always set to `VISIBILITY_READ_WRITE_VALUES`.



68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
# File 'lib/square/orders/custom_attribute_definitions/client.rb', line 68

def get(request_options: {}, **params)
  _query_param_names = ["version"]
  _query = params.slice(*_query_param_names)
  params = params.except(*_query_param_names)

  _request = Square::Internal::JSON::Request.new(
    base_url: request_options[:base_url] || Square::Environment::SANDBOX,
    method: "GET",
    path: "v2/orders/custom-attribute-definitions/#{params[:key]}",
    query: _query
  )
  _response = @client.send(_request)
  if _response.code >= "200" && _response.code < "300"
    return Square::Types::RetrieveOrderCustomAttributeDefinitionResponse.load(_response.body)
  end

  raise _response.body
end

#list(request_options: {}, **params) ⇒ Square::Types::ListOrderCustomAttributeDefinitionsResponse

Lists the order-related [custom attribute definitions](entity:CustomAttributeDefinition) that belong to a Square seller account.

When all response pages are retrieved, the results include all custom attribute definitions that are visible to the requesting application, including those that are created by other applications and set to ‘VISIBILITY_READ_ONLY` or `VISIBILITY_READ_WRITE_VALUES`. Note that seller-defined custom attributes (also known as custom fields) are always set to `VISIBILITY_READ_WRITE_VALUES`.



20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
# File 'lib/square/orders/custom_attribute_definitions/client.rb', line 20

def list(request_options: {}, **params)
  _query_param_names = %w[visibility_filter cursor limit]
  _query = params.slice(*_query_param_names)
  params.except(*_query_param_names)

  _request = Square::Internal::JSON::Request.new(
    base_url: request_options[:base_url] || Square::Environment::SANDBOX,
    method: "GET",
    path: "v2/orders/custom-attribute-definitions",
    query: _query
  )
  _response = @client.send(_request)
  if _response.code >= "200" && _response.code < "300"
    return Square::Types::ListOrderCustomAttributeDefinitionsResponse.load(_response.body)
  end

  raise _response.body
end

#update(request_options: {}, **params) ⇒ Square::Types::UpdateOrderCustomAttributeDefinitionResponse

Updates an order-related custom attribute definition for a Square seller account.

Only the definition owner can update a custom attribute definition. Note that sellers can view all custom attributes in exported customer data, including those set to ‘VISIBILITY_HIDDEN`.



92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
# File 'lib/square/orders/custom_attribute_definitions/client.rb', line 92

def update(request_options: {}, **params)
  _path_param_names = ["key"]

  _request = Square::Internal::JSON::Request.new(
    base_url: request_options[:base_url] || Square::Environment::SANDBOX,
    method: "PUT",
    path: "v2/orders/custom-attribute-definitions/#{params[:key]}",
    body: params.except(*_path_param_names)
  )
  _response = @client.send(_request)
  if _response.code >= "200" && _response.code < "300"
    return Square::Types::UpdateOrderCustomAttributeDefinitionResponse.load(_response.body)
  end

  raise _response.body
end