Manual de uso de API JSON con PHP

Read 17321 times
Hola a todos los miembros del foro en español de Centova.
Desde hace unos meses llevo intentando completar el desarrollo de un script PHP usando el API de Centova para comunicarme con el panel para realizar ciertas acciones de forma más sencilla y directa, sin embargo no he logrado ni siquiera iniciar la conexión con el API.
Me di una vuelta por la documentaciónde l API de la web de Centova y me encontré con una documentación más pobre que nada donde solo explican estructuras y clases y métodos a utilizar, lo que hacen y las variables que admiten, sin embargo no hay mas info que esa y es demasiado frustrante.
Para empezar al utilizar PHP intento realizar la llamada mediante POST (ya que es el tipo de request que los mismos de Centova recomiendan por mayor seguridad) quedando mi código de la siguiente manera:

<?php
// primero inicio una variable con la url del API de mi Centova
$url = "http://misitioweb.com:2199/api.php";
// Luego creo un array con los datos básicos para las clases
$data = array(
'username' => 'miusuario',
'password' => 'mipassword');
// Ahora creo el array completo con los parámetros necesarios para el request por JSON
$request = array(
'xm' => 'server.authenticate',
'f' => 'json',
'a' => $data);
// Codifico el request con JSON para enviarlo por POST al API
$jsonrequest = json_encode($request);
// Instancío el CURL para enviar la solicitud al API
$api = curl_init($url);
// Indico que la petición se realice mediante POST
curl_setopt($api, CURLOPT_POST, 1);
// Lo anterior igual podría hacerse usando curl_setopt($url, CURLOPT_CUSTOMREQUEST, "POST") pero es más fácil como está arriba
// Ahora agrego el JSON con la petición
curl_setopt($url, CURLOPT_POSTFIELDS, $jsonrequest);
// Agrego los headers indicando un objeto JSON
curl_setopt($url, CURLOPT_HTTPHEADER, array('Content-Type: application/json'));
// Ahora ejecuto el request al API
$resultado = curl_exec($api);
// Imprimo el resultado en pantalla en formato legible por humanos
print_r($resultados);
?>

Pues bien, el código anterior simplemente verifica en el servidor Centova que el usuario y contraseña existen y devuelve los permisos del mismo conforme al API, el problema es que al ejecutar el script en un tercer servidor jamás se recibe respuesta.

Ahora, si por alguna razón debo activar el API, generar llaves, dar permisos a usuarios o cualquier otra cosa que no venga preconfigurada en la instalación de Centova es algo que nunca mencionan en la documentación.
La verdad que no se que salga mal y me estoy desesperando, además de que me he llevado una enorme decepción por encontrar una pobre y patética documentación sobre el API en la web de Centova.
Ojalá alguien pueda ayudarme y explicarme más o menos que pasos debo seguir para activar el API de ser necesario o pára configurarlo en mi servidor Centova, como es que debo de hacer la solicitud correstamente desde el tercer servidor y estas cosas.
Es la primer API para la que desarrollo que me da problemas.
Espero sus respuestas y muchas gracias de antemano.
Hola

Pudiste solucionar?

Tengo el mismo problema cuando quiero usarlo desde un servidor distinto no agarra :(
Hola, yo tenia un problema similar, en mi caso el hosting tenia una especie de firewall que me evitaba hacer peticiones a otros sitios a menos que estuvieran en una whitelist, probablemente sea eso, despues que esto yo pude realizar peticiones al api.

Saludos
Hola... algunos ejmplos que funciones usando JSON?