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

**************************
detect_profile_object_type
**************************



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

  

  The process of detecting profile object type mapping by using given objects.

  

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


  **Request Syntax**
  ::

    response = client.detect_profile_object_type(
        Objects=[
            'string',
        ],
        DomainName='string'
    )
    
  :type Objects: list
  :param Objects: **[REQUIRED]** 

    A string that is serialized from a JSON object.

    

  
    - *(string) --* 

    

  :type DomainName: string
  :param DomainName: **[REQUIRED]** 

    The unique name of the domain.

    

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

    
    ::

      {
          'DetectedProfileObjectTypes': [
              {
                  '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) --* 
      

      - **DetectedProfileObjectTypes** *(list) --* 

        Detected ``ProfileObjectType`` mappings from given objects. A maximum of one mapping is supported.

        
        

        - *(dict) --* 

          Contains ``ProfileObjectType`` mapping information from the model.

          
          

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

            The format of ``sourceLastUpdatedTimestamp`` that was detected in fields.

            
          

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

            A map of the name and the ``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 a 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`

  