line-bot-api 1.30.0 → 2.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (110) hide show
  1. checksums.yaml +4 -4
  2. data/CONTRIBUTING.md +49 -1
  3. data/README.md +250 -26
  4. data/lib/line/bot/v2/messaging_api/api/messaging_api_client.rb +269 -0
  5. data/lib/line/bot/v2/messaging_api/core.rb +39 -0
  6. data/lib/line/bot/v2/messaging_api/model/acquisition_condition_request.rb +77 -0
  7. data/lib/line/bot/v2/messaging_api/model/acquisition_condition_response.rb +78 -0
  8. data/lib/line/bot/v2/messaging_api/model/cash_back_fixed_price_info_request.rb +72 -0
  9. data/lib/line/bot/v2/messaging_api/model/cash_back_fixed_price_info_response.rb +78 -0
  10. data/lib/line/bot/v2/messaging_api/model/cash_back_percentage_price_info_request.rb +72 -0
  11. data/lib/line/bot/v2/messaging_api/model/cash_back_percentage_price_info_response.rb +72 -0
  12. data/lib/line/bot/v2/messaging_api/model/cash_back_price_info_request.rb +77 -0
  13. data/lib/line/bot/v2/messaging_api/model/cash_back_price_info_response.rb +77 -0
  14. data/lib/line/bot/v2/messaging_api/model/coupon_cash_back_reward_request.rb +72 -0
  15. data/lib/line/bot/v2/messaging_api/model/coupon_cash_back_reward_response.rb +72 -0
  16. data/lib/line/bot/v2/messaging_api/model/coupon_create_request.rb +139 -0
  17. data/lib/line/bot/v2/messaging_api/model/coupon_create_response.rb +67 -0
  18. data/lib/line/bot/v2/messaging_api/model/coupon_discount_reward_request.rb +72 -0
  19. data/lib/line/bot/v2/messaging_api/model/coupon_discount_reward_response.rb +72 -0
  20. data/lib/line/bot/v2/messaging_api/model/coupon_free_reward_request.rb +66 -0
  21. data/lib/line/bot/v2/messaging_api/model/coupon_free_reward_response.rb +66 -0
  22. data/lib/line/bot/v2/messaging_api/model/coupon_gift_reward_request.rb +66 -0
  23. data/lib/line/bot/v2/messaging_api/model/coupon_gift_reward_response.rb +66 -0
  24. data/lib/line/bot/v2/messaging_api/model/coupon_list_response.rb +73 -0
  25. data/lib/line/bot/v2/messaging_api/model/coupon_message.rb +91 -0
  26. data/lib/line/bot/v2/messaging_api/model/coupon_others_reward_request.rb +66 -0
  27. data/lib/line/bot/v2/messaging_api/model/coupon_others_reward_response.rb +66 -0
  28. data/lib/line/bot/v2/messaging_api/model/coupon_response.rb +169 -0
  29. data/lib/line/bot/v2/messaging_api/model/coupon_reward_request.rb +80 -0
  30. data/lib/line/bot/v2/messaging_api/model/coupon_reward_response.rb +80 -0
  31. data/lib/line/bot/v2/messaging_api/model/discount_explicit_price_info_request.rb +78 -0
  32. data/lib/line/bot/v2/messaging_api/model/discount_explicit_price_info_response.rb +84 -0
  33. data/lib/line/bot/v2/messaging_api/model/discount_fixed_price_info_request.rb +72 -0
  34. data/lib/line/bot/v2/messaging_api/model/discount_fixed_price_info_response.rb +78 -0
  35. data/lib/line/bot/v2/messaging_api/model/discount_percentage_price_info_request.rb +72 -0
  36. data/lib/line/bot/v2/messaging_api/model/discount_percentage_price_info_response.rb +72 -0
  37. data/lib/line/bot/v2/messaging_api/model/discount_price_info_request.rb +78 -0
  38. data/lib/line/bot/v2/messaging_api/model/discount_price_info_response.rb +78 -0
  39. data/lib/line/bot/v2/messaging_api/model/lottery_acquisition_condition_request.rb +78 -0
  40. data/lib/line/bot/v2/messaging_api/model/lottery_acquisition_condition_response.rb +78 -0
  41. data/lib/line/bot/v2/messaging_api/model/message.rb +1 -0
  42. data/lib/line/bot/v2/messaging_api/model/messaging_api_pager_coupon_list_response.rb +79 -0
  43. data/lib/line/bot/v2/messaging_api/model/normal_acquisition_condition_request.rb +66 -0
  44. data/lib/line/bot/v2/messaging_api/model/normal_acquisition_condition_response.rb +66 -0
  45. data/lib/line/bot/v2/messaging_api/model/referral_acquisition_condition_response.rb +66 -0
  46. data/lib/line/bot/version.rb +1 -1
  47. data/lib/line/bot.rb +0 -9
  48. data/line-bot-api.gemspec +1 -1
  49. data/sig/line/bot/v2/messaging_api/api/messaging_api_client.rbs +156 -0
  50. data/sig/line/bot/v2/messaging_api/model/acquisition_condition_request.rbs +43 -0
  51. data/sig/line/bot/v2/messaging_api/model/acquisition_condition_response.rbs +43 -0
  52. data/sig/line/bot/v2/messaging_api/model/cash_back_fixed_price_info_request.rbs +40 -0
  53. data/sig/line/bot/v2/messaging_api/model/cash_back_fixed_price_info_response.rbs +43 -0
  54. data/sig/line/bot/v2/messaging_api/model/cash_back_percentage_price_info_request.rbs +40 -0
  55. data/sig/line/bot/v2/messaging_api/model/cash_back_percentage_price_info_response.rbs +40 -0
  56. data/sig/line/bot/v2/messaging_api/model/cash_back_price_info_request.rbs +43 -0
  57. data/sig/line/bot/v2/messaging_api/model/cash_back_price_info_response.rbs +43 -0
  58. data/sig/line/bot/v2/messaging_api/model/coupon_cash_back_reward_request.rbs +40 -0
  59. data/sig/line/bot/v2/messaging_api/model/coupon_cash_back_reward_response.rbs +40 -0
  60. data/sig/line/bot/v2/messaging_api/model/coupon_create_request.rbs +76 -0
  61. data/sig/line/bot/v2/messaging_api/model/coupon_create_response.rbs +40 -0
  62. data/sig/line/bot/v2/messaging_api/model/coupon_discount_reward_request.rbs +40 -0
  63. data/sig/line/bot/v2/messaging_api/model/coupon_discount_reward_response.rbs +40 -0
  64. data/sig/line/bot/v2/messaging_api/model/coupon_free_reward_request.rbs +37 -0
  65. data/sig/line/bot/v2/messaging_api/model/coupon_free_reward_response.rbs +37 -0
  66. data/sig/line/bot/v2/messaging_api/model/coupon_gift_reward_request.rbs +37 -0
  67. data/sig/line/bot/v2/messaging_api/model/coupon_gift_reward_response.rbs +37 -0
  68. data/sig/line/bot/v2/messaging_api/model/coupon_list_response.rbs +43 -0
  69. data/sig/line/bot/v2/messaging_api/model/coupon_message.rbs +50 -0
  70. data/sig/line/bot/v2/messaging_api/model/coupon_others_reward_request.rbs +37 -0
  71. data/sig/line/bot/v2/messaging_api/model/coupon_others_reward_response.rbs +37 -0
  72. data/sig/line/bot/v2/messaging_api/model/coupon_response.rbs +91 -0
  73. data/sig/line/bot/v2/messaging_api/model/coupon_reward_request.rbs +43 -0
  74. data/sig/line/bot/v2/messaging_api/model/coupon_reward_response.rbs +43 -0
  75. data/sig/line/bot/v2/messaging_api/model/discount_explicit_price_info_request.rbs +43 -0
  76. data/sig/line/bot/v2/messaging_api/model/discount_explicit_price_info_response.rbs +46 -0
  77. data/sig/line/bot/v2/messaging_api/model/discount_fixed_price_info_request.rbs +40 -0
  78. data/sig/line/bot/v2/messaging_api/model/discount_fixed_price_info_response.rbs +43 -0
  79. data/sig/line/bot/v2/messaging_api/model/discount_percentage_price_info_request.rbs +40 -0
  80. data/sig/line/bot/v2/messaging_api/model/discount_percentage_price_info_response.rbs +40 -0
  81. data/sig/line/bot/v2/messaging_api/model/discount_price_info_request.rbs +43 -0
  82. data/sig/line/bot/v2/messaging_api/model/discount_price_info_response.rbs +43 -0
  83. data/sig/line/bot/v2/messaging_api/model/lottery_acquisition_condition_request.rbs +43 -0
  84. data/sig/line/bot/v2/messaging_api/model/lottery_acquisition_condition_response.rbs +43 -0
  85. data/sig/line/bot/v2/messaging_api/model/messaging_api_pager_coupon_list_response.rbs +43 -0
  86. data/sig/line/bot/v2/messaging_api/model/normal_acquisition_condition_request.rbs +37 -0
  87. data/sig/line/bot/v2/messaging_api/model/normal_acquisition_condition_response.rbs +37 -0
  88. data/sig/line/bot/v2/messaging_api/model/referral_acquisition_condition_response.rbs +37 -0
  89. metadata +81 -24
  90. data/lib/line/bot/v1/api/errors.rb +0 -23
  91. data/lib/line/bot/v1/api/version.rb +0 -23
  92. data/lib/line/bot/v1/api.rb +0 -33
  93. data/lib/line/bot/v1/client.rb +0 -1936
  94. data/lib/line/bot/v1/event/account_link.rb +0 -38
  95. data/lib/line/bot/v1/event/base.rb +0 -39
  96. data/lib/line/bot/v1/event/beacon.rb +0 -43
  97. data/lib/line/bot/v1/event/follow.rb +0 -30
  98. data/lib/line/bot/v1/event/join.rb +0 -29
  99. data/lib/line/bot/v1/event/leave.rb +0 -31
  100. data/lib/line/bot/v1/event/member_joined.rb +0 -29
  101. data/lib/line/bot/v1/event/member_left.rb +0 -31
  102. data/lib/line/bot/v1/event/message.rb +0 -51
  103. data/lib/line/bot/v1/event/postback.rb +0 -29
  104. data/lib/line/bot/v1/event/things.rb +0 -49
  105. data/lib/line/bot/v1/event/unfollow.rb +0 -31
  106. data/lib/line/bot/v1/event/unsend.rb +0 -31
  107. data/lib/line/bot/v1/event/video_play_complete.rb +0 -29
  108. data/lib/line/bot/v1/event.rb +0 -28
  109. data/lib/line/bot/v1/httpclient.rb +0 -91
  110. data/lib/line/bot/v1/util.rb +0 -28
