<?php

//phpinfo();    
error_reporting(E_ALL);
ini_set('display_errors', 1);

/*
$_POST['datos']['metodo'] 		= "clientes";
$_POST['datos']['idusuario'] 		= "casablanca";
$_POST['datos']['apellido_paterno'] 		= "";
$_POST['datos']['idcliente'] 		= "2297";
$_POST['datos']['ubicacion_registro_latitud'] = '1.3245678';
$_POST['datos']['ubicacion_registro_longitud'] = '-7.55555';
$_POST['datos']['token'] 		= "89nm75nh788";
*/

$json = '{
  "serie_documento": "B001",
  "numero_documento": "14",
  "fecha_de_emision": "2022-05-05",
  "hora_de_emision": "23:11:11",
  "codigo_tipo_operacion": "0101",
  "codigo_tipo_documento":"03",
  "codigo_tipo_moneda": "PEN",
  "fecha_de_vencimiento": "2022-02-19",
  "numero_orden_de_compra": "0045467898", 
  "datos_del_cliente_o_receptor":{
    "codigo_tipo_documento_identidad": "6",
    "numero_documento": "10414711225",
    "apellidos_y_nombres_o_razon_social": "EMPRESA LOT S.A.",
    "codigo_pais": "PE",
    "ubigeo": "150101",
    "direccion": "Av. 2 de Mayo",
    "correo_electronico": "demo@gmail.com",
    "telefono": "427-1148"
  },
  "totales": {
    "total_exportacion": 0.00,
    "total_operaciones_gravadas": 100.00,
    "total_operaciones_inafectas": 0.00,
    "total_operaciones_exoneradas": 0.00,
    "total_operaciones_gratuitas": 0.00,
    "total_igv": 18.00,
    "total_impuestos": 18.00,
    "total_valor": 100,
    "total_venta": 118
  },
  "items":[
    {
      "codigo_interno": "P0121",
      "descripcion":"coca cola 250 ml",
      "codigo_producto_sunat": "51121703", 
      "unidad_de_medida": "NIU",
      "cantidad": 50,
      "valor_unitario": 2,
      "codigo_tipo_precio": "01",
      "precio_unitario": 3,
      "codigo_tipo_afectacion_igv": "10",
      "total_base_igv": 100.00,
      "porcentaje_igv": 18,
      "total_igv": 18,
      "total_impuestos": 18,
      "total_valor_item": 100,
      "total_item": 118
    }
  ],
  "codigo_condicion_de_pago": "02",
   "cuotas": [
        {
            "fecha": "2022-02-25",
            "codigo_tipo_moneda": "PEN",
            "monto": 118
        }
    ]
}
';
/*
$json = '{
  "serie_documento": "F001",
  "numero_documento": "4",
  "fecha_de_emision": "2018-10-09",
  "hora_de_emision": "10:11:11",
  "codigo_tipo_operacion": "0101",
  "codigo_tipo_documento":"01",
  "codigo_tipo_moneda": "PEN",
  "fecha_de_vencimiento":"2018-08-30",
  "numero_orden_de_compra": "0045467898", 
  "datos_del_cliente_o_receptor":{
    "codigo_tipo_documento_identidad": "6",
    "numero_documento": "10414711225",
    "apellidos_y_nombres_o_razon_social": "EMPRESA XYZ S.A.",
    "codigo_pais": "PE",
    "ubigeo": "150101",
    "direccion": "Av. 2 de Mayo",
    "correo_electronico": "demo@gmail.com",
    "telefono": "427-1148"
  },
  "totales": {
    "total_exportacion": 0.00,
    "total_operaciones_gravadas": 100.00,
    "total_operaciones_inafectas": 0.00,
    "total_operaciones_exoneradas": 0.00,
    "total_operaciones_gratuitas": 0.00,
    "total_igv": 18.00,
    "total_impuestos": 18.00,
    "total_valor": 100,
    "total_venta": 118
  },
  "items":[
    {
      "codigo_interno": "P0121",
      "descripcion":"Coca Cola 600 ml",
      "codigo_producto_sunat": "51121703",
      "unidad_de_medida": "NIU",
      "cantidad": 50,
      "valor_unitario": 2,
      "codigo_tipo_precio": "01",
      "precio_unitario": 2,
      "codigo_tipo_afectacion_igv": "10",
      "total_base_igv": 100.00,
      "porcentaje_igv": 18,
      "total_igv": 18,
      "total_impuestos": 18,
      "total_valor_item": 100,
      "total_item": 118
    }
  ],
  "informacion_adicional": "Forma de pago:Efectivo|Caja: 1"
}';
*/

