Skip to content

update_whats_app_message_template

update_whats_app_message_template(
    id: LinkedWhatsAppBusinessAccountId,
    *,
    config_overrides: Optional[SocialMessagingClientConfig] = None,
    meta_template_id: Optional[MetaTemplateId] = None,
    template_name: Optional[MetaTemplateName] = None,
    template_language_code: Optional[MetaTemplateLanguage] = None,
    parameter_format: Optional[MetaParameterFormat] = None,
    template_category: Optional[MetaTemplateCategory] = None,
    template_components: Optional[MetaTemplateComponents] = None,
    cta_url_link_tracking_opted_out: Optional[
        MetaTemplateCtaLinkTrackingOptedOut
    ] = None,
) -> UpdateWhatsAppMessageTemplateOutput

Updates an existing WhatsApp message template.

Parameters:

  • id (LinkedWhatsAppBusinessAccountId) –

    The ID of the WhatsApp Business Account associated with this template.

  • meta_template_id (Optional[MetaTemplateId], default: None ) –

    The numeric ID of the template assigned by Meta.

  • template_name (Optional[MetaTemplateName], default: None ) –

    The name of the message template. Use together with templateLanguageCode as an alternative to metaTemplateId to identify a template.

  • template_language_code (Optional[MetaTemplateLanguage], default: None ) –

    The language code of the message template (for example, en or en_US). Use together with templateName as an alternative to metaTemplateId to identify a template.

  • parameter_format (Optional[MetaParameterFormat], default: None ) –

    The format specification for parameters in the template, this can be either 'named' or 'positional'.

  • template_category (Optional[MetaTemplateCategory], default: None ) –

    The new category for the template (for example, UTILITY or MARKETING).

  • template_components (Optional[MetaTemplateComponents], default: None ) –

    The updated components of the template as a JSON blob (maximum 3000 characters).

  • cta_url_link_tracking_opted_out (Optional[MetaTemplateCtaLinkTrackingOptedOut], default: None ) –

    When true, disables click tracking for call-to-action URL buttons in the template.

Raises:

Source code in docs_src/capo_socialmessaging/_services/social_messaging.py
def update_whats_app_message_template(
    self,
    id: "capo_socialmessaging.types.linked_whats_app_business_account_id.LinkedWhatsAppBusinessAccountId",
    *,
    config_overrides: Optional[SocialMessagingClientConfig] = None,
    meta_template_id: Optional[
        "capo_socialmessaging.types.meta_template_id.MetaTemplateId"
    ] = None,
    template_name: Optional[
        "capo_socialmessaging.types.meta_template_name.MetaTemplateName"
    ] = None,
    template_language_code: Optional[
        "capo_socialmessaging.types.meta_template_language.MetaTemplateLanguage"
    ] = None,
    parameter_format: Optional[
        "capo_socialmessaging.types.meta_parameter_format.MetaParameterFormat"
    ] = None,
    template_category: Optional[
        "capo_socialmessaging.types.meta_template_category.MetaTemplateCategory"
    ] = None,
    template_components: Optional[
        "capo_socialmessaging.types.meta_template_components.MetaTemplateComponents"
    ] = None,
    cta_url_link_tracking_opted_out: Optional[
        "capo_socialmessaging.types.meta_template_cta_link_tracking_opted_out.MetaTemplateCtaLinkTrackingOptedOut"
    ] = None,
) -> "capo_socialmessaging.types.update_whats_app_message_template_output.UpdateWhatsAppMessageTemplateOutput":
    """<p>Updates an existing WhatsApp message template.</p>

    Args:
        id: <p>The ID of the WhatsApp Business Account associated with this template.</p>
        meta_template_id: <p>The numeric ID of the template assigned by Meta.</p>
        template_name: <p>The name of the message template. Use together with <code>templateLanguageCode</code> as an alternative to <code>metaTemplateId</code> to identify a template.</p>
        template_language_code: <p>The language code of the message template (for example, <code>en</code> or <code>en_US</code>). Use together with <code>templateName</code> as an alternative to <code>metaTemplateId</code> to identify a template.</p>
        parameter_format: <p>The format specification for parameters in the template, this can be either 'named' or 'positional'.</p>
        template_category: <p>The new category for the template (for example, UTILITY or MARKETING).</p>
        template_components: <p>The updated components of the template as a JSON blob (maximum 3000 characters).</p>
        cta_url_link_tracking_opted_out: <p>When true, disables click tracking for call-to-action URL buttons in the template.</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.
    """

    def _handler(
        req: "OperationRequest[capo_socialmessaging.types.update_whats_app_message_template_input.UpdateWhatsAppMessageTemplateInput]",
    ) -> OperationResponse[
        "capo_socialmessaging.types.update_whats_app_message_template_output.UpdateWhatsAppMessageTemplateOutput"
    ]:
        import capo_socialmessaging._operations.social_messaging.update_whats_app_message_template

        output, http_response = (
            capo_socialmessaging._operations.social_messaging.update_whats_app_message_template.update_whats_app_message_template(
                req.options, req.input
            )
        )
        return OperationResponse(output=output, response=http_response)

    interceptors_, options_ = self.operation_options(
        config_overrides, OperationLogging("UpdateWhatsAppMessageTemplate")
    )
    input_: capo_socialmessaging.types.update_whats_app_message_template_input.UpdateWhatsAppMessageTemplateInput = {
        "id": id
    }
    if meta_template_id is not None:
        input_["meta_template_id"] = meta_template_id
    if template_name is not None:
        input_["template_name"] = template_name
    if template_language_code is not None:
        input_["template_language_code"] = template_language_code
    if parameter_format is not None:
        input_["parameter_format"] = parameter_format
    if template_category is not None:
        input_["template_category"] = template_category
    if template_components is not None:
        input_["template_components"] = template_components
    if cta_url_link_tracking_opted_out is not None:
        input_["cta_url_link_tracking_opted_out"] = cta_url_link_tracking_opted_out

    response = execute_pipeline(
        OperationRequest(input=input_, options=options_),
        handler=_handler,
        interceptors=list(interceptors_),
    )
    response.response.close()
    return response.output