Je suis en train de tester l'API Clickatell pour intégrer les confirmations SMS dans mon application php, j'ai utilisé leur API de repos pour m'envoyer le message pour tester mais les messages N'arrive jamais.Clickatell API enverra un message avec succès, mais je ne peux jamais recevoir le message
Mes tentatives
J'ai utilisé ce https://www.clickatell.com/developers/api-docs/get-coverage-rest/ pour vérifier la couverture et ce fut la réponse JSON:
object(stdClass)[54]
public 'data' =>
object(stdClass)[57]
public 'routable' => boolean true
public 'destination' => string ' 21655609125' (length=12)
public 'minimumCharge' => float 0.8
J'ai aussi fait que le message est effectivement envoyé par vérification de l'état; et ce fut la réponse 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)
J'ai ensuite essayé leur propre site Web pour les rapports de messages envoyés et c'est ce que je vois:
Merci MESSAGE DE CONTENU pour la couverture de la passerelle de tests Clickatell. Vous serez en mesure de changer le contenu de votre message après votre achat initial de crédits de message.
réseau mobile Tunisie: Orange pour 21655609125
reçu par le destinataire (état 4)
Mais je ne reçois le message moi-même. Quel pourrait être le problème?
Edit: voici la classe complète j'utilise dans mon application actuellement
<?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);
}
}
}
Avez-vous payé pour un compte? – WillardSolutions
Pas encore :) Je ne fais que le tester avec les crédits de test pour décider si cela fonctionnera pour mon application ou non. –
Post le code que vous avez utilisé pour envoyer un message – WillardSolutions