Skip to content

AddressBook

Outgoing Messages

AddAddressBookReply

Reply for AddAddressBook message.

JSON Structure

{
    "header": {
        "version": "4.0",
        "messageType": "Reply",
        "id": {{String}},
        "messageDescription": {
            "topic": "AddressBook",
            "action": "AddAddressBook",
            "replyToId": {{String}}        
        }
    },
    "payload": {
        "success": {{Bool}}        
    }
}

Payload

Property Type Required Description Example
success Bool Yes False if address book was already added or some internal error, otherwise true on successful.

RemoveAddressBookReply

Reply for RemoveAddressBook message.

JSON Structure

{
    "header": {
        "version": "4.0",
        "messageType": "Reply",
        "id": {{String}},
        "messageDescription": {
            "topic": "AddressBook",
            "action": "RemoveAddressBook",
            "replyToId": {{String}}        
        }
    },
    "payload": {
        "success": {{Bool}}        
    }
}

Payload

Property Type Required Description Example
success Bool Yes False if address book is not already added or some internal error, otherwise true on successful.

Incoming Messages

AddAddressBook

Notifies the engine on an availability of an address book.

JSON Structure

{
    "header": {
        "version": "4.0",
        "messageType": "Publish",
        "id": {{String}},
        "messageDescription": {
            "topic": "AddressBook",
            "action": "AddAddressBook"
        }
    },
    "payload": {
        "addressBookSourceId": {{String}},
        "name": {{String}},
        "type": {{AddressBookType}},
        "addressBookData": {{AddressBook}}        
    }
}

Payload

Property Type Required Description Example
addressBookSourceId String Yes A unique identifier for an address book.
name String Yes Friendly name of the address book, or an empty string if not available.
type AddressBookType Yes Type of the address book AddressBookType.
addressBookData AddressBook Yes A filled out AddressBook object.

RemoveAddressBook

Notifies the engine on a non-availability of an already available address book.

JSON Structure

{
    "header": {
        "version": "4.0",
        "messageType": "Publish",
        "id": {{String}},
        "messageDescription": {
            "topic": "AddressBook",
            "action": "RemoveAddressBook"
        }
    },
    "payload": {
        "addressBookSourceId": {{String}}        
    }
}

Payload

Property Type Required Description Example
addressBookSourceId String Yes A unique identifier for an address book. Set this to empty string for engine to remove all uploaded address books.

Type Definitions

AddressBook

JSON Structure

{
    "navigationNames": [{{NavigationName}}],
    "contactNames": [{{ContactName}}],
    "phoneData": [{{PhoneData}}],
    "postalAddresses": [{{PostalAddress}}]        
}

Properties

Property Type Required Description Example
navigationNames NavigationName[] Yes List of NavigationName.
contactNames ContactName[] Yes List of ContactName.
phoneData PhoneData[] Yes List of PhoneData.
postalAddresses PostalAddress[] Yes List of PostalAddresses.

JSON Structure

{
    "entryId": {{String}},
    "name": {{String}},
    "phoneticName": {{String}}        
}

Properties

Property Type Required Description Example
entryId String Yes A unique identifier of entry in an address book.
name String Yes Name of the entry, or an empty string if not available. If the name field contains Kanji characters, you must also provide the corresponding phoneticName. Alexa uses the phonetic values for entity resolution and TTS when the device locale setting is "ja-JP".
phoneticName String No Phonetic name of the entry if available.

ContactName

JSON Structure

{
    "entryId": {{String}},
    "firstName": {{String}},
    "lastName": {{String}},
    "nickname": {{String}},
    "phoneticFirstName": {{String}},
    "phoneticLastName": {{String}}        
}

Properties

Property Type Required Description Example
entryId String Yes A unique identifier of entry in an address book.
firstName String Yes First name of the entry, or an empty string if not available. If the firstName field contains Kanji characters, you must also provide the corresponding phoneticFirstName. Alexa uses the phonetic values for entity resolution and TTS when the device locale setting is "ja-JP".
lastName String Yes Last name of the entry, or an empty string if not available. If the lastName field contains Kanji characters, you must also provide the corresponding phoneticLastName. Alexa uses the phonetic values for entity resolution and TTS when the device locale setting is "ja-JP".
nickname String Yes Name of the entry, or an empty string if not available.
phoneticFirstName String No Phonetic first name of entry if available.
phoneticLastName String No Phonetic last name of entry if available.

PhoneData

JSON Structure

{
    "entryId": {{String}},
    "label": {{String}},
    "number": {{String}}        
}

Properties

Property Type Required Description Example
entryId String Yes A unique identifier of entry in an address book.
label String Yes Alphanumeric phone label (Example: HOME, MOBILE), or an empty string if not available. If multiple numbers are associated with a contact, Alexa will verbally ask the customer to confirm which number they want. If labels are assigned to the numbers and Alexa recognizes the types Alexa asks for confirmation; otherwise, Alexa says the last four digits of each number for the customer to select the one to call.
number String Yes Numeric phone number, or an empty string if not available.

PostalAddress

JSON Structure

{
    "entryId": {{String}},
    "label": {{String}},
    "addressLine1": {{String}},
    "addressLine2": {{String}},
    "addressLine3": {{String}},
    "city": {{String}},
    "stateOrRegion": {{String}},
    "districtOrCounty": {{String}},
    "postalCode": {{String}},
    "country": {{String}},
    "latitudeInDegrees": {{Float}},
    "longitudeInDegrees": {{Float}},
    "accuracyInMeters": {{Float}}        
}

Properties

Property Type Required Description Example
entryId String Yes A unique identifier of entry in an address book.
label String Yes Alphanumeric phone label (Example: HOME, MOBILE), or an empty string if not available.
addressLine1 String Yes First line of the postal address, or an empty string if not available.
addressLine2 String Yes Second line of the postal address, or an empty string if not available.
addressLine3 String Yes addressLine3 Third line of the postal address, or an empty string if not available.
city String Yes City name, or an empty string if not available.
stateOrRegion String Yes State or Region name, or an empty string if not available.
districtOrCounty String Yes District or County name, or an empty string if not available.
postalCode String Yes Postal code or Zip code, or an empty string if not available.
country String Yes Country name, or an empty string if not available.
latitudeInDegrees Float No (default: 0.0f) Geo latitude in degrees. Optional when AddressBookType is CONTACT.
longitudeInDegrees Float No (default: 0.0f) Geo longitude in degrees. Optional when AddressBookType is CONTACT.
accuracyInMeters Float No (default: 0.0f) Accuracy in meters, or zero if not available. Optional when AddressBookType is CONTACT.

Enums

AddressBookType

Values

Value Description
"CONTACT" Contacts.
"NAVIGATION" Navigation Address.