@@ -0,0 +1,78 @@
1
+ # LINE Messaging API
2
+ # This document describes LINE Messaging API.
3
+ #
4
+ # The version of the OpenAPI document: 0.0.1
5
+ #
6
+ # NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
7
+ # https://openapi-generator.tech
8
+ # Do not edit the class manually.
9
+
10
+ require_relative './discount_price_info_response'
11
+
12
+ module Line
13
+ module Bot
14
+ module V2
15
+ module MessagingApi
16
+ class DiscountFixedPriceInfoResponse < DiscountPriceInfoResponse
17
+ # @!attribute [r] type
18
+ # @return [String]
19
+ attr_reader :type
20
+ # @!attribute [rw] currency
21
+ # @return [String,nil] ('JPY'|'THB'|'TWD') Currency code (e.g., JPY, THB, TWD).
22
+ attr_accessor :currency
23
+ # @!attribute [rw] fixed_amount
24
+ # @return [Integer,nil]
25
+ attr_accessor :fixed_amount
26
+
27
+ # @param currency [String,nil] ('JPY'|'THB'|'TWD') Currency code (e.g., JPY, THB, TWD).
28
+ # @param fixed_amount [Integer,nil]
29
+ def initialize(
30
+ currency: nil,
31
+ fixed_amount: nil,
32
+ **dynamic_attributes
33
+ )
34
+ @type = "fixed"
35
+
36
+ @currency = currency
37
+ @fixed_amount = fixed_amount
38
+
39
+ dynamic_attributes.each do |key, value|
40
+ self.class.attr_accessor key
41
+
42
+ if value.is_a?(Hash)
43
+ struct_klass = Struct.new(*value.keys.map(&:to_sym))
44
+ struct_values = value.map { |_k, v| v.is_a?(Hash) ? Line::Bot::V2::Utils.hash_to_struct(v) : v }
45
+ instance_variable_set("@#{key}", struct_klass.new(*struct_values))
46
+ else
47
+ instance_variable_set("@#{key}", value)
48
+ end
49
+ end
50
+ end
51
+
52
+ # Create an instance of the class from a hash
53
+ # @param args [Hash] Hash containing all the required attributes
54
+ # @return [Line::Bot::V2::MessagingApi::DiscountFixedPriceInfoResponse] Instance of the class
55
+ def self.create(args) # steep:ignore
56
+ symbolized_args = Line::Bot::V2::Utils.deep_symbolize(args)
57
+ return new(**symbolized_args) # steep:ignore
58
+ end
59
+
60
+ # @param other [Object] Object to compare
61
+ # @return [Boolean] true if the objects are equal, false otherwise
62
+ def ==(other)
63
+ return false unless self.class == other.class
64
+
65
+ instance_variables.all? do |var|
66
+ instance_variable_get(var) == other.instance_variable_get(var)
67
+ end
68
+ end
69
+
70
+ # @return [Integer] Hash code of the object
71
+ def hash
72
+ [self.class, *instance_variables.map { |var| instance_variable_get(var) }].hash
73
+ end
74
+ end
75
+ end
76
+ end
77
+ end
78
+ end
@@ -0,0 +1,72 @@
1
+ # LINE Messaging API
2
+ # This document describes LINE Messaging API.
3
+ #
4
+ # The version of the OpenAPI document: 0.0.1
5
+ #
6
+ # NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
7
+ # https://openapi-generator.tech
8
+ # Do not edit the class manually.
9
+
10
+ require_relative './discount_price_info_request'
11
+
12
+ module Line
13
+ module Bot
14
+ module V2
15
+ module MessagingApi
16
+ class DiscountPercentagePriceInfoRequest < DiscountPriceInfoRequest
17
+ # @!attribute [r] type
18
+ # @return [String]
19
+ attr_reader :type
20
+ # @!attribute [rw] percentage
21
+ # @return [Integer,nil] Specifies the discount rate as a percentage. Must be an integer between 1 and 99.
22
+ attr_accessor :percentage
23
+
24
+ # @param percentage [Integer,nil] Specifies the discount rate as a percentage. Must be an integer between 1 and 99.
25
+ def initialize(
26
+ percentage: nil,
27
+ **dynamic_attributes
28
+ )
29
+ @type = "percentage"
30
+
31
+ @percentage = percentage
32
+
33
+ dynamic_attributes.each do |key, value|
34
+ self.class.attr_accessor key
35
+
36
+ if value.is_a?(Hash)
37
+ struct_klass = Struct.new(*value.keys.map(&:to_sym))
38
+ struct_values = value.map { |_k, v| v.is_a?(Hash) ? Line::Bot::V2::Utils.hash_to_struct(v) : v }
39
+ instance_variable_set("@#{key}", struct_klass.new(*struct_values))
40
+ else
41
+ instance_variable_set("@#{key}", value)
42
+ end
43
+ end
44
+ end
45
+
46
+ # Create an instance of the class from a hash
47
+ # @param args [Hash] Hash containing all the required attributes
48
+ # @return [Line::Bot::V2::MessagingApi::DiscountPercentagePriceInfoRequest] Instance of the class
49
+ def self.create(args) # steep:ignore
50
+ symbolized_args = Line::Bot::V2::Utils.deep_symbolize(args)
51
+ return new(**symbolized_args) # steep:ignore
52
+ end
53
+
54
+ # @param other [Object] Object to compare
55
+ # @return [Boolean] true if the objects are equal, false otherwise
56
+ def ==(other)
57
+ return false unless self.class == other.class
58
+
59
+ instance_variables.all? do |var|
60
+ instance_variable_get(var) == other.instance_variable_get(var)
61
+ end
62
+ end
63
+
64
+ # @return [Integer] Hash code of the object
65
+ def hash
66
+ [self.class, *instance_variables.map { |var| instance_variable_get(var) }].hash
67
+ end
68
+ end
69
+ end
70
+ end
71
+ end
72
+ end
@@ -0,0 +1,72 @@
1
+ # LINE Messaging API
2
+ # This document describes LINE Messaging API.
3
+ #
4
+ # The version of the OpenAPI document: 0.0.1
5
+ #
6
+ # NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
7
+ # https://openapi-generator.tech
8
+ # Do not edit the class manually.
9
+
10
+ require_relative './discount_price_info_response'
11
+
12
+ module Line
13
+ module Bot
14
+ module V2
15
+ module MessagingApi
16
+ class DiscountPercentagePriceInfoResponse < DiscountPriceInfoResponse
17
+ # @!attribute [r] type
18
+ # @return [String]
19
+ attr_reader :type
20
+ # @!attribute [rw] percentage
21
+ # @return [Integer,nil]
22
+ attr_accessor :percentage
23
+
24
+ # @param percentage [Integer,nil]
25
+ def initialize(
26
+ percentage: nil,
27
+ **dynamic_attributes
28
+ )
29
+ @type = "percentage"
30
+
31
+ @percentage = percentage
32
+
33
+ dynamic_attributes.each do |key, value|
34
+ self.class.attr_accessor key
35
+
36
+ if value.is_a?(Hash)
37
+ struct_klass = Struct.new(*value.keys.map(&:to_sym))
38
+ struct_values = value.map { |_k, v| v.is_a?(Hash) ? Line::Bot::V2::Utils.hash_to_struct(v) : v }
39
+ instance_variable_set("@#{key}", struct_klass.new(*struct_values))
40
+ else
41
+ instance_variable_set("@#{key}", value)
42
+ end
43
+ end
44
+ end
45
+
46
+ # Create an instance of the class from a hash
47
+ # @param args [Hash] Hash containing all the required attributes
48
+ # @return [Line::Bot::V2::MessagingApi::DiscountPercentagePriceInfoResponse] Instance of the class
49
+ def self.create(args) # steep:ignore
50
+ symbolized_args = Line::Bot::V2::Utils.deep_symbolize(args)
51
+ return new(**symbolized_args) # steep:ignore
52
+ end
53
+
54
+ # @param other [Object] Object to compare
55
+ # @return [Boolean] true if the objects are equal, false otherwise
56
+ def ==(other)
57
+ return false unless self.class == other.class
58
+
59
+ instance_variables.all? do |var|
60
+ instance_variable_get(var) == other.instance_variable_get(var)
61
+ end
62
+ end
63
+
64
+ # @return [Integer] Hash code of the object
65
+ def hash
66
+ [self.class, *instance_variables.map { |var| instance_variable_get(var) }].hash
67
+ end
68
+ end
69
+ end
70
+ end
71
+ end
72
+ end
@@ -0,0 +1,78 @@
1
+ # LINE Messaging API
2
+ # This document describes LINE Messaging API.
3
+ #
4
+ # The version of the OpenAPI document: 0.0.1
5
+ #
6
+ # NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
7
+ # https://openapi-generator.tech
8
+ # Do not edit the class manually.
9
+
10
+ module Line
11
+ module Bot
12
+ module V2
13
+ module MessagingApi
14
+ class DiscountPriceInfoRequest
15
+ # @!attribute [rw] type
16
+ # @return [String]
17
+ attr_accessor :type
18
+
19
+ # @param type [String]
20
+ def initialize(
21
+ type:,
22
+ **dynamic_attributes
23
+ )
24
+
25
+ @type = type
26
+
27
+ dynamic_attributes.each do |key, value|
28
+ self.class.attr_accessor key
29
+
30
+ if value.is_a?(Hash)
31
+ struct_klass = Struct.new(*value.keys.map(&:to_sym))
32
+ struct_values = value.map { |_k, v| v.is_a?(Hash) ? Line::Bot::V2::Utils.hash_to_struct(v) : v }
33
+ instance_variable_set("@#{key}", struct_klass.new(*struct_values))
34
+ else
35
+ instance_variable_set("@#{key}", value)
36
+ end
37
+ end
38
+ end
39
+
40
+ # Create an instance of the class from a hash
41
+ # @param args [Hash] Hash containing all the required attributes
42
+ # @return [Line::Bot::V2::MessagingApi::DiscountPriceInfoRequest] Instance of the class
43
+ def self.create(args) # steep:ignore
44
+ symbolized_args = Line::Bot::V2::Utils.deep_symbolize(args)
45
+ klass = detect_class(type: symbolized_args[:type])
46
+ return klass.new(**symbolized_args) if klass # steep:ignore
47
+ return new(**symbolized_args) # steep:ignore
48
+ end
49
+
50
+ # @param other [Object] Object to compare
51
+ # @return [Boolean] true if the objects are equal, false otherwise
52
+ def ==(other)
53
+ return false unless self.class == other.class
54
+
55
+ instance_variables.all? do |var|
56
+ instance_variable_get(var) == other.instance_variable_get(var)
57
+ end
58
+ end
59
+
60
+ # @return [Integer] Hash code of the object
61
+ def hash
62
+ [self.class, *instance_variables.map { |var| instance_variable_get(var) }].hash
63
+ end
64
+
65
+ private
66
+
67
+ def self.detect_class(type:)
68
+ {
69
+ explicit: Line::Bot::V2::MessagingApi::DiscountExplicitPriceInfoRequest,
70
+ fixed: Line::Bot::V2::MessagingApi::DiscountFixedPriceInfoRequest,
71
+ percentage: Line::Bot::V2::MessagingApi::DiscountPercentagePriceInfoRequest,
72
+ }[type.to_sym]
73
+ end
74
+ end
75
+ end
76
+ end
77
+ end
78
+ end
@@ -0,0 +1,78 @@
1
+ # LINE Messaging API
2
+ # This document describes LINE Messaging API.
3
+ #
4
+ # The version of the OpenAPI document: 0.0.1
5
+ #
6
+ # NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
7
+ # https://openapi-generator.tech
8
+ # Do not edit the class manually.
9
+
10
+ module Line
11
+ module Bot
12
+ module V2
13
+ module MessagingApi
14
+ class DiscountPriceInfoResponse
15
+ # @!attribute [rw] type
16
+ # @return [String]
17
+ attr_accessor :type
18
+
19
+ # @param type [String]
20
+ def initialize(
21
+ type:,
22
+ **dynamic_attributes
23
+ )
24
+
25
+ @type = type
26
+
27
+ dynamic_attributes.each do |key, value|
28
+ self.class.attr_accessor key
29
+
30
+ if value.is_a?(Hash)
31
+ struct_klass = Struct.new(*value.keys.map(&:to_sym))
32
+ struct_values = value.map { |_k, v| v.is_a?(Hash) ? Line::Bot::V2::Utils.hash_to_struct(v) : v }
33
+ instance_variable_set("@#{key}", struct_klass.new(*struct_values))
34
+ else
35
+ instance_variable_set("@#{key}", value)
36
+ end
37
+ end
38
+ end
39
+
40
+ # Create an instance of the class from a hash
41
+ # @param args [Hash] Hash containing all the required attributes
42
+ # @return [Line::Bot::V2::MessagingApi::DiscountPriceInfoResponse] Instance of the class
43
+ def self.create(args) # steep:ignore
44
+ symbolized_args = Line::Bot::V2::Utils.deep_symbolize(args)
45
+ klass = detect_class(type: symbolized_args[:type])
46
+ return klass.new(**symbolized_args) if klass # steep:ignore
47
+ return new(**symbolized_args) # steep:ignore
48
+ end
49
+
50
+ # @param other [Object] Object to compare
51
+ # @return [Boolean] true if the objects are equal, false otherwise
52
+ def ==(other)
53
+ return false unless self.class == other.class
54
+
55
+ instance_variables.all? do |var|
56
+ instance_variable_get(var) == other.instance_variable_get(var)
57
+ end
58
+ end
59
+
60
+ # @return [Integer] Hash code of the object
61
+ def hash
62
+ [self.class, *instance_variables.map { |var| instance_variable_get(var) }].hash
63
+ end
64
+
65
+ private
66
+
67
+ def self.detect_class(type:)
68
+ {
69
+ explicit: Line::Bot::V2::MessagingApi::DiscountExplicitPriceInfoResponse,
70
+ fixed: Line::Bot::V2::MessagingApi::DiscountFixedPriceInfoResponse,
71
+ percentage: Line::Bot::V2::MessagingApi::DiscountPercentagePriceInfoResponse,
72
+ }[type.to_sym]
73
+ end
74
+ end
75
+ end
76
+ end
77
+ end
78
+ end
@@ -0,0 +1,78 @@
1
+ # LINE Messaging API
2
+ # This document describes LINE Messaging API.
3
+ #
4
+ # The version of the OpenAPI document: 0.0.1
5
+ #
6
+ # NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
7
+ # https://openapi-generator.tech
8
+ # Do not edit the class manually.
9
+
10
+ require_relative './acquisition_condition_request'
11
+
12
+ module Line
13
+ module Bot
14
+ module V2
15
+ module MessagingApi
16
+ class LotteryAcquisitionConditionRequest < AcquisitionConditionRequest
17
+ # @!attribute [r] type
18
+ # @return [String] Determines how the coupon is distributed or used.
19
+ attr_reader :type
20
+ # @!attribute [rw] lottery_probability
21
+ # @return [Integer] Probability (1-99) of winning the coupon in lottery-type campaigns.
22
+ attr_accessor :lottery_probability
23
+ # @!attribute [rw] max_acquire_count
24
+ # @return [Integer] Maximum number of coupons that can be issued in total. Use -1 to indicate no limit
25
+ attr_accessor :max_acquire_count
26
+
27
+ # @param lottery_probability [Integer] Probability (1-99) of winning the coupon in lottery-type campaigns.
28
+ # @param max_acquire_count [Integer] Maximum number of coupons that can be issued in total. Use -1 to indicate no limit
29
+ def initialize(
30
+ lottery_probability:,
31
+ max_acquire_count:,
32
+ **dynamic_attributes
33
+ )
34
+ @type = "lottery"
35
+
36
+ @lottery_probability = lottery_probability
37
+ @max_acquire_count = max_acquire_count
38
+
39
+ dynamic_attributes.each do |key, value|
40
+ self.class.attr_accessor key
41
+
42
+ if value.is_a?(Hash)
43
+ struct_klass = Struct.new(*value.keys.map(&:to_sym))
44
+ struct_values = value.map { |_k, v| v.is_a?(Hash) ? Line::Bot::V2::Utils.hash_to_struct(v) : v }
45
+ instance_variable_set("@#{key}", struct_klass.new(*struct_values))
46
+ else
47
+ instance_variable_set("@#{key}", value)
48
+ end
49
+ end
50
+ end
51
+
52
+ # Create an instance of the class from a hash
53
+ # @param args [Hash] Hash containing all the required attributes
54
+ # @return [Line::Bot::V2::MessagingApi::LotteryAcquisitionConditionRequest] Instance of the class
55
+ def self.create(args) # steep:ignore
56
+ symbolized_args = Line::Bot::V2::Utils.deep_symbolize(args)
57
+ return new(**symbolized_args) # steep:ignore
58
+ end
59
+
60
+ # @param other [Object] Object to compare
61
+ # @return [Boolean] true if the objects are equal, false otherwise
62
+ def ==(other)
63
+ return false unless self.class == other.class
64
+
65
+ instance_variables.all? do |var|
66
+ instance_variable_get(var) == other.instance_variable_get(var)
67
+ end
68
+ end
69
+
70
+ # @return [Integer] Hash code of the object
71
+ def hash
72
+ [self.class, *instance_variables.map { |var| instance_variable_get(var) }].hash
73
+ end
74
+ end
75
+ end
76
+ end
77
+ end
78
+ end
@@ -0,0 +1,78 @@
1
+ # LINE Messaging API
2
+ # This document describes LINE Messaging API.
3
+ #
4
+ # The version of the OpenAPI document: 0.0.1
5
+ #
6
+ # NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
7
+ # https://openapi-generator.tech
8
+ # Do not edit the class manually.
9
+
10
+ require_relative './acquisition_condition_response'
11
+
12
+ module Line
13
+ module Bot
14
+ module V2
15
+ module MessagingApi
16
+ class LotteryAcquisitionConditionResponse < AcquisitionConditionResponse
17
+ # @!attribute [r] type
18
+ # @return [String] Determines how the coupon is distributed or used.
19
+ attr_reader :type
20
+ # @!attribute [rw] lottery_probability
21
+ # @return [Integer,nil]
22
+ attr_accessor :lottery_probability
23
+ # @!attribute [rw] max_acquire_count
24
+ # @return [Integer,nil]
25
+ attr_accessor :max_acquire_count
26
+
27
+ # @param lottery_probability [Integer,nil]
28
+ # @param max_acquire_count [Integer,nil]
29
+ def initialize(
30
+ lottery_probability: nil,
31
+ max_acquire_count: nil,
32
+ **dynamic_attributes
33
+ )
34
+ @type = "lottery"
35
+
36
+ @lottery_probability = lottery_probability
37
+ @max_acquire_count = max_acquire_count
38
+
39
+ dynamic_attributes.each do |key, value|
40
+ self.class.attr_accessor key
41
+
42
+ if value.is_a?(Hash)
43
+ struct_klass = Struct.new(*value.keys.map(&:to_sym))
44
+ struct_values = value.map { |_k, v| v.is_a?(Hash) ? Line::Bot::V2::Utils.hash_to_struct(v) : v }
45
+ instance_variable_set("@#{key}", struct_klass.new(*struct_values))
46
+ else
47
+ instance_variable_set("@#{key}", value)
48
+ end
49
+ end
50
+ end
51
+
52
+ # Create an instance of the class from a hash
53
+ # @param args [Hash] Hash containing all the required attributes
54
+ # @return [Line::Bot::V2::MessagingApi::LotteryAcquisitionConditionResponse] Instance of the class
55
+ def self.create(args) # steep:ignore
56
+ symbolized_args = Line::Bot::V2::Utils.deep_symbolize(args)
57
+ return new(**symbolized_args) # steep:ignore
58
+ end
59
+
60
+ # @param other [Object] Object to compare
61
+ # @return [Boolean] true if the objects are equal, false otherwise
62
+ def ==(other)
63
+ return false unless self.class == other.class
64
+
65
+ instance_variables.all? do |var|
66
+ instance_variable_get(var) == other.instance_variable_get(var)
67
+ end
68
+ end
69
+
70
+ # @return [Integer] Hash code of the object
71
+ def hash
72
+ [self.class, *instance_variables.map { |var| instance_variable_get(var) }].hash
73
+ end
74
+ end
75
+ end
76
+ end
77
+ end
78
+ end
@@ -80,6 +80,7 @@ module Line
80
80
  def self.detect_class(type:)
