Skip to content

Instantly share code, notes, and snippets.

@blennopardim
Last active September 23, 2021 03:29
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save blennopardim/4774e3184a1c82ad80c3aa2f0364c39d to your computer and use it in GitHub Desktop.
Save blennopardim/4774e3184a1c82ad80c3aa2f0364c39d to your computer and use it in GitHub Desktop.
Documentação webhook chatPro

error_qr

Caso ao solicitar a criação de uma nova instancia o token expire ou não seja escaneado

{ "type" : "error_qr" , "message" : "QR CODE Erro" }

qr_sucess

Retono logo depois que o usuário faz o scan do qrcode com sucesso

{ "type": "qr_sucess" }

send_message

Mensagem enviada pelo dispositivo

Esse evento só e disparado quando a mensagem for enviada pelo dispositivo físico.

  • Body['Info']['Id'] = Id da message
  • Body['Info']['RemoteJid'] = Número de destino
    • @s.whatsapp.net = Pessoal
    • @g.us = Grupo
  • Body['Info']['FromMe'] = Quem disparou a mensagem.
    • true = Envio feito pelo celular conectado
    • false = Envio feito pelo contato
  • Body['Info']['Status'] = Status da Mensagem.
    • 0 = Enviando...
    • 1 = Enviado, celular de destino ainda não recebeu.
    • 2 = Enviado, e recebido pelo celular de destino.
    • 3 = Enviado, recebido e lido pelo celular de destino.
  • Body['Info']['Text'] = Corpo da mensagem.
{
  "Type": "send_message",
  "Body": {
    "Info": {
      "Id": "3AF6205490C5AE12BC0C",
      "RemoteJid": "556281127754@s.whatsapp.net",
      "SenderJid": "",
      "FromMe": true,
      "Timestamp": 1567782035,
      "PushName": "",
      "Status": 4,
      "QuotedMessageID": "",
      "Source": {
        "key": {
          "remoteJid": "556281127754@s.whatsapp.net",
          "fromMe": true,
          "id": "3AF6205490C5AE12BC0C"
        },
        "message": {
          "conversation": "Eu ligo a mangueira aqui"
        },
        "messageTimestamp": 1567782035,
        "status": 4
      }
    },
    "Text": "Eu ligo a mangueira aqui"
  }
}

receveid_message - Nova message Recebida

Mensagem recebida no dispositivo.

Esse evento só e disparado quando chega uma nova mensagem no dispositivo.

  • Body['Info']['Id'] = Id da message
  • Body['Info']['RemoteJid'] = Número de destino
    • @s.whatsapp.net = Pessoal
    • @g.us = Grupo
  • Body['Info']['FromMe'] = Quem disparou a mensagem.
    • true = Envio feito pelo celular conectado
    • false = Envio feito pelo contato
  • Body['Info']['Timestamp'] = Data do evento
  • Body['Info']['Status'] = Status da Mensagem.
    • 0 = Enviando...
    • 1 = Enviado, celular de destino ainda não recebeu.
    • 2 = Enviado, e recebido pelo celular de destino.
    • 3 = Enviado, recebido e lido pelo celular de destino.
  • Body['Info']['Text'] = Corpo da mensagem.
{
  "Type": "receveid_message",
  "Body": {
    "Info": {
      "Id": "3EB0A70830E2722862A3",
      "RemoteJid": "551199999999@s.whatsapp.net",
      "SenderJid": "",
      "FromMe": false,
      "Timestamp": 1567792824,
      "PushName": "",
      "Status": 1,
      "QuotedMessageID": "",
      "Source": {
        "key": {
          "remoteJid": "551199999999@s.whatsapp.net",
          "fromMe": false,
          "id": "3EB0A70830E2722862A3"
        },
        "message": {
          "conversation": "Olá essa e uma nova mensagem."
        },
        "messageTimestamp": 1567792824
      }
    },
    "Text": "Olá essa e uma nova mensagem."
  }
}

