Class: Inttegro::Product::CreateRequest

Inherits:
T::Struct
  • Object
show all
Defined in:
lib/inttegro/product/create_request.rb

Overview

Typed representation of the create request object in the Inttegro API.

This generated model is immutable. Construct it with .new, or decode a string-keyed API payload with .from_hash. #serialize produces a string-keyed hash using the original wire field names and serialized enum values.

Instance Attribute Summary collapse

Instance Attribute Details

#about ⇒ String? (readonly)

Full product description with details and features

Optional in the API payload; omitted values default to nil. Wire name: about.

Returns:

  • (String, nil)


108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
# File 'lib/inttegro/product/create_request.rb', line 108

class CreateRequest < T::Struct
  const :type, Inttegro::Product::Type
  const :reference, T.nilable(String), default: nil
  const :name, String
  const :description, T.nilable(String), default: nil
  const :about, T.nilable(String), default: nil
  const :tax_code, T.nilable(String), default: nil
  const :category, T.nilable(String), default: nil
  const :shipment, T.nilable(Inttegro::Product::ShipmentInput), default: nil
  const :dimensions, T.nilable(Inttegro::Product::Dimensions), default: nil
  const :unit_dimension, T.nilable(String), default: nil
  const :media, T.nilable(Inttegro::Product::Media), default: nil
  const :attributes, T.nilable(T::Array[Inttegro::Product::Attribute]), default: nil
  const :publish, T.nilable(T::Boolean), default: nil
  const :custom_data, T.nilable(Inttegro::CustomData), default: nil
end

#attributes ⇒ Array<Inttegro::Product::Attribute>? (readonly)

Product attributes (size, color, material, etc.)

Optional in the API payload; omitted values default to nil. Wire name: attributes.

Returns:



108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
# File 'lib/inttegro/product/create_request.rb', line 108

class CreateRequest < T::Struct
  const :type, Inttegro::Product::Type
  const :reference, T.nilable(String), default: nil
  const :name, String
  const :description, T.nilable(String), default: nil
  const :about, T.nilable(String), default: nil
  const :tax_code, T.nilable(String), default: nil
  const :category, T.nilable(String), default: nil
  const :shipment, T.nilable(Inttegro::Product::ShipmentInput), default: nil
  const :dimensions, T.nilable(Inttegro::Product::Dimensions), default: nil
  const :unit_dimension, T.nilable(String), default: nil
  const :media, T.nilable(Inttegro::Product::Media), default: nil
  const :attributes, T.nilable(T::Array[Inttegro::Product::Attribute]), default: nil
  const :publish, T.nilable(T::Boolean), default: nil
  const :custom_data, T.nilable(Inttegro::CustomData), default: nil
end

#category ⇒ String? (readonly)

Product category for organization

Optional in the API payload; omitted values default to nil. Wire name: category.

Returns:

  • (String, nil)


108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
# File 'lib/inttegro/product/create_request.rb', line 108

class CreateRequest < T::Struct
  const :type, Inttegro::Product::Type
  const :reference, T.nilable(String), default: nil
  const :name, String
  const :description, T.nilable(String), default: nil
  const :about, T.nilable(String), default: nil
  const :tax_code, T.nilable(String), default: nil
  const :category, T.nilable(String), default: nil
  const :shipment, T.nilable(Inttegro::Product::ShipmentInput), default: nil
  const :dimensions, T.nilable(Inttegro::Product::Dimensions), default: nil
  const :unit_dimension, T.nilable(String), default: nil
  const :media, T.nilable(Inttegro::Product::Media), default: nil
  const :attributes, T.nilable(T::Array[Inttegro::Product::Attribute]), default: nil
  const :publish, T.nilable(T::Boolean), default: nil
  const :custom_data, T.nilable(Inttegro::CustomData), default: nil
end

#custom_data ⇒ Inttegro::CustomData? (readonly)

Merchant-defined string values attached to a resource. SDKs expose this as a semantic collection rather than a raw map.

Optional in the API payload; omitted values default to nil. Wire name: custom_data.

Returns:



