Notice: Undefined offset: 1 in /home/freudservi/domains/freud-servis.ru/public_html/classes/modules/stat/classes/libs/detect.php on line 394
Envio de um arquivo através da API do messengers para PHP

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