Exemplo de message recebida de um grupo.

  • RemoteJid agora vem com o número separado por - onde tem um timestamp da data da criação do grupo exemplo 1545397751 nesse caso o SenderJid e o número do participante do grupo que enviou a mensagem.
{
  "Type": "receveid_message",
  "Body": {
    "Info": {
      "Id": "93B430B9B0F61D0C857CACC1887B68D2",
      "RemoteJid": "5511999999999-1545397751@g.us",
      "SenderJid": "5511999999998@s.whatsapp.net",
      "FromMe": false,
      "Timestamp": 1567532489,
      "PushName": "",
      "Status": 1,
      "QuotedMessageID": "",
      "Source": {
        "key": {
          "remoteJid": "5511999999999-1545397751@g.us",
          "fromMe": false,
          "id": "93B430B9B0F61D0C857CACC1887B68D2",
          "participant": "5511999999998@s.whatsapp.net"
        },
        "message": {
          "conversation": "Muito bom 👏🏾, esse e um exemplo de mensagem em grupo"
        },
        "messageTimestamp": 1567532489,
        "participant": "5511999999998@s.whatsapp.net"
      }
    },
    "Text": "Muito bom 👏🏾, esse e um exemplo de mensagem em grupo"
  }
}

request_ping - Keep Alive acada 30 segundos

{
  "request_ping": "request_ping_message"
}

receveid_audio_message - Recebendo arquivo de audio

  • Body['Info']['Id'] = Id da message
  • Body['Info']['RemoteJid'] = Número de destino
    • @s.whatsapp.net = Pessoal
    • @g.us = Grupo
  • Body['Info']['FromMe'] = Quem disparou a mensagem.
    • true = Envio feito pelo celular conectado
    • false = Envio feito pelo contato
  • Body['Info']['Status'] = Status da Mensagem.
    • 0 = Enviando...
    • 1 = Enviado, celular de destino ainda não recebeu.
    • 2 = Enviado, e recebido pelo celular de destino.
    • 3 = Enviado, recebido e lido pelo celular de destino.
    • 4 = Usuário deu o play no audio.
    • 5 = Usuário terminou de ouvir o audio.
  • Body['Url'] = Link do audio.
{
	"Type": "receveid_audio_message",
	"Body": {
		"Info": {
			"Id": "3A559A6098E90C61576B",
			"RemoteJid": "5511999999999@s.whatsapp.net",
			"SenderJid": "",
			"FromMe": false,
			"Timestamp": 1567733395,
			"PushName": "",
			"Status": 5,
			"QuotedMessageID": "",
			"Source": {
				"key": {
					"remoteJid": "5511999999999@s.whatsapp.net",
					"fromMe": false,
					"id": "3A559A6098E90C61576B"
				},
				"message": {
					"audioMessage": {
						"url": "https://mmg.whatsapp.net/d/f/AoKfC6ty41Lcz6Ih5nVmqeRR5ealK1eXuY8JtWZl8Vvx.enc",
						"mimetype": "audio/ogg; codecs=opus",
						"fileSha256": "nhrpl7DT17dJseiwYWXAH01wG4s/b8bZysXHatjwL5A=",
						"fileLength": 15945,
						"seconds": 6,
						"ptt": true,
						"mediaKey": "rQKRiWHhLV6rhP96UOHcXQLKF/i/4wkXHUQutTpW0H8=",
						"fileEncSha256": "r8Fg7t3sirY8q+y1cLqb4S9of0ycUPRMy6tUUcSyRLI=",
						"directPath": "/v/t62.7117-24/19432166_920816788267622_2414031853701350699_n.enc?oh=1d810dfeeefae8e5aa5bb253eb041c08&oe=CA9109B4"
					}
				},
				"messageTimestamp": 1567733395,
				"status": 5
			}
		},
		"Length": 6,
		"Type": "audio/ogg; codecs=opus",
		"Content": null
	},
	"Url": "https://static.chatpro.com.br/api/dev-intace/audio/3A559A6098E90C61576B.ogg"
}