108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
# File 'lib/inttegro/product/create_request.rb', line 108

class CreateRequest < T::Struct
  const :type, Inttegro::Product::Type
  const :reference, T.nilable(String), default: nil
  const :name, String
  const :description, T.nilable(String), default: nil
  const :about, T.nilable(String), default: nil
  const :tax_code, T.nilable(String), default: nil
  const :category, T.nilable(String), default: nil
  const :shipment, T.nilable(Inttegro::Product::ShipmentInput), default: nil
  const :dimensions, T.nilable(Inttegro::Product::Dimensions), default: nil
  const :unit_dimension, T.nilable(String), default: nil
  const :media, T.nilable(Inttegro::Product::Media), default: nil
  const :attributes, T.nilable(T::Array[Inttegro::Product::Attribute]), default: nil
  const :publish, T.nilable(T::Boolean), default: nil
  const :custom_data, T.nilable(Inttegro::CustomData), default: nil
end

#description ⇒ String? (readonly)

Short product description or tagline

Optional in the API payload; omitted values default to nil. Wire name: description.

Returns:

  • (String, nil)


108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
# File 'lib/inttegro/product/create_request.rb', line 108

class CreateRequest < T::Struct
  const :type, Inttegro::Product::Type
  const :reference, T.nilable(String), default: nil
  const :name, String
  const :description, T.nilable(String), default: nil
  const :about, T.nilable(String), default: nil
  const :tax_code, T.nilable(String), default: nil
  const :category, T.nilable(String), default: nil
  const :shipment, T.nilable(Inttegro::Product::ShipmentInput), default: nil
  const :dimensions, T.nilable(Inttegro::Product::Dimensions), default: nil
  const :unit_dimension, T.nilable(String), default: nil
  const :media, T.nilable(Inttegro::Product::Media), default: nil
  const :attributes, T.nilable(T::Array[Inttegro::Product::Attribute]), default: nil
  const :publish, T.nilable(T::Boolean), default: nil
  const :custom_data, T.nilable(Inttegro::CustomData), default: nil
end

#dimensions ⇒ Inttegro::Product::Dimensions? (readonly)

At most one of physical, digital, or custom.

Optional in the API payload; omitted values default to nil. Wire name: dimensions.



108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
# File 'lib/inttegro/product/create_request.rb', line 108

class CreateRequest < T::Struct
  const :type, Inttegro::Product::Type
  const :reference, T.nilable(String), default: nil
  const :name, String
  const :description, T.nilable(String), default: nil
  const :about, T.nilable(String), default: nil
  const :tax_code, T.nilable(String), default: nil
  const :category, T.nilable(String), default: nil
  const :shipment, T.nilable(Inttegro::Product::ShipmentInput), default: nil
  const :dimensions, T.nilable(Inttegro::Product::Dimensions), default: nil
  const :unit_dimension, T.nilable(String), default: nil
  const :media, T.nilable(Inttegro::Product::Media), default: nil
  const :attributes, T.nilable(T::Array[Inttegro::Product::Attribute]), default: nil
  const :publish, T.nilable(T::Boolean), default: nil
  const :custom_data, T.nilable(Inttegro::CustomData), default: nil
end

#media ⇒ Inttegro::Product::Media? (readonly)

Value of the media field in the Inttegro API payload.

Optional in the API payload; omitted values default to nil. Wire name: media.

Returns:



108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
# File 'lib/inttegro/product/create_request.rb', line 108

class CreateRequest < T::Struct
  const :type, Inttegro::Product::Type
  const :reference, T.nilable(String), default: nil
  const :name, String
  const :description, T.nilable(String), default: nil
  const :about, T.nilable(String), default: nil
  const :tax_code, T.nilable(String), default: nil
  const :category, T.nilable(String), default: nil
  const :shipment, T.nilable(Inttegro::Product::ShipmentInput), default: nil
  const :dimensions, T.nilable(Inttegro::Product::Dimensions), default: nil
  const :unit_dimension, T.nilable(String), default: nil
  const :media, T.nilable(Inttegro::Product::Media), default: nil
  const :attributes, T.nilable(T::Array[Inttegro::Product::Attribute]), default: nil
  const :publish, T.nilable(T::Boolean), default: nil
  const :custom_data, T.nilable(Inttegro::CustomData), default: nil