$token = "wFJkQdAcPnkkxs4Z308KuMt5HWC8TiJ09P7moNnDkcyuW4KDuI";

if(isset($json)) {

    $data_string = $json;

    echo "POST: <br>";
    //print_r($json);

    //echo "<br>data: <br>";
    //echo $data_string;
	$url = "https://inape.sisfek.net.pe/api/documents";
	//$url = "https://inape.sisfek.net.pe/api/document/search-items";
    $ch = curl_init();
    

    // Check if initialization had gone wrong*    
    if ($ch === false) {
        throw new Exception('failed to initialize');
    }
	// Better to explicitly set URL
    curl_setopt($ch, CURLOPT_URL, $url);
    curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST"); 
    curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
    curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
    curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
    curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);
    curl_setopt($ch, CURLOPT_POSTFIELDS, $data_string);

	$authorization = "Authorization: Bearer ".$token; // Prepare the authorisation token
    //curl_setopt($ch, CURLOPT_POSTFIELDS, $data_string);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    curl_setopt($ch, CURLOPT_HTTPHEADER, array(
           'Content-Type: application/json; charset=utf-8',                                                                                
    		'Content-Length: ' . strlen($data_string),
    		$authorization		
    		)
    );
    curl_setopt($ch, CURLOPT_TIMEOUT, 900);
    curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 500);

//execute post
    $result = curl_exec($ch);
	
    // Check the return value of curl_exec(), too
    if ($result === false) {
        throw new Exception(curl_error($ch), curl_errno($ch));
    }
    
    // Check HTTP return code, too; might be something else than 200
    //$httpReturnCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);

    /* Process $content here */
    
//close connection
    curl_close($ch);

    //echo "<br>RESULTADO: <br>";
    //var_dump($result);
    echo $result;
    
    

}


//https://stackoverflow.com/questions/8227909/curl-exec-always-returns-false
exit;
 $curl = curl_init();

curl_setopt_array($curl, array(
CURLOPT_URL => "https://demo.facturalo.pro/api/documents",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_SSL_VERIFYHOST => FALSE,
CURLOPT_SSL_VERIFYPEER => FALSE,
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 0,
CURLOPT_FOLLOWLOCATION => true,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => array(
"Authorization: Bearer wFJkQdAcPnkkxs4Z308KuMt5HWC8TiJ09P7moNnDkcyuW4KDuI"
  ),
 ));

$response = curl_exec($curl);
$data = json_decode($response, true);

echo $data;

exit;


//https://lornajane.net/posts/2011/posting-json-data-with-php-curl
//https://reqbin.com/req/c-dwjszac0/curl-post-json-example
//https://stackoverflow.com/questions/30426047/correct-way-to-set-bearer-token-with-curl
//https://stackoverflow.com/questions/30426047/correct-way-to-set-bearer-token-with-curl

