---
title: "Send Template Message"
method: POST
path: "/v2/message/nc"
tags: ["Message Sending"]
---

# Send Template Message

`POST /v2/message/nc`

Use this endpoint to send WhatsApp **template messages** (text, media, coupon, carousel, product, order, interactive, LTO).  
The request body structure determines the template type.
Batching is supported: include up to **100** messages in the `message` array per request.

**Workflow**
1. Confirm user opt-in and template approval.  
2. Build the payload using the appropriate template structure.  
3. Send the request and track delivery via webhooks.

## Request body

- object
  - `message` object[], required — Add one or more message objects to send different WhatsApp templates.
    - `recipient_type` string, required — Enter the type of recipient (e.g., individual or group).
    - `recipient_whatsapp` string, required — Enter the recipient’s WhatsApp number in international format.
    - `category` string — Only valid for direct utility message sending.
    - `ttl_seconds` integer — Optional. TTL for messages in seconds, only for direct utility message sending.
    - `source` string, required — Enter the source identifier for this message.
    - `cta_link_track` string — Set **1** to enable CTA link tracking, or **0** to disable.
    - `retry_enabled` '0' | '1' — Set **1** to enable message retry on temporary failures, or **0** to disable. When enabled, the system will automatically retry sending the message if it encounters a transient error.
    - `message_type` 'text' | 'media' | 'template' | 'sms' | 'media_template' | 'location' | 'contacts' | 'interactive' | 'mpm_template' | 'catalog_template' | 'carousel_template' | 'order_details_template' | 'order_status_template' | 'typing_indicator' | 'product_card_carousel_template' | 'spm_template' | 'limited_time_offer_template' | 'call_permission_request' — Choose the WhatsApp message type to send (e.g., limited_time_offer_template, product_card_carousel_template, interactive_template).
    - `x-apiheader` string — Enter custom header text used for routing or authentication.
    - `type_template` object[] — Add template details such as name, placeholders, and language.
      - `name` string, required — Name of the template.
      - `attributes` string[] — Template parameters to replace placeholders.
      - `language` object, required — Language and policy settings for the template.
        - `locale` string, required — Locale of the message.
        - `policy` string, required — Language fallback policy.
    - `type_media_template` object — Media content and metadata for LTO message.
      - `type` string, required — Media type (e.g., image, video).
      - `url` string, uri — Public URL of the media file.
      - `media_id` string — Media ID of the media file.
      - `filename` string — Filename of the media file.
      - `button` object[] — List of interactive buttons for the message.
        - `index` string, required — Button index (starting from 0).
        - `payload` string, required — Payload value sent when button is clicked.
        - `sub_type` 'copy_code' | 'url' | 'quick_reply' | 'voice_call', required — Type of button action.
      - `expiration_time_ms` string — Epoch timestamp (in ms) when the offer expires.
    - `type_mpm_template` object
      - `thumbnail_product_retailer_id` string — Thumbnail product retailer ID.
      - `sections` object[] — List of sections.
        - `title` string — Title of the section.
        - `product_items` object[] — List of product items.
          - `product_retailer_id` string — Product retailer ID.
    - `type_spm_template` object
      - `product` object
        - `product_retailer_id` string — Product retailer ID.
        - `catalog_id` string — Catalog ID.
      - `button` object[] — List of buttons.
        - `sub_type` 'copy_code' | 'url' | 'quick_reply' — type of button
        - `payload` string — payload of the button
        - `index` string — index of the button
    - `type_product_card_carousel` object
      - `cards` object[] — List of cards.
        - `card_index` string — index of the card
        - `product_retailer_id` string — product retailer ID
        - `catalog_id` string — catalog ID
        - `button` object[] — List of buttons.
          - `sub_type` 'copy_code' | 'url' | 'quick_reply' — type of button
          - `payload` string — payload of the button
          - `index` string — index of the button
    - `type_carousel_template` object
      - `cards` object[] — List of cards.
        - `card_index` string — index of the card
        - `components` object[] — List of components.
          - `type` 'header' | 'body' | 'button' — type of component
          - `parameters` object[] — List of parameters.
            - `type` 'image' | 'text' | 'button' — type of parameter
            - `image` object — Image parameter (used when type is 'image')
              - …
            - `text` string — text of the parameter (used when type is 'text')
            - `button` object — Button parameter (used when type is 'button')
              - …
    - `type_location` object[] — Location information to be sent with the message.
      - `longitude` number, float, required — Longitude coordinate of the location.
      - `latitude` number, float, required — Latitude coordinate of the location.
      - `name` string — Name of the location.
      - `address` string — Full address of the location.
    - `type_contact` object[] — Contact information to be sent with the message.
      - `addresses` object[] — List of addresses for the contact.
        - `city` string — City name.
        - `country` string — Country name.
        - `country_code` string — Country dialing code.
        - `state` string — State or province name.
        - `street` string — Street address.
        - `type` 'home' | 'work' — Type of address.
        - `zip` string — Postal or ZIP code.
      - `birthday` string, date — Contact's birthday in YYYY-MM-DD format.
      - `emails` object[] — List of email addresses.
        - `email` string, email — Email address.
        - `type` 'personal' | 'work' — Type of email.
      - `name` object — Contact's name information.
        - `first_name` string — First name of the contact.
        - `formatted_name` string — Formatted full name of the contact.
        - `last_name` string — Last name of the contact.
      - `org` object — Organization information for the contact.
        - `company` string — Company name.
        - `department` string — Department name.
        - `title` string — Job title.
      - `phones` object[] — List of phone numbers.
        - `phone` string — Phone number without country code.
        - `type` 'mobile' | 'home' | 'work' — Type of phone number.
        - `wa_id` string — WhatsApp ID with country code.
      - `urls` object[] — List of URLs associated with the contact.
        - `type` string — Type of URL.
        - `url` string, uri — URL or email address.
    - `type_text` object[] — Interactive text message without header.
      - `content` string — Text content of the message.
    - `type_interactive` object[] — Interactive message configuration with various action types.
      - `type` 'button' | 'list' | 'product' | 'product_list' | 'flow' | 'cta_url' | 'location_request_message' | 'address_message' | 'order_status' | 'order_detail', required — Type of interactive message.
      - `header` object — Header content for the interactive message.
        - `type` 'document' | 'image' | 'video' | 'text' — Type of header media.
        - `url` string, uri — URL of the header media file.
        - `filename` string — Filename for document headers.
        - `text` string — Text content for text headers.
      - `footer` string — Footer text for the message.
      - `body` string — Main body text of the interactive message.
      - `action` object[] — Action configuration for interactive elements.
        - `name` 'send_location' | 'address_message' — Name of the action type.
        - `buttons` object[] — List of interactive buttons.
          - `type` 'reply' — Type of button.
          - `name` string — Name of the button (for cta_url type).
          - `reply` object — Reply button configuration.
            - `id` string — Unique ID for the reply button.
            - `title` string — Display title for the reply button.
          - `parameters` object — Parameters for CTA URL buttons.
            - `display_text` string — Text displayed on the button.
            - `url` string, uri — URL to open when button is clicked.
        - `parameters` object — Parameters for address_message action.
          - `payment_type` string — Payment mode for order details flow.
          - `payment_configuration` string — Payment configuration name configured for the selected payment type.
          - `country` string — Country code for address validation.
          - `values` object — Address field values.
            - `name` string — Customer name.
            - `phone_number` string — Customer phone number with country code.
            - `in_pin_code` string — PIN code (India specific).
            - `address` string — Street address.
            - `city` string — City name.
            - `state` string — State or province.
            - `building_name` string — Building or apartment name.
    - `type_media` object[] — Media attachments to be sent with the message.
      - `attachments` object[] — List of media attachments.
        - `attachment_type` 'sticker' | 'image' | 'video' | 'audio' | 'document' — Type of media attachment.
        - `attachment_url` string, uri — Public URL of the media attachment.
        - `caption` string — Caption text for the media attachment.
    - `context` object — Context information for replying to or reacting to a specific message.
      - `message_id` string — WhatsApp message ID to reply to or react to.

## Response `200`

Success response for single or batch requests.

- object

---

[API](https://skmtc.dev/netcorecloud/apis/email-api-v6.md) · [All operations](https://skmtc.dev/netcorecloud/apis/email-api-v6/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/netcorecloud/email-api-v6/revisions/73f83bc2eff8/schema)