end

#name ⇒ String (readonly)

Customer-facing product name

Required in the API payload. Wire name: name.

Returns:

  • (String)


108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
# File 'lib/inttegro/product/create_request.rb', line 108

class CreateRequest < T::Struct
  const :type, Inttegro::Product::Type
  const :reference, T.nilable(String), default: nil
  const :name, String
  const :description, T.nilable(String), default: nil
  const :about, T.nilable(String), default: nil
  const :tax_code, T.nilable(String), default: nil
  const :category, T.nilable(String), default: nil
  const :shipment, T.nilable(Inttegro::Product::ShipmentInput), default: nil
  const :dimensions, T.nilable(Inttegro::Product::Dimensions), default: nil
  const :unit_dimension, T.nilable(String), default: nil
  const :media, T.nilable(Inttegro::Product::Media), default: nil
  const :attributes, T.nilable(T::Array[Inttegro::Product::Attribute]), default: nil
  const :publish, T.nilable(T::Boolean), default: nil
  const :custom_data, T.nilable(Inttegro::CustomData), default: nil
end

#publish ⇒ Boolean? (readonly)

Whether to publish the product immediately

Optional in the API payload; omitted values default to nil. Wire name: publish.

Returns:

  • (Boolean, nil)


108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
# File 'lib/inttegro/product/create_request.rb', line 108

class CreateRequest < T::Struct
  const :type, Inttegro::Product::Type
  const :reference, T.nilable(String), default: nil
  const :name, String
  const :description, T.nilable(String), default: nil
  const :about, T.nilable(String), default: nil
  const :tax_code, T.nilable(String), default: nil
  const :category, T.nilable(String), default: nil
  const :shipment, T.nilable(Inttegro::Product::ShipmentInput), default: nil
  const :dimensions, T.nilable(Inttegro::Product::Dimensions), default: nil
  const :unit_dimension, T.nilable(String), default: nil
  const :media, T.nilable(Inttegro::Product::Media), default: nil
  const :attributes, T.nilable(T::Array[Inttegro::Product::Attribute]), default: nil
  const :publish, T.nilable(T::Boolean), default: nil
  const :custom_data, T.nilable(Inttegro::CustomData), default: nil
end

#reference ⇒ String? (readonly)

External reference or SKU from your system

Optional in the API payload; omitted values default to nil. Wire name: reference.

Returns:

  • (String, nil)


108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
# File 'lib/inttegro/product/create_request.rb', line 108

class CreateRequest < T::Struct
  const :type, Inttegro::Product::Type
  const :reference, T.nilable(String), default: nil
  const :name, String
  const :description, T.nilable(String), default: nil
  const :about, T.nilable(String), default: nil
  const :tax_code, T.nilable(String), default: nil
  const :category, T.nilable(String), default: nil
  const :shipment, T.nilable(Inttegro::Product::ShipmentInput), default: nil
  const :dimensions, T.nilable(Inttegro::Product::Dimensions), default: nil
  const :unit_dimension, T.nilable(String), default: nil
  const :media, T.nilable(Inttegro::Product::Media), default: nil
  const :attributes, T.nilable(T::Array[Inttegro::Product::Attribute]), default: nil
  const :publish, T.nilable(T::Boolean), default: nil
  const :custom_data, T.nilable(Inttegro::CustomData), default: nil
end

#shipment ⇒ Inttegro::Product::ShipmentInput? (readonly)

Value of the shipment field in the Inttegro API payload.

Optional in the API payload; omitted values default to nil. Wire name: shipment.



108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
# File 'lib/inttegro/product/create_request.rb', line 108

