---
title: "Configuring custom address completion"
slug: "configuring-custom-address-completion"
tags: ["Associate App configuration", "customizeassociateapp", "selling experience", "Associate App", "configuration", "customer", "address completion", "sdk"]
updated: 2025-01-28T13:09:44Z
published: 2025-01-28T13:09:44Z
canonical: "docs.newstore.com/configuring-custom-address-completion"
---

> ## Documentation Index
> Fetch the complete documentation index at: https://docs.newstore.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Configuring custom address completion

Associate App uses `Apple MapKit` by default to complete addresses when creating or updating customer profiles or during shipment for endless aisle orders.

However, in certain countries, `Apple MapKit` does not provide accurate addresses for certain countries. For such situations, you can use a custom solution to control how to process addresses in the correct format. Using this custom solution allows you to use the address provider of your choice, such as `AWS locations`, `Google Maps`, and others.

## Setting up custom address completion

To display custom address completion information in Associate App, set up a lambda function for NewStore to fetch the correct addresses.

Configure the lambda function to support the `GET` method, enabling Associate App to send requests with specific query parameters. The lambda function requires the following parameters to process requests from Associate App:

| `query: string` | The address search query. For example, street name and house number |
| --- | --- |
| `context: string` | Additional details of the address. For example, postal code and city |
| `lang: string` | The client locale and language |

Here is an example of what the `GET` request should look like:

```plaintext

<lambda URL>?query=745%20Atlantic%20Ave&context=Boston%2C%20MA%2C%20United%20States&lang=en-us
```

The response of the lambda must match the format of the payload described here:

```plaintext
interface FullAddress {
  name: string // Displayed as Address1 field in the address form in the app
  zip: string
  city: string
  cityDistrict: string
  country: string
  countryCode: string
  administrativeArea: string // Displayed as State field in the address form in the app
  streetName: string
  houseNumber: string
}
```

For an example of the lambda function payload to integrate custom address providers with Associate App, see the [integration guide](/v1/docs/adding-a-custom-address-completion#custom-address-completion-using-aws-lambda-functions).

## Enabling custom address completion

To enable associates to view address completion in the app from address providers of your choice, enable this feature:

1. Use the [Update app configuration](https://docs.newstore.net/api/configuration/apps/associate-app-config-api_config#operation/putConfig) method.
2. In `customizations` > `address_completion`, specify the lambda URL you have configured in the previous section or the one provided by NewStore (`https://{tenant}.p.newstore.net/retail-org/address-completions/addresses`).

> [!TIP]
> Note
> 
> `Apple Mapkit` for address completion is enabled by default. You only need to enable this feature to ensure addresses are retrieved from your preferred address provider other than `Apple Mapkit`.
> 
> `Apple Mapkit` uses the search service provided by Apple. The custom implementation provided by NewStore uses AWS location service with `HERE Technologies` as a provider.

**Related topics**

- [Custom address completion using AWS lambda functions](/v1/docs/adding-a-custom-address-completion#custom-address-completion-using-aws-lambda-functions)
- [Using NewStore Associate App](/v1/docs/using-newstore-associate-app#assoapp-instorepurchase)
