Skip to content

Add /v2/bot/audienceGroup/shared path #757

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 1 commit into from
Feb 12, 2025
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion line-openapi
Submodule line-openapi updated 1 files
+276 −0 manage-audience.yml
4 changes: 4 additions & 0 deletions linebot/v3/audience/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -35,6 +35,7 @@
from linebot.v3.audience.exceptions import ApiException

# import models into sdk package
from linebot.v3.audience.models.adaccount import Adaccount
from linebot.v3.audience.models.add_audience_to_audience_group_request import AddAudienceToAudienceGroupRequest
from linebot.v3.audience.models.audience import Audience
from linebot.v3.audience.models.audience_group import AudienceGroup
Expand All @@ -54,10 +55,13 @@
from linebot.v3.audience.models.create_click_based_audience_group_response import CreateClickBasedAudienceGroupResponse
from linebot.v3.audience.models.create_imp_based_audience_group_request import CreateImpBasedAudienceGroupRequest
from linebot.v3.audience.models.create_imp_based_audience_group_response import CreateImpBasedAudienceGroupResponse
from linebot.v3.audience.models.detailed_owner import DetailedOwner
from linebot.v3.audience.models.error_detail import ErrorDetail
from linebot.v3.audience.models.error_response import ErrorResponse
from linebot.v3.audience.models.get_audience_data_response import GetAudienceDataResponse
from linebot.v3.audience.models.get_audience_group_authority_level_response import GetAudienceGroupAuthorityLevelResponse
from linebot.v3.audience.models.get_audience_groups_response import GetAudienceGroupsResponse
from linebot.v3.audience.models.get_shared_audience_data_response import GetSharedAudienceDataResponse
from linebot.v3.audience.models.get_shared_audience_groups_response import GetSharedAudienceGroupsResponse
from linebot.v3.audience.models.update_audience_group_authority_level_request import UpdateAudienceGroupAuthorityLevelRequest
from linebot.v3.audience.models.update_audience_group_description_request import UpdateAudienceGroupDescriptionRequest
337 changes: 337 additions & 0 deletions linebot/v3/audience/api/async_manage_audience.py

Large diffs are not rendered by default.

317 changes: 317 additions & 0 deletions linebot/v3/audience/api/manage_audience.py

Large diffs are not rendered by default.