/*
$_POST['datos']['idusuario'] = 'centrolima';
//$_POST['datos']['idusuario'] = 'supervisor1';
//$_POST['datos']['idsucursal'] = "2";
$_POST['datos']['idusuario'] = 'admin.sucursal';
//$_POST['datos']['idusuario'] = 'admin.sjl';
//$_POST['datos']['idusuario'] = 'admin.general';
$_POST['datos']['token'] = '89nm75nh788';

if(isset($_POST) && is_array($_POST) && count($_POST) > 0 && isset($_POST['datos']['idusuario']) && $_POST['datos']['idusuario'] != '') {

    $data_string = json_encode($_POST);

    echo "POST: <br>";
    print_r($_POST);

    echo "<br>data: <br>";
    echo $data_string;

    //$ch = curl_init('http://jcyroperu.com/sinergia/ws/listado_dia_abierto.php');
    $ch = curl_init('http://jcyroperu.com/sinergia/ws/listado_mercado_usuario.php');
    //$ch = curl_init('http://jcyroperu.com/sinergia/ws/listado_sucursal_usuario.php');


    curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST");
    curl_setopt($ch, CURLOPT_POSTFIELDS, $data_string);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    curl_setopt($ch, CURLOPT_HTTPHEADER, array(
            'Content-Type: application/json',
            'Content-Length: ' . strlen($data_string))
    );
    curl_setopt($ch, CURLOPT_TIMEOUT, 900);
    curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 500);

//execute post
    $result = curl_exec($ch);

//close connection
    curl_close($ch);

    echo "<br>RESULTADO: <br>";
    //var_dump($result);
    echo $result;

}
*/

exit;
$curl = curl_init();

curl_setopt_array($curl, array(
  CURLOPT_URL => 'https://demo.facturalo.pro/api/documents',
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => '',
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 0,
  CURLOPT_FOLLOWLOCATION => true,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => 'POST',
  CURLOPT_POSTFIELDS =>'{
  "serie_documento": "FD01",
  "numero_documento": "1",
  "fecha_de_emision": "2019-09-05",
  "hora_de_emision": "10:11:11",
  "codigo_tipo_documento":"08",
  "codigo_tipo_nota": "01",
  "motivo_o_sustento_de_nota": "Error al emitir comprobante",
  "codigo_tipo_moneda": "PEN",
  "numero_orden_de_compra": "0045467898",
  "documento_afectado": {
    "serie_documento": "F001",
    "numero_documento": "133",
    "codigo_tipo_documento": "01"
  }, 
  "datos_del_cliente_o_receptor":{
    "codigo_tipo_documento_identidad": "6",
    "numero_documento": "10414711225",
    "apellidos_y_nombres_o_razon_social": "EMPRESA XYZ S.A.",
    "codigo_pais": "PE",
    "ubigeo": "150101",
    "direccion": "Av. 2 de Mayo",
    "correo_electronico": "demo@gmail.com",
    "telefono": "427-1148"
  },
  "totales": {
    "total_exportacion": 0.00,
    "total_operaciones_gravadas": 100.00,
    "total_operaciones_inafectas": 0.00,
    "total_operaciones_exoneradas": 0.00,
    "total_operaciones_gratuitas": 0.00,
    "total_igv": 18.00,
    "total_impuestos": 18.00,
    "total_valor": 100,
    "total_venta": 118
  },
  "items":[
    {
      "codigo_interno": "P0121",
      "descripcion":"Inca Kola 250 ml",
      "codigo_producto_sunat": "51121703", 
      "unidad_de_medida": "NIU",
      "cantidad": 2,
      "valor_unitario": 50,
      "codigo_tipo_precio": "01",
      "precio_unitario": 59,
      "codigo_tipo_afectacion_igv": "10",
      "total_base_igv": 100.00,
      "porcentaje_igv": 18,
      "total_igv": 18,
      "total_impuestos": 18,
      "total_valor_item": 100,
      "total_item": 118
    }
  ],
  "acciones": {
    "formato_pdf": "a4"
  }
}',
));

$response = curl_exec($curl);

curl_close($curl);
echo $response;
exit;


