Clickatell API отправит сообщение успешно, но я никогда не смогу получить сообщение

Я тестирую API Clickatell для интеграции SMS-подтверждений в мое приложение на основе php, я использовал их остальные API для отправки себе сообщения для тестирования, но сообщения так и не приходят.

Мои попытки

Я использовал это https://www.clickatell.com/developers/api-docs/get-coverage-rest/ чтобы проверить покрытие, и это был ответ JSON:

object(stdClass)[54]
public 'data' =>
object(stdClass)[57]
public 'routable' => boolean true
public 'destination' => string ' 21655609125' (length=12)
public 'minimumCharge' => float 0.8

Я также удостоверился, что сообщение фактически отправлено, проверяя статус; и это был ответ JSON:

object(stdClass)[54]
public 'data' =>
object(stdClass)[57]
public 'charge' => float 0.8
public 'messageStatus' => string '004' (length=3)
public 'description' => string 'Received by recipient' (length=21)
public 'apiMessageId' => string 'b57f4a28dece65a134b56be2010c8a78' (length=32)
public 'clientMessageId' => string '' (length=0)

Я тогда попробовал их собственный веб-сайт для отчетов об отправленных сообщениях, и вот что я вижу:

СОДЕРЖАНИЕ СООБЩЕНИЯ Спасибо за тестирование покрытия шлюза Clickatell. Вы
сможет изменить содержание вашего сообщения после вашего начального
покупка сообщений кредитов.

Мобильная сеть Тунис: Orange To 21655609125

Получено получателем (статус 4)

Но я никогда не получаю сообщение сам. В чем может быть проблема?

Изменить: вот полный класс, который я использую в своем приложении в настоящее время

<?php

if ( ! defined( 'ABSPATH' ) ) {
exit; // Exit if accessed directly
}

/**
* MC_SMS class
*/
class MC_SMS {

public  $rest_uri   = 'https://api.clickatell.com/rest';
public  $method     = 'post';
public  $args       = array();

/**
* Constructor
*/
public function __construct( $action, $data = null ) {

$this->data = $data;
$this->init();

switch( $action ) :

// Send message
case 'send' :

$this->endpoint = '/message';
$this->method = 'post';

break;

// Message status
case 'status' :

$this->endpoint = '/message/' . $data;
$this->method = 'get';

break;

// Network coverage
case 'coverage' :

$this->endpoint = '/coverage/' . $data;
$this->method = 'get';

break;

// Account balance
case 'balance' :

$this->endpoint = '/account/balance';
$this->method = 'get';

break;

endswitch;

$this->queried_uri = $this->rest_uri . $this->endpoint;
$this->do_request();

$this->response = ( isset( $this->response_body['body'] ) ) ? json_decode( $this->response_body['body'] ) : null;
}

/**
* Init.
*/
public function init() {
$this->headers = array(
'X-Version'     => 1,
'Authorization' => 'Bearer ClHrbIEo_LwAlSVTSMemBIA5Gmvz8HNb5sio3N9GVDdAO_PPJPaZKzdi8Y8cDSmrs4A4',
'Content-Type'  => 'application/json',
'Accept'        => 'application/json'
);

$this->data = ( ! empty( $this->data ) && is_array( $this->data ) ) ? json_encode( $this->data ) : null;

$this->args['headers'] = $this->headers;

if ( $this->data ) {
$this->args['body'] = $this->data;
}
}

/**
* Do the API request
*/
public function do_request() {

if ( $this->method == 'get' ) {
$this->response_body = wp_remote_get( $this->queried_uri, $this->args );
}

if ( $this->method == 'post' ) {
$this->response_body = wp_remote_post( $this->queried_uri, $this->args );
}
}

}

2

Решение

Прежде чем платить деньги и использовать пробные кредиты, сообщение, которое вы получите, будет содержать текст:
СОДЕРЖАНИЕ СООБЩЕНИЯ Спасибо за тестирование покрытия шлюза Clickatell. Вы сможете изменить содержание своего сообщения после первоначальной покупки кредитов сообщения.

Это означает, что вы успешно отправили и получили смс на ваше устройство. Ваши собственные фактические сообщения будут видны на устройствах получателя только после того, как вы заплатите за кредиты

1

Другие решения

Как продолжение @ Димитрис Магдалинос ответ что представляется правильным, следующая документация имеет это сказать (выделение мое):

Вы можете начать тестирование шлюза, используя методы, изложенные в главе «Повседневные задачи». Однако обратите внимание, что если вы используете 10 бесплатных SMS-кредитов, которые пришли с учетной записью, пока вы не приобрели кредиты, Clickatell будет заменять контент с текстом спасибо, как сообщение ниже:

Спасибо за тестирование покрытия шлюза Clickatell. Вы сможете изменить содержание своего сообщения после первоначальной покупки кредитов сообщения.

0

По вопросам рекламы [email protected]