update_endpoints_batch

Pinpoint.Client.update_endpoints_batch(**kwargs)

Creates a new batch of endpoints for an application or updates the settings and attributes of a batch of existing endpoints for an application. You can also use this operation to define custom attributes for a batch of endpoints. If an update includes one or more values for a custom attribute, Amazon Pinpoint replaces (overwrites) any existing values with the new values.

See also: AWS API Documentation

Request Syntax

response = client.update_endpoints_batch(
    ApplicationId='string',
    EndpointBatchRequest={
        'Item': [
            {
                'Address': 'string',
                'Attributes': {
                    'string': [
                        'string',
                    ]
                },
                'ChannelType': 'PUSH'|'GCM'|'APNS'|'APNS_SANDBOX'|'APNS_VOIP'|'APNS_VOIP_SANDBOX'|'ADM'|'SMS'|'VOICE'|'EMAIL'|'BAIDU'|'CUSTOM'|'IN_APP',
                'Demographic': {
                    'AppVersion': 'string',
                    'Locale': 'string',
                    'Make': 'string',
                    'Model': 'string',
                    'ModelVersion': 'string',
                    'Platform': 'string',
                    'PlatformVersion': 'string',
                    'Timezone': 'string'
                },
                'EffectiveDate': 'string',
                'EndpointStatus': 'string',
                'Id': 'string',
                'Location': {
                    'City': 'string',
                    'Country': 'string',
                    'Latitude': 123.0,
                    'Longitude': 123.0,
                    'PostalCode': 'string',
                    'Region': 'string'
                },
                'Metrics': {
                    'string': 123.0
                },
                'OptOut': 'string',
                'RequestId': 'string',
                'User': {
                    'UserAttributes': {
                        'string': [
                            'string',
                        ]
                    },
                    'UserId': 'string'
                }
            },
        ]
    }
)
Parameters
  • ApplicationId (string) --

    [REQUIRED]

    The unique identifier for the application. This identifier is displayed as the Project ID on the Amazon Pinpoint console.

  • EndpointBatchRequest (dict) --

    [REQUIRED]

    Specifies a batch of endpoints to create or update and the settings and attributes to set or change for each endpoint.

    • Item (list) -- [REQUIRED]

      An array that defines the endpoints to create or update and, for each endpoint, the property values to set or change. An array can contain a maximum of 100 items.

      • (dict) --

        Specifies an endpoint to create or update and the settings and attributes to set or change for the endpoint.

        • Address (string) --

          The destination address for messages or push notifications that you send to the endpoint. The address varies by channel. For a push-notification channel, use the token provided by the push notification service, such as an Apple Push Notification service (APNs) device token or a Firebase Cloud Messaging (FCM) registration token. For the SMS channel, use a phone number in E.164 format, such as +12065550100. For the email channel, use an email address.

        • Attributes (dict) --

          One or more custom attributes that describe the endpoint by associating a name with an array of values. For example, the value of a custom attribute named Interests might be: ["Science", "Music", "Travel"]. You can use these attributes as filter criteria when you create segments. Attribute names are case sensitive.

          An attribute name can contain up to 50 characters. An attribute value can contain up to 100 characters. When you define the name of a custom attribute, avoid using the following characters: number sign (#), colon (:), question mark (?), backslash (), and slash (/). The Amazon Pinpoint console can't display attribute names that contain these characters. This restriction doesn't apply to attribute values.

          • (string) --
            • (list) --
              • (string) --
        • ChannelType (string) --

          The channel to use when sending messages or push notifications to the endpoint.

        • Demographic (dict) --

          The demographic information for the endpoint, such as the time zone and platform.

          • AppVersion (string) --

            The version of the app that's associated with the endpoint.

          • Locale (string) --

            The locale of the endpoint, in the following format: the ISO 639-1 alpha-2 code, followed by an underscore (_), followed by an ISO 3166-1 alpha-2 value.

          • Make (string) --

            The manufacturer of the endpoint device, such as apple or samsung.

          • Model (string) --

            The model name or number of the endpoint device, such as iPhone or SM-G900F.

          • ModelVersion (string) --

            The model version of the endpoint device.

          • Platform (string) --

            The platform of the endpoint device, such as ios.

          • PlatformVersion (string) --

            The platform version of the endpoint device.

          • Timezone (string) --

            The time zone of the endpoint, specified as a tz database name value, such as America/Los_Angeles.

        • EffectiveDate (string) --

          The date and time, in ISO 8601 format, when the endpoint was created or updated.

        • EndpointStatus (string) --

          Specifies whether to send messages or push notifications to the endpoint. Valid values are: ACTIVE, messages are sent to the endpoint; and, INACTIVE, messages aren’t sent to the endpoint.

          Amazon Pinpoint automatically sets this value to ACTIVE when you create an endpoint or update an existing endpoint. Amazon Pinpoint automatically sets this value to INACTIVE if you update another endpoint that has the same address specified by the Address property.

        • Id (string) --

          The unique identifier for the endpoint in the context of the batch.

        • Location (dict) --

          The geographic information for the endpoint.

          • City (string) --

            The name of the city where the endpoint is located.

          • Country (string) --

            The two-character code, in ISO 3166-1 alpha-2 format, for the country or region where the endpoint is located. For example, US for the United States.

          • Latitude (float) --

            The latitude coordinate of the endpoint location, rounded to one decimal place.

          • Longitude (float) --

            The longitude coordinate of the endpoint location, rounded to one decimal place.

          • PostalCode (string) --

            The postal or ZIP code for the area where the endpoint is located.

          • Region (string) --

            The name of the region where the endpoint is located. For locations in the United States, this value is the name of a state.

        • Metrics (dict) --

          One or more custom metrics that your app reports to Amazon Pinpoint for the endpoint.

          • (string) --
            • (float) --
        • OptOut (string) --

          Specifies whether the user who's associated with the endpoint has opted out of receiving messages and push notifications from you. Possible values are: ALL, the user has opted out and doesn't want to receive any messages or push notifications; and, NONE, the user hasn't opted out and wants to receive all messages and push notifications.

        • RequestId (string) --

          The unique identifier for the request to create or update the endpoint.

        • User (dict) --

          One or more custom attributes that describe the user who's associated with the endpoint.

          • UserAttributes (dict) --

            One or more custom attributes that describe the user by associating a name with an array of values. For example, the value of an attribute named Interests might be: ["Science", "Music", "Travel"]. You can use these attributes as filter criteria when you create segments. Attribute names are case sensitive.

            An attribute name can contain up to 50 characters. An attribute value can contain up to 100 characters. When you define the name of a custom attribute, avoid using the following characters: number sign (#), colon (:), question mark (?), backslash (), and slash (/). The Amazon Pinpoint console can't display attribute names that contain these characters. This restriction doesn't apply to attribute values.

            • (string) --
              • (list) --
                • (string) --
          • UserId (string) --

            The unique identifier for the user.

Return type

dict

Returns

Response Syntax

{
    'MessageBody': {
        'Message': 'string',
        'RequestID': 'string'
    }
}

Response Structure

  • (dict) --

    The request was accepted for processing. Processing may not be complete.

    • MessageBody (dict) --

      Provides information about an API request or response.

      • Message (string) --

        The message that's returned from the API.

      • RequestID (string) --

        The unique identifier for the request or response.

Exceptions

  • Pinpoint.Client.exceptions.BadRequestException
  • Pinpoint.Client.exceptions.InternalServerErrorException
  • Pinpoint.Client.exceptions.PayloadTooLargeException
  • Pinpoint.Client.exceptions.ForbiddenException
  • Pinpoint.Client.exceptions.NotFoundException
  • Pinpoint.Client.exceptions.MethodNotAllowedException
  • Pinpoint.Client.exceptions.TooManyRequestsException