PHP code example of okolaa / termiiphp

1. Go to this page and download the library: Download okolaa/termiiphp library. Choose the download type require.

2. Extract the ZIP file and open the index.php.

3. Add this code to the index.php.
    
        
<?php
require_once('vendor/autoload.php');

/* Start to develop here. Best regards https://php-download.com/ */

    

okolaa / termiiphp example snippets


    
    use Okolaa\TermiiPHP\Endpoints\Messaging\GetSenderIdsEndpoint;
    use Okolaa\TermiiPHP\Termii;
    
    // Initialize the SDK
    $termii = Termii::initialize('api-token', 'https://termi-base-url');
    
    // make a request
    $response = $termii->senderIdApi()->getIds(page: 1);
    
    // get result as array
    $response->json();
    
    // Alternatively, convert result to DTO
    $request = new GetSenderIdsEndpoint();
    $senderIds = $request->createDtoFromResponse($response);
    // you can now interact with data e.g.
    $senderIds->currentPage; // int
    $senderIds->currentPage; // int
    $senderIds->lastPage; // int
    $senderIds->total; //int
    $senderIds->data; //array 


use Okolaa\TermiiPHP\Data\Message;
use Okolaa\TermiiPHP\Termii;

$termii = Termii::initialize('api-token');
$message = new Message(
    to: "23490555546",
    from: "talert",
    sms: "Hi There, Testing Termii",
    type: "plain",
    channel:\Okolaa\TermiiPHP\Enums\MessageChannel::DND,
    media: null,    
    time_to_live: 0 
);
$response = $termii->messagingApi()->send($message);

$bulkMessage = new Message(
    to: ["2347012345678", "2349067890123"],
    from: "bulkAlert",
    sms: "Bulk message content, Testing Termii",
    type: "plain",
    channel: \Okolaa\TermiiPHP\Enums\MessageChannel::DND, 
    media: null,    
    time_to_live: 1 // Example TTL in minutes
);
$response = $termii->messagingApi()->sendBulk($bulkMessage);

$deviceTemplate = new \Okolaa\TermiiPHP\Data\DeviceTemplate(
    template_id: "sampleTemplate1234",
    phone_number: "2348076543210",
    device_key: "ABCD1234DEVICEKEY"
);
$response = $termii->messagingApi()->sendDeviceTemplate($deviceTemplate);

$response = $termii->senderIdApi()->getIds($pageNumber);
$senderId = new \Okolaa\TermiiPHP\Data\SenderId(...);
$senderId = new \Okolaa\TermiiPHP\Data\SenderId(
    name: "TestSender",
    company: "TestCompany Ltd",
    purpose: "Testing purposes for SDK"
);

$campaign = new \Okolaa\TermiiPHP\Data\Campaign(
    name: "Test Campaign",
    message: "This is a test campaign message",
    sender_id: "TestSenderId",
    recipients: ["2347012345678", "2349067890123"],
    channel: "sms", 
    time_to_send: "2023-12-01 10:00:00"
);
$response = $termii->campaignApi()->send($campaign);
$response = $termii->campaignApi()->get($campaingId, $pageNumber);
$response = $termii->campaignApi()->getHistory($pageNumber);

$phonebook = new \Okolaa\TermiiPHP\Data\Phonebook(
    name: "Test Phonebook",
    description: "Sample description for test phonebook"
);
$responseCreate = $termii->campaignApi()->phoneBook()->create($phonebook);
$responseUpdate = $termii->campaignApi()->phoneBook()->update($phonebook);
$response = $termii->campaignApi()->phoneBook()->get();
$response = $termii->campaignApi()->phoneBook()->delete($phonebook->id);

$contact = new \Okolaa\TermiiPHP\Data\Contact(
    phone_number: "2347012345678",
    first_name: "John",
    last_name: "Doe",
    email: "[email protected]",
    phonebook_id: "testPhonebook123"
);
$responseAddContact = $termii->campaignApi()->phoneBook()->addContact($contact);
$importedContactsResponse = $termii->campaignApi()->phoneBook()->importContact($phonebook->id, 234, 'path/to/your/file.csv');

