Todos os produtos
Search
Central de documentação

Chat App Message Service:Envio de mensagens via APIs

Última atualização: Sep 17, 2026

Chat App Message Service oferece APIs para criar modelos, enviar mensagens individuais e enviar mensagens em massa. Este tópico usa o WhatsApp como exemplo. Outros tipos de canal seguem um processo semelhante.

Você pode chamar as APIs do Chat App Message Service das seguintes formas:

  • Alibaba Cloud OpenAPI Portal

    Depure APIs e obtenha exemplos de solicitação SDK por meio de uma interface interativa. Ideal para desenvolvedores que estão começando na Alibaba Cloud.

  • SDK

    SDKs estão disponíveis para diversas linguagens de programação, como Java, Go, PHP e Python. Usar um SDK para integrar o Chat App Message Service aumenta a eficiência do desenvolvimento.

  • Encapsulamento personalizado (não recomendado)

    Os SDKs da Alibaba Cloud gerenciam assinatura de solicitações, timeouts e novas tentativas. Recomendamos usar o SDK para reduzir custos de desenvolvimento. Caso precise fazer chamadas diretas à API, consulte SendChatappMessage e Request syntax and signature method V3.

Para integrar o Chat App Message Service com um SDK, revise as APIs no OpenAPI Portal e siga o processo abaixo para integrar o Chat App Message Service:

image

Preparativos

Preparativo

Descrição

Referência

Registre uma conta Alibaba Cloud

Conclua a verificação de identidade corporativa

  • A verificação de identidade corporativa confirma que o titular da conta é uma empresa ou entidade governamental.

  • Chat App Message Service não oferece suporte a contas individuais.

Create an Alibaba Cloud account

Enterprise identity verification

Ative o service

Faça login no Chat App Message Service console e ative o service.

-

Configure permissões de usuário

Contas Alibaba Cloud possuem permissões amplas. Use um usuário RAM para chamadas de API e operações diárias.

Verifique as permissões de um usuário fazendo login no RAM console e clicando no nome do usuário RAM. Certifique-se de que o usuário RAM que fará as chamadas de API tenha as permissões necessárias para o Chat App Message Service:

  • AliyunCamsFullAccess: Permissão total para gerenciar o Chat App Message Service.

Create a RAM user

Manage RAM user permissions

RAM authorization

AccessKey ID

Faça login no RAM console e clique em nome do usuário RAM para visualizar o AccessKey ID.

Create an AccessKey

AccessKey secret

O AccessKey secret é exibido apenas no momento da criação. Se você não tiver um backup local, crie um novo par de AccessKey.

Configuração do ambiente

Este exemplo usa Java. Para outras linguagens e instalação do SDK, consulte Installation Method.

  1. Verifique se o Java 8+ está instalado. Para instruções detalhadas, consulte Set up a Java development environment on Windows.

  2. Instale o SDK configurando as dependências do Maven.

    No arquivo pom.xml do seu projeto Maven, adicione o seguinte trecho em <dependencies> e substitua the-latest-version pelo número da versão mais recente. Em seguida, recarregue as dependências do Maven.

    <dependency>
      <groupId>com.aliyun</groupId>
      <artifactId>alibabacloud-cams20200606</artifactId>
      <!-- Replace 'the-latest-version' with the latest version number: https://mvnrepository.com/artifact/com.aliyun/alibabacloud-cams20200606 -->
      <version>the-latest-version</version>
    </dependency>
  3. Configure variáveis de ambiente: Para evitar codificar seu AccessKey pair diretamente no código, armazene as credenciais em environment variables. Após a configuração, reinicie sua IDE, interface de linha de comando e outros aplicativos para carregar as novas variáveis.

  4. Configure um proxy (opcional). Para rotear solicitações por meio de um proxy, configure-o no SDK. Proxy configuration.

Informações básicas da API

Versão da API

2020-06-06

API style

RPC

Service endpoint

(Endpoint)

Endpoint público: cams.ap-southeast-1.aliyuncs.com

Revise os parâmetros da API antes de fazer chamadas. Online Debugging | API Overview

Fluxo de trabalho