81
81
  {
82
82
  audio: Line::Bot::V2::MessagingApi::AudioMessage,
83
+ coupon: Line::Bot::V2::MessagingApi::CouponMessage,
83
84
  flex: Line::Bot::V2::MessagingApi::FlexMessage,
84
85
  image: Line::Bot::V2::MessagingApi::ImageMessage,
85
86
  imagemap: Line::Bot::V2::MessagingApi::ImagemapMessage,
@@ -0,0 +1,79 @@
1
+ # LINE Messaging API
2
+ # This document describes LINE Messaging API.
3
+ #
4
+ # The version of the OpenAPI document: 0.0.1
5
+ #
6
+ # NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
7
+ # https://openapi-generator.tech
8
+ # Do not edit the class manually.
9
+
10
+ module Line
11
+ module Bot
12
+ module V2
13
+ module MessagingApi
14
+ # Paginated response object containing a list of coupons.
15
+ class MessagingApiPagerCouponListResponse
16
+ # @!attribute [rw] items
17
+ # @return [Array[CouponListResponse]] List of coupon summary objects.
18
+ attr_accessor :items
19
+ # @!attribute [rw] _next
20
+ # @return [String,nil] Token for fetching the next page of results.
21
+ attr_accessor :_next
22
+
23
+ # @param items [Array[CouponListResponse, Hash[Symbol, untyped]]] List of coupon summary objects.
24
+ # @param _next [String,nil] Token for fetching the next page of results.
25
+ def initialize(
26
+ items:,
27
+ _next: nil,
28
+ **dynamic_attributes
29
+ )
30
+
31
+ @items = items.map do |item|
32
+ if item.is_a?(Hash)
33
+ Line::Bot::V2::MessagingApi::CouponListResponse.create(**item) # steep:ignore InsufficientKeywordArguments
34
+ else
35
+ item
36
+ end
37
+ end
38
+ @_next = _next
39
+
40
+ dynamic_attributes.each do |key, value|
41
+ self.class.attr_accessor key
42
+
43
+ if value.is_a?(Hash)
44
+ struct_klass = Struct.new(*value.keys.map(&:to_sym))
45
+ struct_values = value.map { |_k, v| v.is_a?(Hash) ? Line::Bot::V2::Utils.hash_to_struct(v) : v }
46
+ instance_variable_set("@#{key}", struct_klass.new(*struct_values))
47
+ else
48
+ instance_variable_set("@#{key}", value)
49
+ end
50
+ end
51
+ end
52
+
53
+ # Create an instance of the class from a hash
54
+ # @param args [Hash] Hash containing all the required attributes
55
+ # @return [Line::Bot::V2::MessagingApi::MessagingApiPagerCouponListResponse] Instance of the class
56
+ def self.create(args) # steep:ignore
57
+ symbolized_args = Line::Bot::V2::Utils.deep_symbolize(args)
58
+ return new(**symbolized_args) # steep:ignore
59
+ end
60
+
61
+ # @param other [Object] Object to compare
62
+ # @return [Boolean] true if the objects are equal, false otherwise
63
+ def ==(other)
64
+ return false unless self.class == other.class
65
+
66
+ instance_variables.all? do |var|
67
+ instance_variable_get(var) == other.instance_variable_get(var)
68
+ end
69
+ end
70
+
71
+ # @return [Integer] Hash code of the object
72
+ def hash
73
+ [self.class, *instance_variables.map { |var| instance_variable_get(var) }].hash
74
+ end
75
+ end
76
+ end
77
+ end
78
+ end
79
+ end
@@ -0,0 +1,66 @@
1
+ # LINE Messaging API
2
+ # This document describes LINE Messaging API.
3
+ #
4
+ # The version of the OpenAPI document: 0.0.1
5
+ #
6
+ # NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
7
+ # https://openapi-generator.tech
8
+ # Do not edit the class manually.
9
+
10
+ require_relative './acquisition_condition_request'
11
+
12
+ module Line
13
+ module Bot
14
+ module V2
15
+ module MessagingApi
16
+ class NormalAcquisitionConditionRequest < AcquisitionConditionRequest
17
+ # @!attribute [r] type
18
+ # @return [String] Determines how the coupon is distributed or used.
19
+ attr_reader :type
20
+
21
+ def initialize(
22
+ **dynamic_attributes
23
+ )
24
+ @type = "normal"
25
+
26
+
27
+ dynamic_attributes.each do |key, value|
28
+ self.class.attr_accessor key
29
+
30
+ if value.is_a?(Hash)
31
+ struct_klass = Struct.new(*value.keys.map(&:to_sym))
32
+ struct_values = value.map { |_k, v| v.is_a?(Hash) ? Line::Bot::V2::Utils.hash_to_struct(v) : v }
33
+ instance_variable_set("@#{key}", struct_klass.new(*struct_values))
34
+ else
35
+ instance_variable_set("@#{key}", value)
36
+ end
37
+ end
38
+ end
39
+
40
+ # Create an instance of the class from a hash
41
+ # @param args [Hash] Hash containing all the required attributes
42
+ # @return [Line::Bot::V2::MessagingApi::NormalAcquisitionConditionRequest] Instance of the class
43
+ def self.create(args) # steep:ignore
44
+ symbolized_args = Line::Bot::V2::Utils.deep_symbolize(args)
45
+ return new(**symbolized_args) # steep:ignore
46
+ end
47
+
48
+ # @param other [Object] Object to compare
49
+ # @return [Boolean] true if the objects are equal, false otherwise
50
+ def ==(other)
51
+ return false unless self.class == other.class
52
+
53
+ instance_variables.all? do |var|
54
+ instance_variable_get(var) == other.instance_variable_get(var)
55
+ end
56
+ end
57
+
58
+ # @return [Integer] Hash code of the object
59
+ def hash
60
+ [self.class, *instance_variables.map { |var| instance_variable_get(var) }].hash
61
+ end
62
+ end
63
+ end
64
+ end
65
+ end
66
+ end