Skip to content

Commit 09ad104

Browse files
github-actions[bot]github-actions
andauthored
Add includesOwnedAudienceGroups Parameter to Audience API (#535)
line/line-openapi#105 # Enhancement to Shared Audiences API This PR introduces a new query parameter `includesOwnedAudienceGroups` to the `/v2/bot/audienceGroup/shared/list` endpoint in the Business Manager API. This enhancement allows users to specify whether to include audience groups owned by the user in the response. ## Changes Made - Added the `includesOwnedAudienceGroups` parameter to the API endpoint. - **Type**: Boolean - **Default**: false - **Description**: - `true`: Include audience groups owned by the LINE Official Account Manager. - `false`: Respond only with audience groups shared by Business Manager. - Removed the `/v2/bot/audienceGroup/{audienceGroupId}/activate` and `/v2/bot/audienceGroup/authorityLevel` endpoints. ## Purpose This update provides more flexibility in retrieving audience groups by allowing users to filter based on ownership. It is especially useful for users who manage both shared and owned audience groups. The removal of certain endpoints is part of a cleanup effort to streamline the API. Please review the changes and let me know if there are any questions or further modifications needed. ## Documents and Reference - [Get List of Shared Audiences](https://developers.line.biz/en/reference/messaging-api/#get-shared-audience-list) - [Removed Endpoints](https://developers.line.biz/en/news/2025/03/26/cross-targeting-closing/) For more information, please refer to the links provided above. Co-authored-by: github-actions <github-actions@github.com>
1 parent 09a08e5 commit 09ad104

File tree

12 files changed

+17
-460
lines changed

12 files changed

+17
-460
lines changed

lib/line/bot/v2/manage_audience/.openapi-generator/FILES

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,6 @@ model/adaccount.rb
66
model/add_audience_to_audience_group_request.rb
77
model/audience.rb
88
model/audience_group.rb
9-
model/audience_group_authority_level.rb
109
model/audience_group_create_route.rb
1110
model/audience_group_failed_type.rb
1211
model/audience_group_job.rb
@@ -26,9 +25,7 @@ model/detailed_owner.rb
2625
model/error_detail.rb
2726
model/error_response.rb
2827
model/get_audience_data_response.rb
29-
model/get_audience_group_authority_level_response.rb
3028
model/get_audience_groups_response.rb
3129
model/get_shared_audience_data_response.rb
3230
model/get_shared_audience_groups_response.rb
33-
model/update_audience_group_authority_level_request.rb
3431
model/update_audience_group_description_request.rb

lib/line/bot/v2/manage_audience/api/manage_audience_client.rb

Lines changed: 10 additions & 134 deletions
Original file line numberDiff line numberDiff line change
@@ -45,50 +45,6 @@ def initialize(base_url: nil, channel_access_token:, http_options: {})
4545
)
4646
end
4747