$url= "https://demo.facturalo.pro/api/documents";
$fields = array('dni' => $dni);
$fields_string = http_build_query($fields);
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);
curl_setopt($ch, CURLOPT_POSTFIELDS, $fields_string );
$data = curl_exec($ch);
curl_close($ch);
echo  $data;
    
exit; 

/*
function jwt_request($token, $post) {

       header('Content-Type: application/json'); // Specify the type of data
       $ch = curl_init('https://APPURL.com/api/json.php'); // Initialise cURL
       $post = json_encode($post); // Encode the data array into a JSON string
       $authorization = "Authorization: Bearer ".$token; // Prepare the authorisation token
       curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Type: application/json' , $authorization )); // Inject the token into the header
       curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
       curl_setopt($ch, CURLOPT_POST, 1); // Specify the request method as POST
       curl_setopt($ch, CURLOPT_POSTFIELDS, $post); // Set the posted fields
       curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1); // This will follow any redirects
       $result = curl_exec($ch); // Execute the cURL statement
       curl_close($ch); // Close the cURL connection
       return json_decode($result); // Return the received data

    }
*/

///////////////////////////////////////////////////////////////////////////////////////////
$token = "wFJkQdAcPnkkxs4Z308KuMt5HWC8TiJ09P7moNnDkcyuW4KDuI";
$authorization = "Authorization: Bearer ".$token; // Prepare the authorisation token

$curl = curl_init();

curl_setopt_array($curl, array(
    CURLOPT_URL => 'https://inape.sisfek.net.pe/api/documents',
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => '',
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 0,
  CURLOPT_FOLLOWLOCATION => true,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => 'POST',
  CURLOPT_HTTPHEADER, array(
            'Content-Type: application/json; charset=utf-8',
    		$authorization		
    		),
  CURLOPT_POSTFIELDS =>'{
  "serie_documento": "FD01",
  "numero_documento": "1",
  "fecha_de_emision": "2019-09-05",
  "hora_de_emision": "10:11:11",
  "codigo_tipo_documento":"08",
  "codigo_tipo_nota": "01",
  "motivo_o_sustento_de_nota": "Error al emitir comprobante",
  "codigo_tipo_moneda": "PEN",
  "numero_orden_de_compra": "0045467898",
  "documento_afectado": {
    "serie_documento": "F001",
    "numero_documento": "133",
    "codigo_tipo_documento": "01"
  }, 
  "datos_del_cliente_o_receptor":{
    "codigo_tipo_documento_identidad": "6",
    "numero_documento": "10414711225",
    "apellidos_y_nombres_o_razon_social": "EMPRESA XYZ S.A.",
    "codigo_pais": "PE",
    "ubigeo": "150101",
    "direccion": "Av. 2 de Mayo",
    "correo_electronico": "demo@gmail.com",
    "telefono": "427-1148"
  },
  "totales": {
    "total_exportacion": 0.00,
    "total_operaciones_gravadas": 100.00,
    "total_operaciones_inafectas": 0.00,
    "total_operaciones_exoneradas": 0.00,
    "total_operaciones_gratuitas": 0.00,
    "total_igv": 18.00,
    "total_impuestos": 18.00,
    "total_valor": 100,
    "total_venta": 118
  },
  "items":[
    {
      "codigo_interno": "P0121",
      "descripcion":"Inca Kola 250 ml",
      "codigo_producto_sunat": "51121703", 
      "unidad_de_medida": "NIU",
      "cantidad": 2,
      "valor_unitario": 50,
      "codigo_tipo_precio": "01",
      "precio_unitario": 59,
      "codigo_tipo_afectacion_igv": "10",
      "total_base_igv": 100.00,
      "porcentaje_igv": 18,
      "total_igv": 18,
      "total_impuestos": 18,
      "total_valor_item": 100,
      "total_item": 118
    }
  ],
  "acciones": {
    "formato_pdf": "a4"
  }
}',
));

$response = curl_exec($curl);

curl_close($curl);
echo $response;

exit;

?>