The customer copies the code, then enters it in your application. The code and expiry shown are demonstration values.
Create the authentication template
- Open Templates, select the WABA, and create an Authentication template.
- Choose the copy-code option.
- Decide whether to include the security recommendation and expiry notice.
- Set an expiry notice that matches your intended verification policy.
- Submit the template and confirm approval for the intended language.
otp_type: "COPY_CODE". This is different from the COPY_CODE promotional button used in a coupon template.
Design the request-to-verification flow
- The customer requests a code for a specific action in your application.
- Your backend generates a short-lived, single-use code and binds it to that request.
- Your system sends the approved template to the confirmed destination.
- The customer copies or enters the code.
- Your backend validates the request, code, expiry, and attempt limit.
- Only a successful backend check completes authentication.
Send the same code in both positions
Authentication sending uses the code in the message body and in the OTP button’s URL parameter. These values must agree. Example of the template components only, with a fictional code:coupon_code parameter. Use Send WhatsApp messages for the full request and keep real codes out of logs.

