Bỏ qua

Tích hợp PHP

Việc tích hợp API SMSBAT vào ứng dụng PHP của bạn thật đơn giản bằng cách sử dụng thư viện cURL tích hợp hoặc ứng dụng khách Guzzle HTTP phổ biến.

Sử dụng ứng dụng khách HTTP Guzzle (Được khuyến nghị)

Đầu tiên, cài đặt Guzzle bằng Composer:

composer require guzzlehttp/guzzle

Sau đó, sử dụng đoạn mã sau để gửi tin nhắn:

<?php
require 'vendor/autoload.php';

use GuzzleHttp\Client;
use GuzzleHttp\Exception\RequestException;

$client = new Client([
    'base_uri' => 'https://api.smsbat.com',
    'timeout'  => 10.0,
]);

$apiKey = 'YOUR_API_KEY_HERE';

$payload = [
    'messages' => [
        [
            'from' => 'ALPHANAME',
            'to' => '380501234567',
            'text' => 'Hello from PHP and SMSBAT!',
            'type' => 'sms'
        ]
    ]
];

try {
    $response = $client->post('/bat/messagelist', [
        'headers' => [
            'Content-Type' => 'application/json',
            'X-Authorization-Key' => $apiKey
        ],
        'json' => $payload
    ]);

    echo "Status Code: " . $response->getStatusCode() . "\n";
    echo "Response: " . $response->getBody() . "\n";

} catch (RequestException $e) {
    echo "Error: " . $e->getMessage() . "\n";
    if ($e->hasResponse()) {
        echo "Response: " . $e->getResponse()->getBody() . "\n";
    }
}

Sử dụng cURL gốc

Nếu bạn không muốn sử dụng các gói của bên thứ ba, bạn có thể sử dụng tiện ích mở rộng cURL gốc của PHP:

<?php

$url = 'https://api.smsbat.com/bat/messagelist';
$apiKey = 'YOUR_API_KEY_HERE';

$payload = json_encode([
    'messages' => [
        [
            'from' => 'ALPHANAME',
            'to' => '380501234567',
            'text' => 'Hello from PHP Native cURL!',
            'type' => 'sms'
        ]
    ]
]);

$ch = curl_init($url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, $payload);
curl_setopt($ch, CURLOPT_HTTPHEADER, [
    'Content-Type: application/json',
    'X-Authorization-Key: ' . $apiKey
]);

$response = curl_exec($ch);
$httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);

if (curl_errno($ch)) {
    echo 'cURL Error: ' . curl_error($ch);
} else {
    echo "Status Code: $httpCode\n";
    echo "Response: $response\n";
}

curl_close($ch);