I'm trying to make my system send SMS usingSMSGatewayMe but i got Non-existent class: CI_ApiClient. When i try the Swagger example code it works, so maybe the error is from how i rewrite the code in codeigniter. Please help, i'm new to codeigniter :(
Swagger working code :
<?php
require 'vendor/autoload.php';
use SMSGatewayMe\Client\ApiClient;
use SMSGatewayMe\Client\Configuration;
use SMSGatewayMe\Client\Api\MessageApi;
use SMSGatewayMe\Client\Model\SendMessageRequest;
// Configure client
$config = Configuration::getDefaultConfiguration();
$config->setApiKey('Authorization', 'myApiKey');
$apiClient = new ApiClient($config);
$messageClient = new MessageApi($apiClient);
// Sending a SMS Message
$sendMessageRequest1 = new SendMessageRequest([
'phoneNumber' => '12345667',
'message' => 'test1',
'deviceId' => 1
]);
$sendMessageRequest2 = new SendMessageRequest([
'phoneNumber' => '07791064781',
'message' => 'test2',
'deviceId' => 2
]);
$sendMessages = $messageClient->sendMessages([
$sendMessageRequest1
//,$sendMessageRequest2
]);
print_r($sendMessages);
Sms.php Controller :
<?php
defined('BASEPATH') OR exit('No direct script access allowed');
class Sms extends CI_Controller {
public function index() {
$this->load->library('session');
$this->load->view('form_sms');
}
public function kirim_sms() {
require 'vendor/SMSGatewayMe/autoload.php';
$this->load->library('session');
$this->load->library('CI_ApiClient');
$this->load->library('CI_Configuration');
$this->load->library('CI_MessageApi');
$this->load->library('CI_SendMessageRequest');
// Configure client
$config = Configuration::getDefaultConfiguration();
$config->setApiKey('Authorization', 'myApiKey');
$apiClient = $this->load->library('CI_ApiClient', $config);
$messageClient = new MessageApi($apiClient);
$no_hp = $this->input->post('no_hp');
$numbers = array();
foreach ($no_hp as $key => $value) {
if ($value != '') {
array_push($numbers, $value);
}
}
$deviceID = 1;
$message = $this->input->post('isi_pesan');
$result = $this->$messageClient->sendMessage($numbers, $message, $deviceID);
$this->load->view('test_view', $result);
if (count($result['response']['result']['success']) > 0) {
$this->session->set_flashdata('message', '<div class="alert alert-success">Berhasil mengirim sms</div>');
} else {
$this->session->set_flashdata('message', '<div class="alert alert-danger">Gagal mengirim sms</div>');
}
redirect('sms','refresh');
}
}
CI_ApiClient.php in libraries folder :
<?php
namespace SMSGatewayMe\Client;
defined('BASEPATH') OR exit('No direct script access allowed');
class CI_ApiClient
{
public static $PATCH = "PATCH";
public static $POST = "POST";
public static $GET = "GET";
public static $HEAD = "HEAD";
public static $OPTIONS = "OPTIONS";
public static $PUT = "PUT";
public static $DELETE = "DELETE";
/**
* Configuration
* @var Configuration
*/
protected $config;
/**
* Object Serializer
* @var ObjectSerializer
*/
protected $serializer;
/**
* Constructor of the class
* @param Configuration $config config for this ApiClient
*/
public function __construct(Configuration $config = null)
{
if ($config == null) {
$config = Configuration::getDefaultConfiguration();
}
$this->config = $config;
$this->serializer = new ObjectSerializer();
}
...