Kirim Pesan WhatsApp dari PHP

Contoh siap pakai untuk PHP murni dan Laravel.

PHP murni (cURL)

<?php
function synerwa_send(string $target, string $message, ?string $url = null): array {
    $data = ['target' => $target, 'message' => $message];
    if ($url) $data['url'] = $url;
    $ch = curl_init('https://synerwa.net/send');
    curl_setopt_array($ch, [
        CURLOPT_POST => true,
        CURLOPT_RETURNTRANSFER => true,
        CURLOPT_TIMEOUT => 20,
        CURLOPT_HTTPHEADER => ['Authorization: ' . getenv('SYNERWA_TOKEN')],
        CURLOPT_POSTFIELDS => $data,
    ]);
    $body = curl_exec($ch);
    if ($body === false) throw new RuntimeException(curl_error($ch));
    return json_decode($body, true);
}

$r = synerwa_send('081234567890', 'Halo dari PHP!');
if (!$r['status']) error_log('Synerwa: ' . $r['reason']);

Laravel (HTTP Client)

use Illuminate\Support\Facades\Http;

$r = Http::withHeaders(['Authorization' => config('services.synerwa.token')])
    ->asForm()
    ->post('https://synerwa.net/send', [
        'target'  => $order->phone,
        'message' => "Pesanan #{$order->number} sudah kami terima.",
    ])->json();

Kirim file dari server

$ch = curl_init('https://synerwa.net/send');
curl_setopt_array($ch, [
  CURLOPT_POST => true, CURLOPT_RETURNTRANSFER => true,
  CURLOPT_HTTPHEADER => ['Authorization: ' . getenv('SYNERWA_TOKEN')],
  CURLOPT_POSTFIELDS => [
    'target'  => '081234567890',
    'message' => 'Invoice terlampir',
    'file'    => new CURLFile('/path/invoice.pdf', 'application/pdf', 'invoice.pdf'),
  ],
]);

Respons

Sukses: {"status":true,"id":["128"],"process":"pending"}. Gagal: {"status":false,"reason":"..."}. Lihat dokumentasi API untuk semua parameter.

Coba Synerwa gratis

Daftar, scan QR, dan kirim 1.000 pesan pertama tanpa biaya.

Buat Akun Gratis