Skip to content

publish_whats_app_flow async

publish_whats_app_flow(
    id: LinkedWhatsAppBusinessAccountId,
    flow_id: MetaFlowId,
    *,
    config_overrides: Optional[AsyncSocialMessagingClientConfig] = None,
) -> PublishWhatsAppFlowOutput

Publishes a WhatsApp Flow, making it available for use in template messages. The Flow must be in DRAFT status with valid Flow JSON that passes Meta's validation. This is an irreversible operation.

Parameters:

Raises:

Source code in docs_src/capo_socialmessaging/_services/async_social_messaging.py
async def publish_whats_app_flow(
    self,
    id: "capo_socialmessaging.types.linked_whats_app_business_account_id.LinkedWhatsAppBusinessAccountId",
    flow_id: "capo_socialmessaging.types.meta_flow_id.MetaFlowId",
    *,
    config_overrides: Optional[AsyncSocialMessagingClientConfig] = None,
) -> "capo_socialmessaging.types.publish_whats_app_flow_output.PublishWhatsAppFlowOutput":
    """<p>Publishes a WhatsApp Flow, making it available for use in template messages. The Flow must be in DRAFT status with valid Flow JSON that passes Meta's validation. This is an irreversible operation.</p>

    Args:
        id: <p>The ID of the WhatsApp Business Account associated with this Flow.</p>
        flow_id: <p>The unique identifier of the Flow to publish.</p>

    Raises:
        capo_socialmessaging.errors.access_denied_exception.AccessDeniedException: <p>You do not have sufficient access to perform this action.</p>
        capo_socialmessaging.errors.validation_exception.ValidationException: <p>The request contains an invalid parameter value. </p>
        capo_socialmessaging.errors.access_denied_by_meta_exception.AccessDeniedByMetaException: <p>You do not have sufficient access to perform this action.</p>
        capo_socialmessaging.errors.dependency_exception.DependencyException: <p>Thrown when performing an action because a dependency would be broken.</p>
        capo_socialmessaging.errors.internal_service_exception.InternalServiceException: <p>The request processing has failed because of an unknown error, exception, or failure.</p>
        capo_socialmessaging.errors.invalid_parameters_exception.InvalidParametersException: <p>One or more parameters provided to the action are not valid.</p>
        capo_socialmessaging.errors.resource_not_found_exception.ResourceNotFoundException: <p>The resource was not found.</p>
        capo_socialmessaging.errors.throttled_request_exception.ThrottledRequestException: <p>The request was denied due to request throttling.</p>
        capo_socialmessaging.errors.UnknownServiceError: The service returned an error code this client does not model.
    """

    async def _handler(
        req: "AsyncOperationRequest[capo_socialmessaging.types.publish_whats_app_flow_input.PublishWhatsAppFlowInput]",
    ) -> AsyncOperationResponse[
        "capo_socialmessaging.types.publish_whats_app_flow_output.PublishWhatsAppFlowOutput"
    ]:
        import capo_socialmessaging._operations.social_messaging.publish_whats_app_flow

        (
            output,
            http_response,
        ) = await capo_socialmessaging._operations.social_messaging.publish_whats_app_flow.async_publish_whats_app_flow(
            req.options, req.input
        )
        return AsyncOperationResponse(output=output, response=http_response)

    interceptors_, options_ = self.operation_options(
        config_overrides, OperationLogging("PublishWhatsAppFlow")
    )
    input_: capo_socialmessaging.types.publish_whats_app_flow_input.PublishWhatsAppFlowInput = {
        "id": id,
        "flow_id": flow_id,
    }

    response = await aexecute_pipeline(
        AsyncOperationRequest(input=input_, options=options_),
        handler=_handler,
        interceptors=list(interceptors_),
    )
    await response.response.aclose()
    return response.output