163 changes: 163 additions & 0 deletions linebot/v3/audience/docs/ManageAudience.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,8 @@ Method | HTTP request | Description
[**get_audience_data**](ManageAudience.md#get_audience_data) | **GET** /v2/bot/audienceGroup/{audienceGroupId} |
[**get_audience_group_authority_level**](ManageAudience.md#get_audience_group_authority_level) | **GET** /v2/bot/audienceGroup/authorityLevel |
[**get_audience_groups**](ManageAudience.md#get_audience_groups) | **GET** /v2/bot/audienceGroup/list |
[**get_shared_audience_data**](ManageAudience.md#get_shared_audience_data) | **GET** /v2/bot/audienceGroup/shared/{audienceGroupId} |
[**get_shared_audience_groups**](ManageAudience.md#get_shared_audience_groups) | **GET** /v2/bot/audienceGroup/shared/list |
[**update_audience_group_authority_level**](ManageAudience.md#update_audience_group_authority_level) | **PUT** /v2/bot/audienceGroup/authorityLevel |
[**update_audience_group_description**](ManageAudience.md#update_audience_group_description) | **PUT** /v2/bot/audienceGroup/{audienceGroupId}/updateDescription |

Expand Down Expand Up @@ -696,6 +698,167 @@ Name | Type | Description | Notes

[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)

# **get_shared_audience_data**
> GetSharedAudienceDataResponse get_shared_audience_data(audience_group_id)



Gets audience data.

### Example

* Bearer Authentication (Bearer):
```python
import time
import os
import linebot.v3.audience
from linebot.v3.audience.models.get_shared_audience_data_response import GetSharedAudienceDataResponse
from linebot.v3.audience.rest import ApiException
from pprint import pprint

# Defining the host is optional and defaults to https://api.line.me
# See configuration.py for a list of all supported configuration parameters.
configuration = linebot.v3.audience.Configuration(
host = "https://api.line.me"
)

# The client must configure the authentication and authorization parameters
# in accordance with the API server security policy.
# Examples for each auth method are provided below, use the example that
# satisfies your auth use case.

# Configure Bearer authorization: Bearer
configuration = linebot.v3.audience.Configuration(
access_token = os.environ["BEARER_TOKEN"]
)

# Enter a context with an instance of the API client
with linebot.v3.audience.ApiClient(configuration) as api_client:
# Create an instance of the API class
api_instance = linebot.v3.audience.ManageAudience(api_client)
audience_group_id = 56 # int | The audience ID.

try:
api_response = api_instance.get_shared_audience_data(audience_group_id)
print("The response of ManageAudience->get_shared_audience_data:\n")
pprint(api_response)
except Exception as e:
print("Exception when calling ManageAudience->get_shared_audience_data: %s\n" % e)
```


### Parameters

Name | Type | Description | Notes
------------- | ------------- | ------------- | -------------
**audience_group_id** | **int**| The audience ID. |

### Return type

[**GetSharedAudienceDataResponse**](GetSharedAudienceDataResponse.md)

### Authorization

[Bearer](../README.md#Bearer)

### HTTP request headers

- **Content-Type**: Not defined
- **Accept**: application/json

### HTTP response details
| Status code | Description | Response headers |
|-------------|-------------|------------------|
**200** | OK | - |
**400** | Bad request | - |

[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)

# **get_shared_audience_groups**
> GetSharedAudienceGroupsResponse get_shared_audience_groups(page, description=description, status=status, size=size, create_route=create_route)



Gets data for more than one audience, including those shared by the Business Manager.

### Example

* Bearer Authentication (Bearer):
```python
import time
import os
import linebot.v3.audience
from linebot.v3.audience.models.audience_group_create_route import AudienceGroupCreateRoute
from linebot.v3.audience.models.audience_group_status import AudienceGroupStatus
from linebot.v3.audience.models.get_shared_audience_groups_response import GetSharedAudienceGroupsResponse
from linebot.v3.audience.rest import ApiException
from pprint import pprint

# Defining the host is optional and defaults to https://api.line.me
# See configuration.py for a list of all supported configuration parameters.
configuration = linebot.v3.audience.Configuration(
host = "https://api.line.me"
)

# The client must configure the authentication and authorization parameters
# in accordance with the API server security policy.
# Examples for each auth method are provided below, use the example that
# satisfies your auth use case.

# Configure Bearer authorization: Bearer
configuration = linebot.v3.audience.Configuration(
access_token = os.environ["BEARER_TOKEN"]
)

# Enter a context with an instance of the API client
with linebot.v3.audience.ApiClient(configuration) as api_client:
# Create an instance of the API class
api_instance = linebot.v3.audience.ManageAudience(api_client)
page = 56 # int | The page to return when getting (paginated) results. Must be 1 or higher.
description = 'description_example' # str | The name of the audience(s) to return. You can search for partial matches. This is case-insensitive, meaning AUDIENCE and audience are considered identical. If omitted, the name of the audience(s) will not be used as a search criterion. (optional)
status = linebot.v3.audience.AudienceGroupStatus() # AudienceGroupStatus | The status of the audience(s) to return. If omitted, the status of the audience(s) will not be used as a search criterion. (optional)
size = 20 # int | The number of audiences per page. Default: 20 Max: 40 (optional)
create_route = linebot.v3.audience.AudienceGroupCreateRoute() # AudienceGroupCreateRoute | 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. (optional)

try:
api_response = api_instance.get_shared_audience_groups(page, description=description, status=status, size=size, create_route=create_route)
print("The response of ManageAudience->get_shared_audience_groups:\n")
pprint(api_response)
except Exception as e:
print("Exception when calling ManageAudience->get_shared_audience_groups: %s\n" % e)
```


### Parameters

Name | Type | Description | Notes
------------- | ------------- | ------------- | -------------
**page** | **int**| The page to return when getting (paginated) results. Must be 1 or higher. |
**description** | **str**| The name of the audience(s) to return. You can search for partial matches. This is case-insensitive, meaning AUDIENCE and audience are considered identical. If omitted, the name of the audience(s) will not be used as a search criterion. | [optional]
**status** | [**AudienceGroupStatus**](.md)| The status of the audience(s) to return. If omitted, the status of the audience(s) will not be used as a search criterion. | [optional]
**size** | **int**| The number of audiences per page. Default: 20 Max: 40 | [optional]
**create_route** | [**AudienceGroupCreateRoute**](.md)| 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. | [optional]

### Return type

[**GetSharedAudienceGroupsResponse**](GetSharedAudienceGroupsResponse.md)

### Authorization

[Bearer](../README.md#Bearer)

### HTTP request headers

- **Content-Type**: Not defined
- **Accept**: application/json

### HTTP response details
| Status code | Description | Response headers |
|-------------|-------------|------------------|
**200** | OK | - |

[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)

# **update_audience_group_authority_level**
> update_audience_group_authority_level(update_audience_group_authority_level_request)

Expand Down
4 changes: 4 additions & 0 deletions linebot/v3/audience/models/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@


# import models into model package
from linebot.v3.audience.models.adaccount import Adaccount
from linebot.v3.audience.models.add_audience_to_audience_group_request import AddAudienceToAudienceGroupRequest
from linebot.v3.audience.models.audience import Audience
from linebot.v3.audience.models.audience_group import AudienceGroup
Expand All @@ -33,10 +34,13 @@
from linebot.v3.audience.models.create_click_based_audience_group_response import CreateClickBasedAudienceGroupResponse
from linebot.v3.audience.models.create_imp_based_audience_group_request import CreateImpBasedAudienceGroupRequest
from linebot.v3.audience.models.create_imp_based_audience_group_response import CreateImpBasedAudienceGroupResponse
from linebot.v3.audience.models.detailed_owner import DetailedOwner
from linebot.v3.audience.models.error_detail import ErrorDetail
from linebot.v3.audience.models.error_response import ErrorResponse
from linebot.v3.audience.models.get_audience_data_response import GetAudienceDataResponse
from linebot.v3.audience.models.get_audience_group_authority_level_response import GetAudienceGroupAuthorityLevelResponse
from linebot.v3.audience.models.get_audience_groups_response import GetAudienceGroupsResponse
from linebot.v3.audience.models.get_shared_audience_data_response import GetSharedAudienceDataResponse
from linebot.v3.audience.models.get_shared_audience_groups_response import GetSharedAudienceGroupsResponse
from linebot.v3.audience.models.update_audience_group_authority_level_request import UpdateAudienceGroupAuthorityLevelRequest
from linebot.v3.audience.models.update_audience_group_description_request import UpdateAudienceGroupDescriptionRequest
71 changes: 71 additions & 0 deletions linebot/v3/audience/models/adaccount.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,71 @@
# coding: utf-8

"""
LINE Messaging API

This document describes LINE Messaging API. # noqa: E501

The version of the OpenAPI document: 0.0.1
Generated by OpenAPI Generator (https://openapi-generator.tech)

Do not edit the class manually.
"""


from __future__ import annotations
import pprint
import re # noqa: F401
import json


from typing import Optional
from pydantic.v1 import BaseModel, Field, StrictStr

class Adaccount(BaseModel):
"""
Adaccount
"""
name: Optional[StrictStr] = Field(None, description="Ad account name.")

__properties = ["name"]

class Config:
"""Pydantic configuration"""
allow_population_by_field_name = True
validate_assignment = True

def to_str(self) -> str:
"""Returns the string representation of the model using alias"""
return pprint.pformat(self.dict(by_alias=True))

def to_json(self) -> str:
"""Returns the JSON representation of the model using alias"""
return json.dumps(self.to_dict())

@classmethod
def from_json(cls, json_str: str) -> Adaccount:
"""Create an instance of Adaccount from a JSON string"""
return cls.from_dict(json.loads(json_str))

def to_dict(self):
"""Returns the dictionary representation of the model using alias"""
_dict = self.dict(by_alias=True,
exclude={
},
exclude_none=True)
return _dict

@classmethod
def from_dict(cls, obj: dict) -> Adaccount:
"""Create an instance of Adaccount from a dict"""
if obj is None:
return None

if not isinstance(obj, dict):
return Adaccount.parse_obj(obj)

_obj = Adaccount.parse_obj({
"name": obj.get("name")
})
return _obj

75 changes: 75 additions & 0 deletions linebot/v3/audience/models/detailed_owner.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,75 @@
# coding: utf-8

"""
LINE Messaging API

This document describes LINE Messaging API. # noqa: E501

The version of the OpenAPI document: 0.0.1
Generated by OpenAPI Generator (https://openapi-generator.tech)

Do not edit the class manually.
"""


from __future__ import annotations
import pprint
import re # noqa: F401
import json


from typing import Optional
from pydantic.v1 import BaseModel, Field, StrictStr

class DetailedOwner(BaseModel):
"""
Owner of this audience group.
"""
service_type: Optional[StrictStr] = Field(None, alias="serviceType", description="Service name where the audience group has been created.")
id: Optional[StrictStr] = Field(None, description="Owner ID in the service.")
name: Optional[StrictStr] = Field(None, description="Owner account name.")

__properties = ["serviceType", "id", "name"]

class Config:
"""Pydantic configuration"""
allow_population_by_field_name = True
validate_assignment = True

def to_str(self) -> str:
"""Returns the string representation of the model using alias"""
return pprint.pformat(self.dict(by_alias=True))

def to_json(self) -> str:
"""Returns the JSON representation of the model using alias"""
return json.dumps(self.to_dict())

@classmethod
def from_json(cls, json_str: str) -> DetailedOwner:
"""Create an instance of DetailedOwner from a JSON string"""
return cls.from_dict(json.loads(json_str))

def to_dict(self):
"""Returns the dictionary representation of the model using alias"""
_dict = self.dict(by_alias=True,
exclude={
},
exclude_none=True)
return _dict

@classmethod
def from_dict(cls, obj: dict) -> DetailedOwner:
"""Create an instance of DetailedOwner from a dict"""
if obj is None:
return None

if not isinstance(obj, dict):
return DetailedOwner.parse_obj(obj)

_obj = DetailedOwner.parse_obj({
"service_type": obj.get("serviceType"),
"id": obj.get("id"),
"name": obj.get("name")
})
return _obj

Loading