# Customer service window

If you’re sending a message to a customer to initiate a conversation, you’ll need to use a message template. You’ll also need to do this if you’re replying to a customer after the 24-hour care window has closed.

### What is the WhatsApp customer service window?

A [customer service window](https://developers.facebook.com/docs/whatsapp/conversation-types#customer-service-window) is a period of time during which a business can send any type of message to a recipient (user). This window lasts for 24 hours and it can be initiated by either the business or by the customer.

When a customer sends any type of message to a business, and the business replies to it, the customer service window starts. This is known as user-initiated conversation and no prior opt-in is required. When a business sends a template message to a recipient (user), then the customer service window starts. This is known as business-initiated conversation and prior opt-in is required.

## Check if customer service window is open

For some channels it is only possible to send non template messages if the customer service window is open. The following endpoint will return the expiry time for any active service windows

## Get channel details for a contact

> Retrieve channel information for a given contact.

```json
{"openapi":"3.0.3","info":{"title":"Channels","version":"v1"},"tags":[{"name":"channel","description":"Channels are the installation of a platform for a workspace."}],"servers":[{"url":"https://api.bird.com","description":"Production API"}],"security":[{"accessKey":[]}],"components":{"securitySchemes":{"accessKey":{"description":"Uses the Authorization header: 'AccessKey ' followed by your access key token","scheme":"AccessKey","type":"http"}},"parameters":{"queryContactIdentifierValue":{"name":"contactIdentifierValue","description":"The receiver identifier value.","in":"query","allowEmptyValue":true,"schema":{"type":"string"}}},"schemas":{"ChannelContactInformation":{"type":"object","additionalProperties":false,"required":["serviceWindowExpireAt"],"properties":{"serviceWindowExpireAt":{"nullable":true,"type":"string","format":"date-time"},"isPermanentSession":{"nullable":true,"type":"boolean"},"metadata":{"nullable":true,"type":"object","additionalProperties":{"type":"string"}}}},"error.detailed":{"additionalProperties":false,"description":"An error returned from the API that includes additional details about the error. The `details` property can contain any additional information about the error that may be helpful for debugging or understanding the error.\n","properties":{"code":{"description":"A unique code that identifies the error. This code can be used to programmatically identify the error.","minLength":3,"type":"string"},"details":{"additionalProperties":true,"description":"Any additional information about the error that may be helpful for debugging or understanding the error.","type":"object"},"message":{"description":"A human-readable message that describes the error.","minLength":1,"type":"string"}},"required":["code","message"],"title":"DetailedError","type":"object"}},"responses":{"requestError":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/error.detailed"}}},"description":"An error"}}},"paths":{"/workspaces/{workspaceId}/channels/{channelId}/contacts/{contactId}":{"get":{"summary":"Get channel details for a contact","operationId":"getChannelContactInformation","description":"Retrieve channel information for a given contact.","tags":["channel"],"parameters":[{"$ref":"#/components/parameters/queryContactIdentifierValue"}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ChannelContactInformation"}}}},"404":{"$ref":"#/components/responses/requestError"}}}}}}
```


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.bird.com/api/channels-api/supported-channels/programmable-whatsapp/customer-service-window.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