$fetchedContactsResponse = $termii->campaignApi()->phoneBook()->getContacts($phonebook->id, $pageNumber);
$deleteContactResponse = $termii->campaignApi()->phoneBook()->deleteContact($contact->id);

use Okolaa\TermiiPHP\Data\TokenSend;
use Okolaa\TermiiPHP\Termii;

$termii = Termii::initialize('api-token');

$tokenSend = new \Okolaa\TermiiPHP\Data\Token\SendToken(
    to: "23490555546",
    from: "talert",
    messageText: "Your verification code is <%pin%>",
    pinType: \Okolaa\TermiiPHP\Enums\PinType::AlphaNumeric,
    pinAttempts: 3,
    pinTimeToLiveMinute: 5,
    pinLength: 6,
    pinPlaceHolder: "<%pin%>",
    channel: \Okolaa\TermiiPHP\Enums\MessageChannel::DND
    messageType: 'plain',
);

$response = $termii->tokenApi()->send($tokenSend);

use Okolaa\TermiiPHP\Data\Token\VoiceToken;
use Okolaa\TermiiPHP\Termii;

$termii = Termii::initialize('api-token');

$voiceToken = new VoiceToken(
    phoneNumber: "2348000000000",
    pin_length: 6
);

$response = $termii->tokenApi()->voice($voiceToken);

use Okolaa\TermiiPHP\Data\Token\VoiceToken;
use Okolaa\TermiiPHP\Termii;

$termii = Termii::initialize('api-token');

$response = $termii->tokenApi()->voiceCall('2348000000000', '12345);

use Okolaa\TermiiPHP\Termii;

$termii = Termii::initialize('api-token');

$response = $termii->tokenApi()->verify('pinId', 'the-pin-code');

use Okolaa\TermiiPHP\Termii;

$termii = Termii::initialize('api-token');

$response = $termii->tokenApi()->email('[email protected]', 'the-pin-code', 'email-config-id');

use Okolaa\TermiiPHP\Termii;

$termii = Termii::initialize('api-token');

$payload = new \Okolaa\TermiiPHP\Data\Token\InAppToken(
            pinType: \Okolaa\TermiiPHP\Enums\PinType::Numeric,
            phoneNumber: '2348000000000'
         );

$response = $termii->tokenApi()->inApp($payload);

use Okolaa\TermiiPHP\Endpoints\Messaging\RequestSenderIdEndpoint;
use Okolaa\TermiiPHP\Termii;

$senderIdData = new \Okolaa\TermiiPHP\Data\SenderId(
    'okolaa',
    'Okolaa INC',
    'To be used for sending alerts to customers.'
);
$request = new RequestSenderIdEndpoint($senderIdData);
$request->query()->merge(['page' => 4]);
$request->headers()->merge(...);
$request->body()->merge(...);
$request->config()->merge(...);

$client = Termii::initialize('api-token');
$response = $client->send($request);


use Okolaa\TermiiPHP\Termii;
$termii = Termii::initialize('api-token');
$response = $termii->send($request);

$response->json(); // returns array/scalar value
$response->collect(); // returns Illuminate/Collection or scalar value
$response->object(); // returns php object
$response->dto(); // returns Data objects e.g. PaginationData, SenderId, Message, Phonebook
$response->headers(); // returns all the response headers
$response->stream(); // returns the body as a stream

    use Okolaa\TermiiPHP\Termii;
    $termii = Termii::initialize('api-token'));
    // You can provide the die argument if you would like to terminate the application after receiving the response.
    $termii->debug(die: false);

      $termii->debugRequest(); // $connector->debugRequest(die: true);
      $termii->debugResponse(); // $connector->debugResponse(die: true);
   

        $termii->config()
            ->merge([
               'verify' => false
            ]);
    

      use Okolaa\TermiiPHP\Termii;
      $termii = Termii::initialize('api-token'));
      $termii->config()->merge(
       [
           'connect_timeout' => 60,
           'timeout' => 120
       ]
      );