:doc:`CustomerProfiles <../../customer-profiles>` / Client / get_profile_object_type_template

********************************
get_profile_object_type_template
********************************



.. py:method:: CustomerProfiles.Client.get_profile_object_type_template(**kwargs)

  

  Returns the template information for a specific object type.

   

  A template is a predefined ProfileObjectType, such as “Salesforce-Account” or “Salesforce-Contact.” When a user sends a ProfileObject, using the PutProfileObject API, with an ObjectTypeName that matches one of the TemplateIds, it uses the mappings from the template.

  

  See also: `AWS API Documentation <https://docs.aws.amazon.com/goto/WebAPI/customer-profiles-2020-08-15/GetProfileObjectTypeTemplate>`_  


  **Request Syntax**
  ::

    response = client.get_profile_object_type_template(
        TemplateId='string'
    )
    
  :type TemplateId: string
  :param TemplateId: **[REQUIRED]** 

    A unique identifier for the object template.

    

  
  
  :rtype: dict
  :returns: 
    
    **Response Syntax**

    
    ::

      {
          'TemplateId': 'string',
          'SourceName': 'string',
          'SourceObject': 'string',
          'AllowProfileCreation': True|False,
          'SourceLastUpdatedTimestampFormat': 'string',
          'Fields': {
              'string': {
                  'Source': 'string',
                  'Target': 'string',
                  'ContentType': 'STRING'|'NUMBER'|'PHONE_NUMBER'|'EMAIL_ADDRESS'|'NAME'
              }
          },
          'Keys': {
              'string': [
                  {
                      'StandardIdentifiers': [
                          'PROFILE'|'ASSET'|'CASE'|'ORDER'|'COMMUNICATION_RECORD'|'AIR_PREFERENCE'|'HOTEL_PREFERENCE'|'AIR_BOOKING'|'AIR_SEGMENT'|'HOTEL_RESERVATION'|'HOTEL_STAY_REVENUE'|'LOYALTY'|'LOYALTY_TRANSACTION'|'LOYALTY_PROMOTION'|'UNIQUE'|'SECONDARY'|'LOOKUP_ONLY'|'NEW_ONLY',
                      ],
                      'FieldNames': [
                          'string',
                      ]
                  },
              ]
          }
      }
      
    **Response Structure**

    

    - *(dict) --* 
      

      - **TemplateId** *(string) --* 

        A unique identifier for the object template.

        
      

      - **SourceName** *(string) --* 

        The name of the source of the object template.

        
      

      - **SourceObject** *(string) --* 

        The source of the object template.

        
      

      - **AllowProfileCreation** *(boolean) --* 

        Indicates whether a profile should be created when data is received if one doesn’t exist for an object of this type. The default is ``FALSE``. If the AllowProfileCreation flag is set to ``FALSE``, then the service tries to fetch a standard profile and associate this object with the profile. If it is set to ``TRUE``, and if no match is found, then the service creates a new standard profile.

        
      

      - **SourceLastUpdatedTimestampFormat** *(string) --* 

        The format of your ``sourceLastUpdatedTimestamp`` that was previously set up.

        
      

      - **Fields** *(dict) --* 

        A map of the name and ObjectType field.

        
        

        - *(string) --* 
          

          - *(dict) --* 

            Represents a field in a ProfileObjectType.

            
            

            - **Source** *(string) --* 

              A field of a ProfileObject. For example: _source.FirstName, where “_source” is a ProfileObjectType of a Zendesk user and “FirstName” is a field in that ObjectType.

              
            

            - **Target** *(string) --* 

              The location of the data in the standard ProfileObject model. For example: _profile.Address.PostalCode.

              
            

            - **ContentType** *(string) --* 

              The content type of the field. Used for determining equality when searching.

              
        
    
  
      

      - **Keys** *(dict) --* 

        A list of unique keys that can be used to map data to the profile.

        
        

        - *(string) --* 
          

          - *(list) --* 
            

            - *(dict) --* 

              An object that defines the Key element of a ProfileObject. A Key is a special element that can be used to search for a customer profile.

              
              

              - **StandardIdentifiers** *(list) --* 

                The types of keys that a ProfileObject can have. Each ProfileObject can have only 1 UNIQUE key but multiple PROFILE keys. PROFILE, ASSET, CASE, or ORDER means that this key can be used to tie an object to a PROFILE, ASSET, CASE, or ORDER respectively. UNIQUE means that it can be used to uniquely identify an object. If a key a is marked as SECONDARY, it will be used to search for profiles after all other PROFILE keys have been searched. A LOOKUP_ONLY key is only used to match a profile but is not persisted to be used for searching of the profile. A NEW_ONLY key is only used if the profile does not already exist before the object is ingested, otherwise it is only used for matching objects to profiles.

                
                

                - *(string) --* 
            
              

              - **FieldNames** *(list) --* 

                The reference for the key name of the fields map.

                
                

                - *(string) --* 
            
          
        
    
  
  
  **Exceptions**
  
  *   :py:class:`CustomerProfiles.Client.exceptions.BadRequestException`

  
  *   :py:class:`CustomerProfiles.Client.exceptions.ResourceNotFoundException`

  
  *   :py:class:`CustomerProfiles.Client.exceptions.AccessDeniedException`

  
  *   :py:class:`CustomerProfiles.Client.exceptions.ThrottlingException`

  
  *   :py:class:`CustomerProfiles.Client.exceptions.InternalServerException`

  