48-
# Activate audience
49-
# This requests to <code>PUT https://api.line.me/v2/bot/audienceGroup/{audienceGroupId}/activate</code>
50-
#
51-
# @param audience_group_id [Integer] The audience ID.
52-
# @see https://developers.line.biz/en/reference/messaging-api/#activate-audience-group
53-
# @return [response body, response status code, and response headers]
54-
# @return [Array(String(nilable), Integer, Hash{String => String})] when HTTP status code is 202
55-
def activate_audience_group_with_http_info(
56-
audience_group_id:
57-
)
58-
path = "/v2/bot/audienceGroup/{audienceGroupId}/activate"
59-
.gsub(/{audienceGroupId}/, audience_group_id.to_s)
60-
61-
response = @http_client.put(
62-
path: path,
63-
)
64-
65-
response_body = case response.code.to_i
66-
when 202
67-
response.body
68-
else
69-
response.body
70-
end
71-
72-
[response_body, response.code.to_i, response.each_header.to_h]
73-
end
74-
75-
# Activate audience
76-
# This requests to <code>PUT https://api.line.me/v2/bot/audienceGroup/{audienceGroupId}/activate</code>
77-
# When you want to get HTTP status code or response headers, use {#activate_audience_group_with_http_info} instead of this.
78-
#
79-
# @param audience_group_id [Integer] The audience ID.
80-
# @see https://developers.line.biz/en/reference/messaging-api/#activate-audience-group
81-
# @return [String, nil] when HTTP status code is 202
82-
def activate_audience_group(
83-
audience_group_id:
84-
)
85-
response_body, _status_code, _headers = activate_audience_group_with_http_info(
86-
audience_group_id: audience_group_id
87-
)
88-
89-
response_body
90-
end
91-
9248
# Add user IDs or Identifiers for Advertisers (IFAs) to an audience for uploading user IDs (by JSON)
9349
# This requests to <code>PUT https://api.line.me/v2/bot/audienceGroup/upload</code>
9450
#
@@ -377,48 +333,6 @@ def get_audience_data(
377333
response_body
378334
end
379335

380-
# Get the authority level of the audience
381-
# This requests to <code>GET https://api.line.me/v2/bot/audienceGroup/authorityLevel</code>
382-
#
383-
# @see https://developers.line.biz/en/reference/messaging-api/#get-authority-level
384-
# @return [response body, response status code, and response headers]
385-
# @return [Array(Line::Bot::V2::ManageAudience::GetAudienceGroupAuthorityLevelResponse, Integer, Hash{String => String})] when HTTP status code is 200
386-
def get_audience_group_authority_level_with_http_info(
387-
)
388-
path = "/v2/bot/audienceGroup/authorityLevel"
389-
390-
response = @http_client.get(
391-
path: path,
392-
)
393-
394-
response_body = case response.code.to_i
395-
when 200
396-
json = Line::Bot::V2::Utils.deep_underscore(JSON.parse(response.body))
397-
json.transform_keys! do |key|
398-
Line::Bot::V2::RESERVED_WORDS.include?(key) ? "_#{key}".to_sym : key
399-
end
400-
Line::Bot::V2::ManageAudience::GetAudienceGroupAuthorityLevelResponse.new(**json) # steep:ignore InsufficientKeywordArguments
401-
else
402-
response.body
403-
end
404-
405-
[response_body, response.code.to_i, response.each_header.to_h]
406-
end
407-
408-
# Get the authority level of the audience
409-
# This requests to <code>GET https://api.line.me/v2/bot/audienceGroup/authorityLevel</code>
410-
# When you want to get HTTP status code or response headers, use {#get_audience_group_authority_level_with_http_info} instead of this.
411-
#
412-
# @see https://developers.line.biz/en/reference/messaging-api/#get-authority-level
413-
# @return [Line::Bot::V2::ManageAudience::GetAudienceGroupAuthorityLevelResponse] when HTTP status code is 200
414-
def get_audience_group_authority_level(
415-
)
416-
response_body, _status_code, _headers = get_audience_group_authority_level_with_http_info(
417-
)
418-
419-
response_body
420-
end
421-
422336
# Gets data for more than one audience.
423337
# This requests to <code>GET https://api.line.me/v2/bot/audienceGroup/list</code>
424338
#
@@ -564,6 +478,7 @@ def get_shared_audience_data(
564478
# @param status [AudienceGroupStatus, nil] The status of the audience(s) to return. If omitted, the status of the audience(s) will not be used as a search criterion.
565479
# @param size [Integer, nil] The number of audiences per page. Default: 20 Max: 40
566480
# @param create_route [AudienceGroupCreateRoute, nil] How the audience was created. If omitted, all audiences are included. `OA_MANAGER`: Return only audiences created with LINE Official Account Manager (opens new window). `MESSAGING_API`: Return only audiences created with Messaging API.
481+
# @param includes_owned_audience_groups [Boolean, nil] true: Include audienceGroups owned by LINE Official Account Manager false: Respond only audienceGroups shared by Business Manager
567482
# @see https://developers.line.biz/en/reference/messaging-api/#get-shared-audience-list
568483
# @return [response body, response status code, and response headers]
569484
# @return [Array(Line::Bot::V2::ManageAudience::GetSharedAudienceGroupsResponse, Integer, Hash{String => String})] when HTTP status code is 200
@@ -572,15 +487,17 @@ def get_shared_audience_groups_with_http_info(
572487
description: nil,
573488
status: nil,
574489
size: nil,
575-
create_route: nil
490+
create_route: nil,
491+
includes_owned_audience_groups: nil
576492
)
577493
path = "/v2/bot/audienceGroup/shared/list"
578494
query_params = {
579495
"page": page,
580496
"description": description,
581497
"status": status,
582498
"size": size,
583-
"createRoute": create_route
499+
"createRoute": create_route,
500+
"includesOwnedAudienceGroups": includes_owned_audience_groups
584501
}.compact
585502

586503
response = @http_client.get(
@@ -611,65 +528,24 @@ def get_shared_audience_groups_with_http_info(
611528
# @param status [AudienceGroupStatus, nil] The status of the audience(s) to return. If omitted, the status of the audience(s) will not be used as a search criterion.
612529
# @param size [Integer, nil] The number of audiences per page. Default: 20 Max: 40
613530
# @param create_route [AudienceGroupCreateRoute, nil] How the audience was created. If omitted, all audiences are included. `OA_MANAGER`: Return only audiences created with LINE Official Account Manager (opens new window). `MESSAGING_API`: Return only audiences created with Messaging API.
531+
# @param includes_owned_audience_groups [Boolean, nil] true: Include audienceGroups owned by LINE Official Account Manager false: Respond only audienceGroups shared by Business Manager
614532
# @see https://developers.line.biz/en/reference/messaging-api/#get-shared-audience-list
615533
# @return [Line::Bot::V2::ManageAudience::GetSharedAudienceGroupsResponse] when HTTP status code is 200
616534
def get_shared_audience_groups(
617535
page:,
618536
description: nil,
619537
status: nil,
620538
size: nil,
621-
create_route: nil
539+
create_route: nil,
540+
includes_owned_audience_groups: nil
622541
)
623542
response_body, _status_code, _headers = get_shared_audience_groups_with_http_info(
624543
page: page,
625544
description: description,
626545
status: status,
627546
size: size,
628-
create_route: create_route
629-
)
630-
631-
response_body
632-
end
633-
634-
# Change the authority level of the audience
635-
# This requests to <code>PUT https://api.line.me/v2/bot/audienceGroup/authorityLevel</code>
636-
#
637-
# @param update_audience_group_authority_level_request [UpdateAudienceGroupAuthorityLevelRequest]
638-
# @see https://developers.line.biz/en/reference/messaging-api/#change-authority-level
639-
# @return [response body, response status code, and response headers]
640-
# @return [Array(String(nilable), Integer, Hash{String => String})] when HTTP status code is 200
641-
def update_audience_group_authority_level_with_http_info(
642-
update_audience_group_authority_level_request:
643-
)
644-
path = "/v2/bot/audienceGroup/authorityLevel"
645-
646-
response = @http_client.put(
647-
path: path,
648-
body_params: update_audience_group_authority_level_request,
649-
)
650-
651-
response_body = case response.code.to_i
652-
when 200
653-
response.body
654-
else
655-
response.body
656-
end
657-
658-
[response_body, response.code.to_i, response.each_header.to_h]
659-
end
660-
661-
# Change the authority level of the audience
662-
# This requests to <code>PUT https://api.line.me/v2/bot/audienceGroup/authorityLevel</code>
663-
# When you want to get HTTP status code or response headers, use {#update_audience_group_authority_level_with_http_info} instead of this.
664-
#
665-
# @param update_audience_group_authority_level_request [UpdateAudienceGroupAuthorityLevelRequest]
666-
# @see https://developers.line.biz/en/reference/messaging-api/#change-authority-level
667-
# @return [String, nil] when HTTP status code is 200
668-
def update_audience_group_authority_level(
669-
update_audience_group_authority_level_request:
670-
)
671-
response_body, _status_code, _headers = update_audience_group_authority_level_with_http_info(
672-
update_audience_group_authority_level_request: update_audience_group_authority_level_request
547+
create_route: create_route,
548+
includes_owned_audience_groups: includes_owned_audience_groups
673549
)
674550

675551
response_body

lib/line/bot/v2/manage_audience/core.rb

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,6 @@
1313
require_relative './model/add_audience_to_audience_group_request'
1414
require_relative './model/audience'
1515
require_relative './model/audience_group'
16-
require_relative './model/audience_group_authority_level'
1716
require_relative './model/audience_group_create_route'
1817
require_relative './model/audience_group_failed_type'
1918
require_relative './model/audience_group_job'
@@ -33,11 +32,9 @@
3332
require_relative './model/error_detail'
3433
require_relative './model/error_response'
3534
require_relative './model/get_audience_data_response'
36-
require_relative './model/get_audience_group_authority_level_response'
3735
require_relative './model/get_audience_groups_response'
3836
require_relative './model/get_shared_audience_data_response'
3937
require_relative './model/get_shared_audience_groups_response'
40-
require_relative './model/update_audience_group_authority_level_request'
4138
require_relative './model/update_audience_group_description_request'
4239

4340
# APIs

lib/line/bot/v2/manage_audience/model/audience_group_authority_level.rb

Lines changed: 0 additions & 57 deletions
This file was deleted.

lib/line/bot/v2/manage_audience/model/get_audience_group_authority_level_response.rb

Lines changed: 0 additions & 64 deletions
This file was deleted.

0 commit comments

Comments
 (0)