# What is client merchant id? Do I need to send store address when create order?

client_merchant_id is the unique identifer of store in Client system. At the beginning of integration, Zeek team will ask you to provide the store list. Store information like Store ID (ie. client_merchant_id), name, address, geolocations etc are included in the list.

Zeek team will setup the configuration in Zeek Platform. Therefore, when you are going to create order, you just need to send the client_merchant_id in API request. Open API will map client_merchant_id with the store information stored in Zeek Platform. Therefore, it does not need to send store address.

# What is pickup code

Pickup code is used for partner pickup at store. When partner accepts order, the pickup code will be shown in Zeek Partner App. When he / she arrives store, store manager should verify the partner is correct by using the pickup code. Therefore, the pickup code should also be shown in store panel (eg. POS).

Pickup code should always be 4-digit. It is input in merchant_order_id in API-3.3.1 Create order API request. The pickup code should be unique within a store (OR unique enough, eg. does not duplicate within a day).

# How to use merchant assignment APIs

"Merchant assignment" means assigning store(s) to user by the system. Geographical location, merchant status are the conditions for the assignment mechanism. Usually, the assignment is performed before order creation.

Here are the APIs involved in merchant assignment:

# API 3.1.4 Update merchant status

Update merchant status like business hours and business status. The setting affects merchant assignement only. Merchant business status is not considered during order creation.

# API 3.1.5 Update all merchants business buffer time

Update the business buffer time of the branched stores. The setting affects merchant assignement only. Merchant business status is not considered during order creation.

# API-3.2.4 Get supported merchants

Usage: Provide the supported merchants(stores) for delivery.

API mechanism: When a user location is input, the system returns the supported merchants according to the merchant assignement mechanism.

# API-3.2.1 Check merchant is supported

Usage: Provided a user location, check whether a merchant supports delivery to that user.

API mechanism: When a user location and a merchant ID is input, the system returns whether the merchant supports delivery.

# How to pass user address and location

In some request APIs (eg. API-3.3.1 Create order), developers need input User address (user_address)User location (user_location) or User address ID (user_address_id) parameters. We will explain how to input these parameters.

# user_address

This is the complete address of user. One of the purposes is giving the partner instruction of recipient address. Therefore, the content must be clear and complete. One example is "#12-456, Woodlands, Singapore, 730779".

# user_location

Zeek platform uses coordinates in delivery service. For example, it is used in time prediction. Therefore, coordinates paramter is mandatory in API request.

# user_address_id

user_address_id is the specific address ID provided by Zeek platform. Specific developers can input user_address_id instead of user_location in those APIs which supports user_address_id.