Envio de um arquivo através da API do messengers para PHP

Como enviar um arquivo usando a API do messengers para PHP

No início, associamos o messengers ao nosso script para que, quando escrevêssemos o código, pudéssemos verificar imediatamente sua operação. Para fazer isso, vá para sua conta pessoal em nosso serviço e obtenha um código QR lá. Em seguida, abra o messengers no seu celular, vá para Settings -> messengers Web -> Scan a QR code.

Especifique APiURL e token.

var $APIurl = 'https://api.chat-api.com/instanceYYYYY/';
var $token = 'abcdefgh12345678';

Nós iremos usar os parâmetros GET para definir o destino e o conteúdo da mensagem.

$message = $_GET['text'];
$phone = $_GET['phone'];

O destinatário das mensagens privadas é o número de telefone o sufixo "@ c.us".
Deve ser especificado no parâmetro "chatId".

Coloque o seu arquivo no servidor e insira um link direto para o arquivo no parâmetro "body". O link deve conter o protocolo e o domínio e não enviar apenas o caminho. Lembre-se que você tem que instalar um certificado SSL, porque o messengers se recusa a receber arquivos usando o protocolo http, apenas https!

Você pode especificar o nome do arquivo no parâmetro “filename” e adicionar uma mensagem de texto ao arquivo no parâmetro “caption”. Todos os dados devem estar no formato JSON.

$data = json_encode(array(
    'chatId'=>$phone.'@c.us',
    'body'=>'https://domain.com/PHP/picture.jpg',
    'filename'=>'picture.jpg',
    'caption'=>'Hey! There is a file!'
));

Insira um URL válido para o API. Ele contém o APIurl, o método e o token no parâmetro GET.

$url = $apiURL.'sendFile?token='.$token;

Agora podemos enviar uma solicitação para a API.

$options = stream_context_create(['http' => [
    'method'  => 'POST',
    'header'  => 'Content-type: application/json',
    'content' => $data
]
]);
$response = file_get_contents($url,false,$options);
echo $response;

Para evitar erros, adicione esta linha no início do script:

if(!isset($_GET['text']) or !isset($_GET['phone'])){ die('Not enough data');}

E aqui está todo o script:

if(!isset($_GET['phone'])){ die('Not enough data');}

$apiURL = 'https://api.chat-api.com/instanceXXXXX/';
$token = 'abcdefgABCDEFG';

$phone = $_GET['phone'];

$data = json_encode(array(
    'chatId'=>$phone.'@c.us',
    'body'=>'https://domain.com/PHP/picture.jpg',
    'filename'=>'picture.jpg',
    'caption'=>'Hey! There is a file!'
));

$url = $apiURL.'sendFile?token='.$token;
$options = stream_context_create(['http' => [
    'method'  => 'POST',
    'header'  => 'Content-type: application/json',
    'content' => $data
]
]);
$response = file_get_contents($url,false,$options);
echo $response; exit;

Use esse tipo de link:

https://yoursite.com/path/to/script/yourscript.php?text=Hello&phone=70123456789

E não use parênteses, hífens e quaisquer outros caracteres de formatação no telefone. Use apenas números (cifras).

Você só precisará substituir o token da sua conta pessoal pela variável $token e pelo número da instância. 3 dias de demonstração grátis


Get API key

Não hesite em consultar-nos e compartilhar suas experiências ou fazer quaisquer perguntas.

To top