image
  1. Crie um canal: Acesse a página Channel Management.

    1. Um canal é o tipo de caminho usado para enviar mensagens. Canais suportados: WhatsApp, Viber, Messenger, Instagram e Email.

    2. Cada canal suporta apenas seu tipo de mensagem correspondente.

  2. Registre e vincule uma WABA: Chame a API ChatappBindWaba para vincular uma WhatsApp Business Account (WABA).

    • É necessário ter uma WABA registrada antes de chamar esta API. Não é possível registrar WABAs via API — faça o registro pelo console do Chat App Messaging Service.

    • Uma WABA (WhatsApp Business Account) é obrigatória para enviar mensagens comerciais no WhatsApp. WABAs verificadas exibem um selo que aumenta a confiança do cliente, melhora a imagem da marca e reduz interferências de mensagens fraudulentas.

  3. Adicione um número: Chame a API AddChatappPhoneNumber para adicionar um número. Este número de telefone será usado para enviar mensagens do WhatsApp.

    • Sincronize os números da sua WABA vinculada e aprovada com a plataforma Business Manager (BM) usando a API ChatappSyncPhoneNumber.

    • Migre números de telefone de outros BSPs para a Alibaba Cloud. Os números migrados mantêm o nome de exibição, classificação de qualidade, limites de mensagens, status de conta comercial oficial e todos os modelos de mensagens de alta qualidade aprovados anteriormente. Use a API CreateChatappMigrationInitiate para iniciar a migração.

  4. Verifique um número: Chame a API GetChatappVerifyCode para obter um código de verificação para o número. Em seguida, use a operação da API ChatappVerifyAndRegistr para verificar o número. Após a verificação, use a operação da API GetPhoneNumberVerificationStatus para consultar o status da verificação.

  5. Crie e projete um modelo: Chame a API CreateChatappTemplate para criar um modelo. Após a criação, o modelo é enviado automaticamente para revisão. Em seguida, use a API GetChatappTemplateDetail para consultar os detalhes da revisão do modelo.

    • Monitore o status da revisão após o envio. As revisões geralmente são concluídas em cinco minutos, mas podem levar mais de 24 horas.

    • A categoria de um modelo de mensagem do WhatsApp pode mudar automaticamente durante a revisão. Ao chamar a API CreateChatappTemplate, defina CategoryChangePaused como true para pausar o envio quando a categoria for alterada. WhatsApp message template category changes and sending controls.

  6. Envie mensagens: Chame a API SendChatappMessage ou SendChatappMassMessage para enviar mensagens.

    • Certifique-se de que sua conta tenha saldo suficiente antes de enviar. Pricing.

  7. Visualize detalhes de envio de mensagens: Receba relatórios das mensagens enviadas por meio do callback ChatAppStatus (Simple Message Queue | HTTP URL).

  8. Receba mensagens originadas no celular (MO): Receba mensagens recebidas por meio do callback ChatAppInbound (Simple Message Queue | HTTP URL).

Para mais informações sobre operações de API, consulte API overview .

Código de exemplo

O exemplo a seguir envia uma mensagem chamando a API SendChatappMessage. Preencha os parâmetros conforme indicado nos comentários.

// This file is auto-generated, don't edit it. Thanks.
package com.aliyun.sample;

import com.aliyun.tea.*;

public class Sample {

    /**
     * <b>description</b> :
     * <p>Initialize the client using credentials.</p>
     * @return Client
     *
     * @throws Exception
     */
    public static com.aliyun.cams20200606.Client createClient() throws Exception {
        // For production environment, we recommend a more secure method that does not hardcode the AccessKey. For details, visit https://www.alibabacloud.com/help/doc-detail/2542825.html.
        com.aliyun.credentials.Client credential = new com.aliyun.credentials.Client();
        com.aliyun.teaopenapi.models.Config config = new com.aliyun.teaopenapi.models.Config()
                .setCredential(credential);
        // The service endpoint. For details, visit https://api.alibabacloud.com/product/cams.
        config.endpoint = "cams.ap-southeast-1.aliyuncs.com";
        return new com.aliyun.cams20200606.Client(config);
    }

    public static void main(String[] args_) throws Exception {

        com.aliyun.cams20200606.Client client = Sample.createClient();
        java.util.Map<String, String> templateParams = TeaConverter.buildMap(
                //Replace these with the variable names and values from your template
                new TeaPair("name", "Bob"),
                new TeaPair("sex", "Male")
        );
        com.aliyun.cams20200606.models.SendChatappMessageRequest sendChatappMessageRequest = new com.aliyun.cams20200606.models.SendChatappMessageRequest()
                //Parameters for sending the message.
                .setTemplateParams(templateParams)
                .setTemplateCode("XXXXXXXXXXX")
                .setChannelType("whatsapp")
                .setType("template")
                .setLanguage("en")
                .setFrom("XXXXXXXX")
                .setTo("XXXXXXXX")
                .setCustSpaceId("XXXXXXXXXXX");
        com.aliyun.teautil.models.RuntimeOptions runtime = new com.aliyun.teautil.models.RuntimeOptions();
        try {
            // If you copy this code to run, print the API return value yourself.
            client.sendChatappMessageWithOptions(sendChatappMessageRequest, runtime);
        } catch (TeaException error) {
            // This is for printing and demonstration purposes only. Handle exceptions carefully and do not ignore them in your project.
            // Error message.
            System.out.println(error.getMessage());
            // Diagnostic address.
            System.out.println(error.getData().get("Recommend"));
            com.aliyun.teautil.Common.assertAsString(error.message);
        } catch (Exception _error) {
            TeaException error = new TeaException(_error.getMessage(), _error);
            // This is for printing and demonstration purposes only. Handle exceptions carefully and do not ignore them in your project.
            // Error message.
            System.out.println(error.getMessage());
            // Diagnostic address
            System.out.println(error.getData().get("Recommend"));
            com.aliyun.teautil.Common.assertAsString(error.message);
        }
    }
}

Visite o OpenAPI Portal para exemplos completos de SDK em outras linguagens. Para fazer chamadas diretas à API, consulte SendChatappMessage e Request syntax and signature method V3.

Perguntas frequentes