receveid_image_message - Recebendo Imagem

  • Body['Info']['Id'] = Id da message
  • Body['Info']['RemoteJid'] = Número de destino
    • @s.whatsapp.net = Pessoal
    • @g.us = Grupo
  • Body['Info']['FromMe'] = Quem disparou a mensagem.
    • true = Envio feito pelo celular conectado
    • false = Envio feito pelo contato
  • Body['Info']['Status'] = Status da Mensagem.
    • 0 = Enviando...
    • 1 = Enviado, celular de destino ainda não recebeu.
    • 2 = Enviado, e recebido pelo celular de destino.
    • 3 = Enviado, recebido e lido pelo celular de destino.
  • Body['Url'] = Link da imagem.
{
	"Type": "receveid_image_message",
	"Body": {
		"Info": {
			"Id": "3EB0FA5650BD10FE6FCA",
			"RemoteJid": "5511999999999-1545397751@g.us",
			"SenderJid": "5511999999999@s.whatsapp.net",
			"FromMe": false,
			"Timestamp": 1567532340,
			"PushName": "",
			"Status": 1,
			"QuotedMessageID": "",
			"Source": {
				"key": {
					"remoteJid": "5511999999999-1545397751@g.us",
					"fromMe": false,
					"id": "3EB0FA5650BD10FE6FCA",
					"participant": "5511999999999@s.whatsapp.net"
				},
				"message": {
					"imageMessage": {
						"url": "https://mmg-fna.whatsapp.net/d/f/ApUs4ja46DUqMqcG62ykQ9aww8TJTeOqVyOM13Ily5Nd.enc",
						"mimetype": "image/jpeg",
						"fileSha256": "e5Nrg/FqAovrsOiQZLl+c0OQw9kENPGOHGpEblAzFcY=",
						"fileLength": 40731,
						"height": 192,
						"width": 1024,
						"mediaKey": "13jscgSCw9biymdJs+V5qkvsPem2/Rfgg5izC5NBQbA=",
						"fileEncSha256": "uTQb+HX86zu6dWXZUehBVwNXVdS9V1/Bjj9O6viJSec=",
						"jpegThumbnail": "/9j/4AAQSkZJRgABAQAASABIAAD/4QBYRXhpZgAATU0AKgAAAAgAAgESAAMAAAABAAEAAIdpAAQAAA...",
						"contextInfo": {
							"isForwarded": true
						}
					}
				},
				"messageTimestamp": 1567532340,
				"participant": "5511999999999@s.whatsapp.net",
				"multicast": true
			}
		},
		"Caption": "",
		"Thumbnail": "/9j/4AAQSkZJRgABAQAASABIAAD/4QBYRXhpZgAATU0AKgAAAAgAAgESAAMAAAABAAEAAIdpAAQAAAABAAAAJgAAAAAAA6ABAAMAAA...",
		"Type": "image/jpeg",
		"Content": null
	},
	"Url": "https://static.chatpro.com.br/api/chatpro-1234556/imagens/3EB0FA5650BD10FE6FCA.jpeg"
}

Ao conectar

{"baterry":17,"number":"55629999999@c.us","type":"instance_status"}

Erros/Instância/Status

  • Conectada (a cada 30 segundos)
{"status":200, "type":"charge_status"}
  • Desconectado {"type": "charge_status", "status": 400}

Modo economia

Quando o celular entrar em modo de economia de bateria

["Stream","asleep"]
@andersonhsilva
Copy link

olá não estou conseguindo captar os dados via php dos recebimentos via post da url webhook, alguem sabe informar qual a variavel que chega via post?

@gabrielmcv
Copy link

olá não estou conseguindo captar os dados via php dos recebimentos via post da url webhook, alguem sabe informar qual a variavel que chega via post?

Não vem variável, você consegue chegar aos dados recebidos através do file_get_contents("php://input"), desde que o webhook esteja setado corretamente.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment