Skip to main content

Chat

Shoppers and customers can exchange messages while the shopper is picking items. The shopper uses the Instacart Shopper app as usual. The customer uses the Order Status page from their browser or mobile device.

Shoppers and customers can exchange text, icons, and images in the same way they would if the customer were using the Instacart Marketplace web application. The message content resides in the same database regardless of source.

Chat on the Order Status page

The Order Status page is built to manage communication between the shopper and the customer. However, SMS messages are also sent to the customer's phone number. The first message contains a link to the Order Status page. All status notifications and shopper communications are displayed on the Order Status page and also sent to the customer's phone number. The SMS message ensures that the customer is always notified of changes and shopper questions even if they leave their Order Status page. The customer can send messages from either location. For comparison, the Instacart Marketplace web application also displays messages in both places.

note

Customers cannot opt out of receiving SMS messages. Permission is implied by using the Order Status page. As a best practice, set your customer's expectations about how their phone number is used.

Shopper initiates the chat

The shopper initiates the chat at the start of picking by sending a message to the customer. The customer receives the message on the Order Status page and by SMS messaging to their phone number.

The following image shows the chat as it appears on the Order Status page, including the shopper's first message that initiates the chat and the customer's response:

The image shows the shopper introducing herself as Zelma and the customer responding "Hi, this is Sierra."

The message is marked as read when the customer opens the chat. The shopper receives a notification that the customer has responded and can view the message.

Chat remains active

The chat remains active until the customer receives their order. The Order Status page polls for new messages every 5 seconds while messages are being exchanged but backs off to every 30 seconds if the chat becomes quiet. Each new shopper message triggers an SMS text to the customer. Each new customer message sends a notification to the shopper.

For example, while picking items, a shopper might send a picture asking if you want an item. The following image shows a shopper asking the customer if they want the overripe bananas shown in the photo and the customer responding with a thumbs up emoji.

The image shows a shopper message that reads “The bananas are overripe. Do you want them?” with a photo of the produce. The customer responds with "Yes" and a thumbs up emoji.

Chat through the API

If you are implementing your own order status web application with the Post-checkout API, your retailer site receives a callback when the first message is sent from a shopper to a customer. The retailer site continues to poll for messages from the shopper and forwards the message.

The following image shows an order that is batch to a shopper, who uses the Instacart Shopper app, and the calls made to the Post-checkout API to manage chat messages between the customer and the shopper.

The image shows the flow of the API calls. The customer order is batched and assigned to a shopper, who uses the Shopper app. The shopper's chat goes to the chat service. The retailer's implementation of the status page gets a token to provide access to the page for the customer only. Then the customer can send messages to the shopper. The status page sends the message to the Post-checkout API, which forwards the message to the same chat service that is used by the Shopper app. The status page polls for shopper messages and can mark messages as read.