# Get template in project

Returns a template for a project, with the specified name and language.

Endpoint: GET /v1/projects/{projectId}/kakaotalk/senders/{plusFriendId}/templates/{templateCode}
Version: 1.2.91
Security: BasicAuth, BearerAuth, OAuth2Production

## Path parameters:

  - `projectId` (string, required)
    The unique ID of the project. You can find this on the Sinch Dashboard.

  - `plusFriendId` (string, required)
    The unique ID of the sender.

  - `templateCode` (string, required)
    The unique name of the template.

## Response 200 fields (application/json):

  - `code` (string, required)
    Registered delivery template code

  - `id` (string)
    The unique ID of the template.

  - `state` (string)
    The current state of the template.
    Enum: "APPROVED", "REJECTED"

  - `changes` (object)
    Any pending changes to the template.

  - `changes.status` (string, required)
    Current status of the pending changes
    Enum: "DRAFT", "IN_PROGRESS", "REJECTED"

  - `changes.details` (array, required) — one of:
    Template details and information.
    - KakaotalkTemplateDetailsDto:
      - `language` (string, required)
        Template language
        Enum: "AF", "AR", "AZ", "BG", "BN", "CA", "CS", "DA", "DE", "EL", "EN", "EN_GB", "EN_US", "ES", "ES_AR", "ES_ES", "ES_MX", "ET", "FA", "FI", "FIL", "FR", "GA", "GU", "HA", "HE", "HI", "HR", "HU", "ID", "IT", "JA", "KA", "KK", "KN", "KO", "KY_KG", "LO", "LT", "LV", "MK", "ML", "MR", "MS", "NB", "NL", "PA", "PL", "PT_BR", "PT_PT", "RO", "RU", "RW_RW", "SK", "SL", "SQ", "SR", "SV", "SW", "TA", "TE", "TH", "TR", "UK", "UR", "UZ", "VI", "ZH_CN", "ZH_HK", "ZH_TW", "ZU", "UNRECOGNIZED"
      - `messageType` (string, required)
        Types of template message
        Enum: "AD_INCLUDED", "BASIC", "EXTRA_INFORMATION", "MIXED", "TEMPLATE_MESSAGE_TYPE_UNSPECIFIED", "UNRECOGNIZED"
      - `emphasizeType` (string, required)
        Types of emphasized template
        Enum: "EMPHASIZE_TYPE_IMAGE", "EMPHASIZE_TYPE_NONE", "EMPHASIZE_TYPE_TEXT", "EMPHASIZE_TYPE_UNSPECIFIED", "UNRECOGNIZED"
      - `categoryCode` (string, required)
        Template category code
      - `securityFlag` (boolean, required)
        Security template
      - `name` (string, required)
        Button name
      - `buttons` (array, required)
        List of buttons
      - `buttons.ordering` (number)
        Button sequence
      - `buttons.type` (string)
        Button type
        Enum: "APP_LINK", "BOT_FOR_CONSULTATION", "BOT_KEYWORD", "BOT_TRANSFER", "BUSINESS_FORM", "BUTTON_TYPE_UNSPECIFIED", "CHANNEL_ID_ADDED", "DELIVERY_SEARCH", "IMAGE_SECURE_TRANSMISSION_PLUGIN_ID", "MESSAGE_DELIVERY", "ONE_CLICK_PAYMENT_PLUGIN", "PERSONAL_INFORMATION_USE_PLUGIN_ID", "WEB_LINK", "UNRECOGNIZED"
      - `buttons.name` (string)
        Button name
      - `buttons.linkMo` (string)
        Mobile web link
      - `buttons.linkPc` (string)
        PC web link
      - `buttons.schemeIos` (string)
        iOS app link
      - `buttons.schemeAndroid` (string)
        Android app link
      - `content` (string)
        Template body
      - `extra` (string)
        Additional template information
      - `ad` (string)
        Request for consent of receiving within template or simple ad phrases
      - `title` (string)
        Template title
      - `subtitle` (string)
        Auxiliary template phrase
      - `imageName` (string)
        Image name (name of uploaded file)
      - `imageUrl` (string)
        Image URL
    - KakaotalkTemplateChangesDetailsDto:
      - `language` (string)
        Template language
        Enum: same as `language` in "KakaotalkTemplateDetailsDto" (72 values)
      - `messageType` (string)
        Types of template message
        Enum: same as `messageType` in "KakaotalkTemplateDetailsDto" (6 values)
      - `emphasizeType` (string)
        Types of emphasized template
        Enum: same as `emphasizeType` in "KakaotalkTemplateDetailsDto" (5 values)
      - `categoryCode` (string)
        Template category code
      - `securityFlag` (boolean)
        Security template
      - `name` (string)
        Button name
      - `content` (string)
        Template body
      - `extra` (string)
        Additional template information
      - `ad` (string)
        Request for consent of receiving within template or simple ad phrases
      - `title` (string)
        Template title
      - `subtitle` (string)
        Auxiliary template phrase
      - `imageName` (string)
        Image name (name of uploaded file)
      - `imageUrl` (string)
        Image URL
      - `buttons` (array)
        List of buttons
      - `buttons.ordering` (number)
        Button sequence
      - `buttons.type` (string)
        Button type
        Enum: same as `buttons.type` in "KakaotalkTemplateDetailsDto" (14 values)
      - `buttons.name` (string)
        Button name
      - `buttons.linkMo` (string)
        Mobile web link
      - `buttons.linkPc` (string)
        PC web link
      - `buttons.schemeIos` (string)
        iOS app link
      - `buttons.schemeAndroid` (string)
        Android app link

  - `details` (object)
    Template details and information.

  - `details.language` (string, required)
    Template language
    Enum: same as `language` in "KakaotalkTemplateDetailsDto" (72 values)

  - `details.messageType` (string, required)
    Types of template message
    Enum: same as `messageType` in "KakaotalkTemplateDetailsDto" (6 values)

  - `details.emphasizeType` (string, required)
    Types of emphasized template
    Enum: same as `emphasizeType` in "KakaotalkTemplateDetailsDto" (5 values)

  - `details.categoryCode` (string, required)
    Template category code

  - `details.securityFlag` (boolean, required)
    Security template

  - `details.name` (string, required)
    Button name

  - `details.buttons` (array, required)
    List of buttons

  - `details.buttons.ordering` (number)
    Button sequence

  - `details.buttons.type` (string)
    Button type
    Enum: same as `buttons.type` in "KakaotalkTemplateDetailsDto" (14 values)

  - `details.buttons.name` (string)
    Button name

  - `details.buttons.linkMo` (string)
    Mobile web link

  - `details.buttons.linkPc` (string)
    PC web link

  - `details.buttons.schemeIos` (string)
    iOS app link

  - `details.buttons.schemeAndroid` (string)
    Android app link

  - `details.content` (string)
    Template body

  - `details.extra` (string)
    Additional template information

  - `details.ad` (string)
    Request for consent of receiving within template or simple ad phrases

  - `details.title` (string)
    Template title

  - `details.subtitle` (string)
    Auxiliary template phrase

  - `details.imageName` (string)
    Image name (name of uploaded file)

  - `details.imageUrl` (string)
    Image URL

  - `created` (string)
    The UTC Date Time in ISO 8601 for when the template was created.

  - `modified` (string)
    The UTC Date Time in ISO 8601 for when the template was last modified.

## Response 400 fields (application/json):

  - `errorCode` (string)
    Error code allows to programmatically handle errors.
    Example: "project_not_initialized"

  - `message` (string)
    Human readable message.
    Example: "Project not initialized for KakaoTalk."

  - `resolution` (string)
    Human readable message with an explanation of how to solve the error.
    Example: "Verify that the project ID is correct and that it has been onboarded for KakaoTalk."

## Response 401 fields (application/json):

  - `errorCode` (string)
    Error code allows to programmatically handle errors.
    Example: "unauthorized_error"

  - `message` (string)
    Human readable message.
    Example: "Unauthorized error."

  - `resolution` (string)
    Human readable message with an explanation of how to solve the error.
    Example: "Verify that projectId is correct."

## Response 404 fields (application/json):

  - `body` (SenderNotFoundErrorTitle (object) or TemplateNotFoundErrorTitle (object)) — one of:
    - SenderNotFoundErrorTitle:
      - `errorCode` (string)
        Error code allows to programmatically handle errors.
        Example: "sender_not_found"
      - `message` (string)
        Human readable message.
        Example: "Sender not found."
      - `resolution` (string)
        Human readable message with an explanation of how to solve the error.
        Example: "Verify that the parameters are correct."
    - TemplateNotFoundErrorTitle:
      - `errorCode` (string)
        Error code allows to programmatically handle errors.
        Example: "template_not_found"
      - `message` (string)
        Human readable message.
        Example: "Template not found."
      - `resolution` (string)
        Human readable message with an explanation of how to solve the error.
        Example: "Verify that the parameters are correct."

## Response 500 fields (application/json):

  - `errorCode` (string)
    Error code allows to programmatically handle errors.
    Example: "internal_error"

  - `message` (string)
    Human readable message.
    Example: "Internal server error."

  - `resolution` (string)
    Human readable message with an explanation of how to solve the error.
    Example: "Please wait and try again, if the error persist please contact support."