class CreateRequest < T::Struct
  const :type, Inttegro::Product::Type
  const :reference, T.nilable(String), default: nil
  const :name, String
  const :description, T.nilable(String), default: nil
  const :about, T.nilable(String), default: nil
  const :tax_code, T.nilable(String), default: nil
  const :category, T.nilable(String), default: nil
  const :shipment, T.nilable(Inttegro::Product::ShipmentInput), default: nil
  const :dimensions, T.nilable(Inttegro::Product::Dimensions), default: nil
  const :unit_dimension, T.nilable(String), default: nil
  const :media, T.nilable(Inttegro::Product::Media), default: nil
  const :attributes, T.nilable(T::Array[Inttegro::Product::Attribute]), default: nil
  const :publish, T.nilable(T::Boolean), default: nil
  const :custom_data, T.nilable(Inttegro::CustomData), default: nil
end

#tax_code ⇒ String? (readonly)

Tax classification code for tax calculations

Optional in the API payload; omitted values default to nil. Wire name: tax_code.

Returns:

  • (String, nil)


108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
# File 'lib/inttegro/product/create_request.rb', line 108

class CreateRequest < T::Struct
  const :type, Inttegro::Product::Type
  const :reference, T.nilable(String), default: nil
  const :name, String
  const :description, T.nilable(String), default: nil
  const :about, T.nilable(String), default: nil
  const :tax_code, T.nilable(String), default: nil
  const :category, T.nilable(String), default: nil
  const :shipment, T.nilable(Inttegro::Product::ShipmentInput), default: nil
  const :dimensions, T.nilable(Inttegro::Product::Dimensions), default: nil
  const :unit_dimension, T.nilable(String), default: nil
  const :media, T.nilable(Inttegro::Product::Media), default: nil
  const :attributes, T.nilable(T::Array[Inttegro::Product::Attribute]), default: nil
  const :publish, T.nilable(T::Boolean), default: nil
  const :custom_data, T.nilable(Inttegro::CustomData), default: nil
end

#type ⇒ Inttegro::Product::Type (readonly)

Product type - determines fulfillment requirements

Required in the API payload. Wire name: type.



108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
# File 'lib/inttegro/product/create_request.rb', line 108

class CreateRequest < T::Struct
  const :type, Inttegro::Product::Type
  const :reference, T.nilable(String), default: nil
  const :name, String
  const :description, T.nilable(String), default: nil
  const :about, T.nilable(String), default: nil
  const :tax_code, T.nilable(String), default: nil
  const :category, T.nilable(String), default: nil
  const :shipment, T.nilable(Inttegro::Product::ShipmentInput), default: nil
  const :dimensions, T.nilable(Inttegro::Product::Dimensions), default: nil
  const :unit_dimension, T.nilable(String), default: nil
  const :media, T.nilable(Inttegro::Product::Media), default: nil
  const :attributes, T.nilable(T::Array[Inttegro::Product::Attribute]), default: nil
  const :publish, T.nilable(T::Boolean), default: nil
  const :custom_data, T.nilable(Inttegro::CustomData), default: nil
end

#unit_dimension ⇒ String? (readonly)

Value of the unit_dimension field in the Inttegro API payload.

Optional in the API payload; omitted values default to nil. Wire name: unit_dimension.

Returns:

  • (String, nil)


108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
# File 'lib/inttegro/product/create_request.rb', line 108

class CreateRequest < T::Struct
  const :type, Inttegro::Product::Type
  const :reference, T.nilable(String), default: nil
  const :name, String
  const :description, T.nilable(String), default: nil
  const :about, T.nilable(String), default: nil
  const :tax_code, T.nilable(String), default: nil
  const :category, T.nilable(String), default: nil
  const :shipment, T.nilable(Inttegro::Product::ShipmentInput), default: nil
  const :dimensions, T.nilable(Inttegro::Product::Dimensions), default: nil
  const :unit_dimension, T.nilable(String), default: nil
  const :media, T.nilable(Inttegro::Product::Media), default: nil
  const :attributes, T.nilable(T::Array[Inttegro::Product::Attribute]), default: nil
  const :publish, T.nilable(T::Boolean), default: nil
  const :custom_data, T.nilable(Inttegro::CustomData), default: nil
end