line-bot-api 1.16.0 → 1.17.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.
- checksums.yaml +4 -4
- data/lib/line/bot/api.rb +1 -0
- data/lib/line/bot/api/version.rb +1 -1
- data/lib/line/bot/client.rb +203 -0
- data/lib/line/bot/httpclient.rb +5 -0
- metadata +4 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: e837c0acd52ebd33855c78b8708ad54ab2837dc76576bb386bbe4861eeae20e3
|
4
|
+
data.tar.gz: 9e175c41953a8603f0a1b0e35285160fe2ed63cf028296a94272a6d65dac4a9f
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 303b7cd0c88d07dd31fa5d4ee3d0784ba7999fb4677bd9bf3a801adad54d8926e0697ae87dc0a457593849fba0d30e2ddbeb4eba647adac5974115ad81a56b58
|
7
|
+
data.tar.gz: 1ddbcb86b9737d3d7b106489768fa9f1af38608a5eda8d0c59dd7713da4ba6a41e675677b99e26f8f6060be09e24df36a3e24bea721b2faad9d44e4ef38b144f
|
data/lib/line/bot/api.rb
CHANGED
@@ -19,6 +19,7 @@ module Line
|
|
19
19
|
module API
|
20
20
|
DEFAULT_ENDPOINT = "https://api.line.me/v2"
|
21
21
|
DEFAULT_BLOB_ENDPOINT = "https://api-data.line.me/v2"
|
22
|
+
DEFAULT_LIFF_ENDPOINT = "https://api.line.me/liff/v1"
|
22
23
|
|
23
24
|
DEFAULT_HEADERS = {
|
24
25
|
'Content-Type' => 'application/json; charset=UTF-8',
|
data/lib/line/bot/api/version.rb
CHANGED
data/lib/line/bot/client.rb
CHANGED
@@ -66,6 +66,10 @@ module Line
|
|
66
66
|
end
|
67
67
|
end
|
68
68
|
|
69
|
+
def liff_endpoint
|
70
|
+
@liff_endpoint ||= API::DEFAULT_LIFF_ENDPOINT
|
71
|
+
end
|
72
|
+
|
69
73
|
# @return [Hash]
|
70
74
|
def credentials
|
71
75
|
{
|
@@ -631,6 +635,192 @@ module Line
|
|
631
635
|
get(endpoint, endpoint_path, credentials)
|
632
636
|
end
|
633
637
|
|
638
|
+
# Gets a bot's basic information.
|
639
|
+
#
|
640
|
+
# @return [Net::HTTPResponse]
|
641
|
+
def get_bot_info
|
642
|
+
channel_token_required
|
643
|
+
|
644
|
+
endpoint_path = '/bot/info'
|
645
|
+
get(endpoint, endpoint_path, credentials)
|
646
|
+
end
|
647
|
+
|
648
|
+
def get_liff_apps
|
649
|
+
channel_token_required
|
650
|
+
|
651
|
+
endpoint_path = '/apps'
|
652
|
+
get(liff_endpoint, endpoint_path, credentials)
|
653
|
+
end
|
654
|
+
|
655
|
+
def create_liff_app(app)
|
656
|
+
channel_token_required
|
657
|
+
|
658
|
+
endpoint_path = '/apps'
|
659
|
+
post(liff_endpoint, endpoint_path, app.to_json, credentials)
|
660
|
+
end
|
661
|
+
|
662
|
+
def update_liff_app(liff_id, app)
|
663
|
+
channel_token_required
|
664
|
+
|
665
|
+
endpoint_path = "/apps/#{liff_id}"
|
666
|
+
put(liff_endpoint, endpoint_path, app.to_json, credentials)
|
667
|
+
end
|
668
|
+
|
669
|
+
def delete_liff_app(liff_id)
|
670
|
+
channel_token_required
|
671
|
+
|
672
|
+
endpoint_path = "/apps/#{liff_id}"
|
673
|
+
delete(liff_endpoint, endpoint_path, credentials)
|
674
|
+
end
|
675
|
+
|
676
|
+
# Create an audience group by uploading user_ids
|
677
|
+
#
|
678
|
+
# Parameters are described here.
|
679
|
+
# https://developers.line.biz/en/reference/messaging-api/#create-upload-audience-group
|
680
|
+
#
|
681
|
+
# @param params [Hash] options
|
682
|
+
#
|
683
|
+
# @return [Net::HTTPResponse] This response includes an audience_group_id.
|
684
|
+
def create_user_id_audience(params)
|
685
|
+
channel_token_required
|
686
|
+
|
687
|
+
endpoint_path = '/bot/audienceGroup/upload'
|
688
|
+
post(endpoint, endpoint_path, params.to_json, credentials)
|
689
|
+
end
|
690
|
+
|
691
|
+
# Update an audience group
|
692
|
+
#
|
693
|
+
# Parameters are described here.
|
694
|
+
# https://developers.line.biz/en/reference/messaging-api/#update-upload-audience-group
|
695
|
+
#
|
696
|
+
# @param params [Hash] options
|
697
|
+
#
|
698
|
+
# @return [Net::HTTPResponse] This response includes an audience_group_id.
|
699
|
+
def update_user_id_audience(params)
|
700
|
+
channel_token_required
|
701
|
+
|
702
|
+
endpoint_path = '/bot/audienceGroup/upload'
|
703
|
+
put(endpoint, endpoint_path, params.to_json, credentials)
|
704
|
+
end
|
705
|
+
|
706
|
+
# Create an audience group of users that clicked a URL in a message sent in the past
|
707
|
+
#
|
708
|
+
# Parameters are described here.
|
709
|
+
# https://developers.line.biz/en/reference/messaging-api/#create-click-audience-group
|
710
|
+
#
|
711
|
+
# @param params [Hash] options
|
712
|
+
#
|
713
|
+
# @return [Net::HTTPResponse] This response includes an audience_group_id.
|
714
|
+
def create_click_audience(params)
|
715
|
+
channel_token_required
|
716
|
+
|
717
|
+
endpoint_path = '/bot/audienceGroup/click'
|
718
|
+
post(endpoint, endpoint_path, params.to_json, credentials)
|
719
|
+
end
|
720
|
+
|
721
|
+
# Create an audience group of users that opened a message sent in the past
|
722
|
+
#
|
723
|
+
# Parameters are described here.
|
724
|
+
# https://developers.line.biz/en/reference/messaging-api/#create-imp-audience-group
|
725
|
+
#
|
726
|
+
# @param params [Hash] options
|
727
|
+
#
|
728
|
+
# @return [Net::HTTPResponse] This response includes an audience_group_id.
|
729
|
+
def create_impression_audience(params)
|
730
|
+
channel_token_required
|
731
|
+
|
732
|
+
endpoint_path = '/bot/audienceGroup/imp'
|
733
|
+
post(endpoint, endpoint_path, params.to_json, credentials)
|
734
|
+
end
|
735
|
+
|
736
|
+
# Rename an existing audience group
|
737
|
+
#
|
738
|
+
# @param audience_group_id [Integer]
|
739
|
+
# @param description [String]
|
740
|
+
#
|
741
|
+
# @return [Net::HTTPResponse]
|
742
|
+
def rename_audience(audience_group_id, description)
|
743
|
+
channel_token_required
|
744
|
+
|
745
|
+
endpoint_path = "/bot/audienceGroup/#{audience_group_id}/updateDescription"
|
746
|
+
body = {description: description}
|
747
|
+
put(endpoint, endpoint_path, body.to_json, credentials)
|
748
|
+
end
|
749
|
+
|
750
|
+
# Delete an existing audience group
|
751
|
+
#
|
752
|
+
# Parameters are described here.
|
753
|
+
# https://developers.line.biz/en/reference/messaging-api/#delete-audience-group
|
754
|
+
#
|
755
|
+
# @param audience_group_id [Integer]
|
756
|
+
#
|
757
|
+
# @return [Net::HTTPResponse]
|
758
|
+
def delete_audience(audience_group_id)
|
759
|
+
channel_token_required
|
760
|
+
|
761
|
+
endpoint_path = "/bot/audienceGroup/#{audience_group_id}"
|
762
|
+
delete(endpoint, endpoint_path, credentials)
|
763
|
+
end
|
764
|
+
|
765
|
+
# Get audience group data
|
766
|
+
#
|
767
|
+
# Parameters are described here.
|
768
|
+
# https://developers.line.biz/en/reference/messaging-api/#get-audience-group
|
769
|
+
#
|
770
|
+
# @param audience_group_id [Integer]
|
771
|
+
#
|
772
|
+
# @return [Net::HTTPResponse]
|
773
|
+
def get_audience(audience_group_id)
|
774
|
+
channel_token_required
|
775
|
+
|
776
|
+
endpoint_path = "/bot/audienceGroup/#{audience_group_id}"
|
777
|
+
get(endpoint, endpoint_path, credentials)
|
778
|
+
end
|
779
|
+
|
780
|
+
# Get data for more than one audience group
|
781
|
+
#
|
782
|
+
# Parameters are described here.
|
783
|
+
# https://developers.line.biz/en/reference/messaging-api/#get-audience-groups
|
784
|
+
#
|
785
|
+
# @param params [Hash] key name `page` is required
|
786
|
+
#
|
787
|
+
# @return [Net::HTTPResponse]
|
788
|
+
def get_audiences(params)
|
789
|
+
channel_token_required
|
790
|
+
|
791
|
+
endpoint_path = "/bot/audienceGroup/list?" + URI.encode_www_form(params)
|
792
|
+
get(endpoint, endpoint_path, credentials)
|
793
|
+
end
|
794
|
+
|
795
|
+
# Get the authority level of the audience
|
796
|
+
#
|
797
|
+
# Parameters are described here.
|
798
|
+
# https://developers.line.biz/en/reference/messaging-api/#get-authority-level
|
799
|
+
#
|
800
|
+
# @return [Net::HTTPResponse]
|
801
|
+
def get_audience_authority_level
|
802
|
+
channel_token_required
|
803
|
+
|
804
|
+
endpoint_path = "/bot/audienceGroup/authorityLevel"
|
805
|
+
get(endpoint, endpoint_path, credentials)
|
806
|
+
end
|
807
|
+
|
808
|
+
# Change the authority level of the audience
|
809
|
+
#
|
810
|
+
# Parameters are described here.
|
811
|
+
# https://developers.line.biz/en/reference/messaging-api/#change-authority-level
|
812
|
+
#
|
813
|
+
# @param authority_level [String] value must be `PUBLIC` or `PRIVATE`
|
814
|
+
#
|
815
|
+
# @return [Net::HTTPResponse]
|
816
|
+
def update_audience_authority_level(authority_level)
|
817
|
+
channel_token_required
|
818
|
+
|
819
|
+
endpoint_path = "/bot/audienceGroup/authorityLevel"
|
820
|
+
body = {authorityLevel: authority_level}
|
821
|
+
put(endpoint, endpoint_path, body.to_json, credentials)
|
822
|
+
end
|
823
|
+
|
634
824
|
# Fetch data, get content of specified URL.
|
635
825
|
#
|
636
826
|
# @param endpoint_base [String]
|
@@ -656,6 +846,19 @@ module Line
|
|
656
846
|
httpclient.post(endpoint_base + endpoint_path, payload, headers)
|
657
847
|
end
|
658
848
|
|
849
|
+
# Put data, get content of specified URL.
|
850
|
+
#
|
851
|
+
# @param endpoint_base [String]
|
852
|
+
# @param endpoint_path [String]
|
853
|
+
# @param payload [String or NilClass]
|
854
|
+
# @param headers [Hash]
|
855
|
+
#
|
856
|
+
# @return [Net::HTTPResponse]
|
857
|
+
def put(endpoint_base, endpoint_path, payload = nil, headers = {})
|
858
|
+
headers = API::DEFAULT_HEADERS.merge(headers)
|
859
|
+
httpclient.put(endpoint_base + endpoint_path, payload, headers)
|
860
|
+
end
|
861
|
+
|
659
862
|
# Delete content of specified URL.
|
660
863
|
#
|
661
864
|
# @param endpoint_base [String]
|
data/lib/line/bot/httpclient.rb
CHANGED
@@ -57,6 +57,11 @@ module Line
|
|
57
57
|
http(uri).post(uri.request_uri, payload, header)
|
58
58
|
end
|
59
59
|
|
60
|
+
def put(url, payload, header = {})
|
61
|
+
uri = URI(url)
|
62
|
+
http(uri).put(uri.request_uri, payload, header)
|
63
|
+
end
|
64
|
+
|
60
65
|
def delete(url, header = {})
|
61
66
|
uri = URI(url)
|
62
67
|
http(uri).delete(uri.request_uri, header)
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: line-bot-api
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
4
|
+
version: 1.17.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- LINE Corporation
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2020-
|
11
|
+
date: 2020-12-18 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: addressable
|
@@ -121,7 +121,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
121
121
|
- !ruby/object:Gem::Version
|
122
122
|
version: '0'
|
123
123
|
requirements: []
|
124
|
-
|
124
|
+
rubyforge_project:
|
125
|
+
rubygems_version: 2.7.6
|
125
126
|
signing_key:
|
126
127
|
specification_version: 4
|
127
128
|
summary: SDK of the LINE Messaging API
|