Chat
Integração
Disparo Manual de Mensagem

Disparo Manual

O Disparo Manual é um recurso que permite o envio de mensagens HSM (Highly Structured Message) de forma manual, sem a necessidade de um fluxo automatizado, para números WhatsApp.

1. Listar Campanhas

Retorna as campanhas de bot disponíveis para envio manual de HSM.

1.1 Método

SDKolosAgentChannel.listCampaignHsmManual()
EndpointGET WebApiAgentControl/AgentCommand/ListCampaignHsmManual?AgentId={agentId}

1.2 Retorno

[
  {
    "campaignId": 20,
    "description": "Bot Homolog HSM Manual"
  }
]

2. Listar Templates HSM

Retorna os templates HSM associados a uma campanha de bot específica.

2.1 Método

SDKolosAgentChannel.listTemplateHsmManual(campaignId)
EndpointGET WebApiAgentControl/AgentCommand/ListTemplateHsmManual?AgentId={agentId}&CampaignId={campaignId}

2.2 Parâmetros

ParâmetroTipoDescrição
campaignIdnumberID da campanha retornado em Listar Campanhas

2.3 Retorno

[
  {
    "templateId": "xx",
    "name": "xx",
    "category": "MARKETING",
    "status": "APPROVED",
    "language": "pt_BR",
    "body": "Olá *{{1}}*, em nossa jornada de *testes* você poderá aproveitar _experiencias diferenciadas_ para conhecer novas funcionalidades e serviços do *Olos Text*. \n\nVamos juntos ?🙌",
    "headerFormat": "",
    "inboundCampaignId": 21
  }
]

2.4 Sobre os Templates

O campo body de cada item representa o conteúdo do template. As convenções de formatação são:

  • Variáveis: indicadas pelo padrão {{x}} (ex: {{1}}, {{2}}), podendo ser substituídas por valores dinâmicos.
  • Negrito: texto entre asteriscos — *texto*
  • Itálico: texto entre underscores — _texto_

3. Envio

Realiza o envio de uma mensagem HSM manual para um número WhatsApp específico.

3.1 Método

SDKolosAgentChannel.sendManualHsmRequest(AgentId, ChatCampaignId, BotCampaignId, CustomerPhoneNumber, TemplateId, TemplateParams, TemplateHeaderUrl, TemplateMessage, ConversationId, ExtraData)
EndpointPOST WebApiAgentControl/AgentCommand/SendManualHsmRequest
ListenerolosOn("sendmanualhsmrequestresponsetext", callback)

Payload

{
  "AgentId": 0,
  "ChatCampaignId": 0,
  "BotCampaignId": 0,
  "CustomerPhoneNumber": "",
  "TemplateId": "",
  "TemplateParams": "",
  "TemplateHeaderUrl": "",
  "ConversationId": "",
  "TemplateMessage": "Olá *teste*, em nossa jornada de *testes* você poderá aproveitar _experiencias diferenciadas_ para conhecer novas funcionalidades e serviços do *Olos Text*. \n\nVamos juntos ?🙌",
  "ExtraData": "{\"Nome\":\"teste\",\"Empresa\":\"teste\"}"
}

Descrição dos campos do Payload

CampoObrigatórioDescrição
AgentIdSimID do agente
ChatCampaignIdSimID da campanha de chat (inbound)
BotCampaignIdSimID da campanha de bot (HSM manual)
CustomerPhoneNumberSimNúmero de telefone do destinatário
TemplateIdSimID do template obtido em Listar Templates HSM
TemplateParamsSimString com índice e valor das variáveis separados por |. Ex: 1:var1|2:var2
TemplateHeaderUrlNãoURL do cabeçalho (pode ser vazio)
ConversationIdNãoID da conversa (pode ser vazio)
TemplateMessageSimTexto do template com as variáveis já substituídas
ExtraDataNãoJSON stringificado com dados extras do contato. Não influencia no envio (pode ser vazio)

3.2 Retorno

O retorno chega via getNextEventChat com eventTypeId = 63.

  • Se o envio for bem-sucedido, o campo messageId será preenchido.
  • Se houver erro, os campos errorCode e errorMessage serão preenchidos.
{
  "eventTypeId": 63,
  "timestamp": "2026-05-08T15:51:21.613648-03:00",
  "campaignId": 0,
  "eventData": {
    "messageId": "",
    "conversationId": "",
    "agentId": 0,
    "errorCode": 0,
    "errorMessage": "",
    "messageKey": "",
    "messageKeyVars": ""
  },
  "channel": null
}

4. Histórico de HSMs Enviados

4.1 Método

SDKolosAgentChannel.listHsmSent(agentId)
EndpointPOST WebApiAgentControl/AgentCommand/ListHsmSent
ListenerolosOn("listhsmsentresponsetext", callback)

Payload

{
  "AgentId": 0
}

4.2 Retorno

O retorno chega via getNextEventChat com eventTypeId = 69. O campo hsms contém a lista de HSMs enviados.

Cada item da lista possui:

CampoDescrição
sentResultStatus do envio do HSM. Valores possíveis: Accepted, Sent failure
lastEventÚltimo status rastreado da mensagem. Valores possíveis: Accepted, SENT, DELIVERED, READ, Unknown, Sent failure
{
  "eventTypeId": 69,
  "timestamp": "2026-05-08T17:48:26.6529948-03:00",
  "campaignId": 0,
  "eventData": {
    "agentId": 0,
    "errorCode": 0,
    "errorMessage": null,
    "messageKey": "AMD0000",
    "messageKeyVars": null,
    "hsms": [
      {
        "agentId": 0,
        "agentName": "",
        "botConversationId": "",
        "messageId": "",
        "botCampaignId": 0,
        "botCampaignName": "Bot Homolog HSM Manual",
        "customerPhoneNumber": "",
        "templateId": "",
        "templateName": "",
        "templateText": "",
        "sentDate": "2026-05-08 15:51:20",
        "sentResult": "Accepted",
        "lastUpdate": "2026-05-08 15:51:24",
        "lastEvent": "SENT",
        "eventErrorMsg": "",
        "extraData": "",
        "wabPhoneNumberId": ""
      }
    ]
  },
  "channel": null
}