Pāriet uz saturu

PHP integrācija

SMSBAT API integrēšana savā PHP lietojumprogrammā ir vienkārša, izmantojot iebūvēto cURL bibliotēku vai populāro Guzzle HTTP klientu.

Guzzle HTTP klienta izmantošana (ieteicams)

Vispirms instalējiet Guzzle, izmantojot programmu Composer:

composer require guzzlehttp/guzzle

Pēc tam izmantojiet šo kodu, lai nosūtītu ziņojumu:

<?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";
    }
}

Vietējā cURL izmantošana

Ja nevēlaties izmantot trešās puses pakotnes, varat izmantot PHP vietējo cURL paplašinājumu:

<?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);