Skip to content

Commit 1d31be8

Browse files
github-actions[bot]github-actions
andauthored
Add forbidPartialDelivery option to the Narrowcast Limit Object (#873)
line/line-openapi#114 ## Add forbidPartialDelivery option to the Narrowcast Limit Object We add a new `forbidPartialDelivery` option to the Narrowcast Limit Object. When set to true, this option prevents messages from being delivered to only a subset of the target audience. If partial delivery occurs, the narrowcast request will succeed but fail asynchronously. You can verify whether the message delivery was canceled by checking the narrowcast message progress. This property can only be set to true when upToRemainingQuota is also true. For more details, see the https://developers.line.biz/en/news/2025/10/21/narrowcast-message-update/. ### Example: ```json { "max": 100, "upToRemainingQuota": true, "forbidPartialDelivery": true } ``` Co-authored-by: github-actions <[email protected]>
1 parent fbf5f1b commit 1d31be8

File tree

3 files changed

+6
-4
lines changed

3 files changed

+6
-4
lines changed

line-openapi

linebot/v3/messaging/models/limit.py

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -28,8 +28,9 @@ class Limit(BaseModel):
2828
"""
2929
max: Optional[conint(strict=True, ge=1)] = Field(None, description="The maximum number of narrowcast messages to send. Use this parameter to limit the number of narrowcast messages sent. The recipients will be chosen at random. ")
3030
up_to_remaining_quota: Optional[StrictBool] = Field(False, alias="upToRemainingQuota", description="If true, the message will be sent within the maximum number of deliverable messages. The default value is `false`. Targets will be selected at random. ")
31+
forbid_partial_delivery: Optional[StrictBool] = Field(False, alias="forbidPartialDelivery", description="This option prevents messages from being delivered to only a subset of the target audience. If true, the narrowcast request success but fails asynchronously. You can check whether message delivery was canceled by retrieving the narrowcast message progress. This property can be set to true only if upToRemainingQuota is set to true. ")
3132

32-
__properties = ["max", "upToRemainingQuota"]
33+
__properties = ["max", "upToRemainingQuota", "forbidPartialDelivery"]
3334

3435
class Config:
3536
"""Pydantic configuration"""
@@ -68,7 +69,8 @@ def from_dict(cls, obj: dict) -> Limit:
6869

6970
_obj = Limit.parse_obj({
7071
"max": obj.get("max"),
71-
"up_to_remaining_quota": obj.get("upToRemainingQuota") if obj.get("upToRemainingQuota") is not None else False
72+
"up_to_remaining_quota": obj.get("upToRemainingQuota") if obj.get("upToRemainingQuota") is not None else False,
73+
"forbid_partial_delivery": obj.get("forbidPartialDelivery") if obj.get("forbidPartialDelivery") is not None else False
7274
})
7375
return _obj
7476

linebot/v3/messaging/models/narrowcast_progress_response.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ class NarrowcastProgressResponse(BaseModel):
3131
failure_count: Optional[StrictInt] = Field(None, alias="failureCount", description="The number of users who failed to send the message.")
3232
target_count: Optional[StrictInt] = Field(None, alias="targetCount", description="The number of intended recipients of the message.")
3333
failed_description: Optional[StrictStr] = Field(None, alias="failedDescription", description="The reason the message failed to be sent. This is only included with a `phase` property value of `failed`.")
34-
error_code: Optional[StrictInt] = Field(None, alias="errorCode", description="Error summary. This is only included with a phase property value of failed. One of: `1`: An internal error occurred. `2`: An error occurred because there weren't enough recipients. `3`: A conflict error of requests occurs because a request that has already been accepted is retried. `4`: An audience of less than 50 recipients is included as a condition of sending. ")
34+
error_code: Optional[StrictInt] = Field(None, alias="errorCode", description="Error summary. This is only included with a phase property value of failed. One of: `1`: An internal error occurred. `2`: An error occurred because there weren't enough recipients. `3`: A conflict error of requests occurs because a request that has already been accepted is retried. `4`: An audience of less than 50 recipients is included as a condition of sending. `5`: Message delivery has been canceled to prevent messages from being delivered only to a subset of the target audience. ")
3535
accepted_time: datetime = Field(..., alias="acceptedTime", description="Narrowcast message request accepted time in milliseconds. Format: ISO 8601 (e.g. 2020-12-03T10:15:30.121Z) Timezone: UTC ")
3636
completed_time: Optional[datetime] = Field(None, alias="completedTime", description="Processing of narrowcast message request completion time in milliseconds. Returned when the phase property is succeeded or failed. Format: ISO 8601 (e.g. 2020-12-03T10:15:30.121Z) Timezone: UTC ")
3737

0 commit comments

Comments
 (0)