# WeChat

Read and answer WeChat Official Account messages, with automations and webhooks, through the Zernio API

import { PlatformCapabilities } from '@/components/platform-capabilities';

Connect your verified WeChat Official Account (Service Account). Messages land in the [inbox](/messages/list-inbox-conversations) next to WhatsApp, LINE and your social DMs.

## Quick reference

<PlatformCapabilities rows={[
  { property: 'Account', value: 'A verified WeChat Official Account of the Service Account type' },
  { property: 'Connect', value: 'AppID and AppSecret, Zernio IPs on the API IP whitelist, then the Server URL, Token and EncodingAESKey Zernio returns' },
  { property: 'Encryption', value: 'Safe mode' },
  { property: 'Inbound', value: 'Text, images, voice, video, locations, links, menu clicks' },
  { property: 'Replies', value: 'Customer service messages: up to 5 within 48 hours of the customer\'s last message' },
  { property: 'Automations and webhooks', value: 'Yes' },
  { property: 'Broadcasts and articles', value: 'No, not yet' },
]} />

## Before you start

You need a verified Service Account and admin access to the [Weixin Official Accounts Platform](https://mp.weixin.qq.com/). Subscription Accounts and unverified accounts are not supported.

## Connect

Add Zernio's IPs (`GET /v1/connect/wechat/ip-whitelist`) to the account's API IP whitelist. Send the AppID and AppSecret to `POST /v1/connect/wechat/credentials`, then paste the server values it returns. [Connect](/platforms/wechat/connect) has every step.

## Common errors

- **`wechat_ip_not_whitelisted`**: Zernio's IPs are not on the API IP whitelist yet. Add them and connect again.
- **No messages arrive**: Server Configuration is not enabled, or its Token or EncodingAESKey does not match.
- **Reply rejected**: more than 48 hours passed since the customer's last message, or 5 replies were already sent in that window.

## In this section

<PlatformPages platform="wechat" />

## Related

- [Connect WeChat](/connect/connect-wechat-credentials) - The credentials connect endpoint
- [Get the IP whitelist](/connect/get-wechat-ip-whitelist) - The IPs to whitelist before connecting
- [Send a message](/messages/send-inbox-message) - Same inbox endpoint as every other channel
- [Webhooks](/webhooks) - `message.received` and the other inbox events