giansalex / sufel

SUFEL - Libreria para llevar acabo la Consulta de comprobantes electrónicos exigido por Sunat
6 stars 5 forks source link

ayuda #8

Closed abelnexus closed 6 years ago

abelnexus commented 6 years ago

amigo, esto tambien es aceptado en vez de enviar email no ? o son diferentes consulta y envio de representacion impresa

abelnexus commented 6 years ago

quiero consumir la libreria captura algo asi pero no se como hacerlo con mi propio form

giansalex commented 6 years ago

lo que es obligatorio es esto (web de consulta para los usuarios), enviar mail es opcional. Sufel es un API REST, el ui lo hice con angular. Tu puedes hacer tu propia interfaz y consumir el servicio, los endpoint estan definidos aqui

giansalex commented 6 years ago

Es multiempresa, los pasos que tendrias que hacer son:

Para consultar un comprobante los pasos serian:

abelnexus commented 6 years ago

se necesita todos esos datos ? captura o solo la carpeta vendor

abelnexus commented 6 years ago

captura

estoy perdido verdad ? :')

giansalex commented 6 years ago

si, sufel no es una libreria, es una aplicación API REST lista para ser desplagada a algun hosting, en tu caso es el cliente el que tienes que crear , puedes hacerlo usando jquery + ajax

abelnexus commented 6 years ago

podrias darme un ejemplo por favor ? nunca use una api rest

giansalex commented 6 years ago

por ejemplo con ajax jquery , para verificar que se encuentra el comprobante:

var data = {
  emisor: "2000000001",
  tipo: "01",
  documento: "F001-1",
  fecha: "2018-03-12T00:00:00",
  total: 213.23
};

$.ajax({
  url: 'http://domain.com/api/client/auth',
  type: 'POST',
  dataType: 'json',
  contentType: "application/json; charset=utf-8",
  data: JSON.stringify(data),
  success: function (r) {
    console.log(r.token);
  }
});
abelnexus commented 6 years ago

entonces solo subo la carpeta sufel-master a un hosting y envio los datos directamente con este codigo?

giansalex commented 6 years ago

si, o también puedes subir el archivo sufel.phar.zip que ya incluye las dependencias instaladas con composer, solo tienes que cambiar la configuracion de base de datos en el index.php dentro del zip,
Las extensiones de php habilitadas son:

abelnexus commented 6 years ago

ya subi sufel.phar.zip al hosting y cree la bd ahora en que directorio subo el xml y el pdf

abelnexus commented 6 years ago

captura

abelnexus commented 6 years ago

captura

giansalex commented 6 years ago

despues de crear la base de datos, necesitas crear las tablas, aqui estan los querys, los archivos se suben por el API, para que los registre en la base de datos y posteriormente se pueda consultar.

veo que hace falta un manual.

abelnexus commented 6 years ago

la bd con las tablas y la conexion tambien ya esta, pero codigo para subir los archivos ? o como se hace

abelnexus commented 6 years ago

ahora desde mi local host estoy usando esto al hacer click espero "algo" captura

abelnexus commented 6 years ago

:'(

giansalex commented 6 years ago

tienes que subir los archivos para poder consultar, aqui esta la documentacion del API , los archivos se envian codificado en base64

{
   xml: "--content-base64-xml--",
   pdf: "--content-base64-pdf--"
}
abelnexus commented 6 years ago

dame un ejemplo amigo por favor como subir un archivo desde localhost a mi hosting http://rodolfomv.com/

abelnexus commented 6 years ago

captura

abelnexus commented 6 years ago

captura

giansalex commented 6 years ago

y el jquery?

abelnexus commented 6 years ago

no es esa foto que subi el jquery ? :(

giansalex commented 6 years ago

en que lado colocaste el jquery. ejm:

<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
abelnexus commented 6 years ago

ahh que imbecil soy!!!

abelnexus commented 6 years ago

captura

abelnexus commented 6 years ago

creo que la direccion esta mal ? o que puede ser ese error

abelnexus commented 6 years ago

captura

abelnexus commented 6 years ago

segun la documentacion los aprametros son incorrectos, pero no veo el error en el codigo

abelnexus commented 6 years ago

captura

abelnexus commented 6 years ago

ayudame amigo en que estoy fallando

giansalex commented 6 years ago

requiere autenticacion, el valor que pusiste en SUFEL_ADMIN=xxxxx , tienes que enviarlo en la url. /api/company/create?token=xxxxx

abelnexus commented 6 years ago

hola amigo con el token ya me registra la compañia, mi duda sigue siendo al subir el archivo tiene que ser con un imput (type file) ?

abelnexus commented 6 years ago

en la documentación dice "string" o solamente es el nombre lo que se sube ? entonces como harian para descargar el pdf o el xml

abelnexus commented 6 years ago

sale error 401 Unauthorized captura

abelnexus commented 6 years ago

ni asi :( captura

giansalex commented 6 years ago

Para subir el archivo tendrías que hacerlo usando PHP, el token de administrador es solo para crear las empresas, como es multiempresa cada una tiene que autenticarse aqui : /company/auth se tiene que enviar esto:

{
  "ruc": "20000000001",
  "password": "xxxxxx"
}

esto devolvera un token :

{
  "token": "tyyuuidgguiiixdhhh",
  "expire": 222
}
giansalex commented 6 years ago

Después de tener el token podras enviar el archivo:

$xml = base64_encode(file_get_contents("2222.xml"));
$pdf= base64_encode(file_get_contents("2222.pdf"));

$content = ['xml' => $xml, 'pdf' => $pdf];
$headers = ['Authorization' => 'Bearer YOUR-TOKEN-HERE'];

en php que libreria usas para realizar peticiones HTTP? ejm: curl

abelnexus commented 6 years ago

no se me ocurre como enviar esos datos amigo captura

giansalex commented 6 years ago

si pudieras copiar es codigo aqui como texto y no imagen podria ayudarte

abelnexus commented 6 years ago

disculpa no se como se ordena D:

abelnexus commented 6 years ago

$xml = base64_encode(file_get_contents("10486113532-01-F001-000100.xml")); $pdf= base64_encode(file_get_contents("10486113532-01-F001-000100.pdf"));

$content = ['xml' => $xml, 'pdf' => $pdf]; $headers = ['Authorization' => 'eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzY29wZSI6WyJjb21wYW55Il0sInJ1YyI6IjEwNDg2MTEzNTMyIiwiZXhwIjoxNTIxNjYzMjg3fQ.urQL9i1r9ku2p3uin0E16NUBbYlk1nWIVBUXq6nWdPw']; function myFunction() { var data = { xml: "$xml", pdf: "$pdf" } $.ajax({ url: 'http://localhost:82/sufel/api/company/add-document?Authorization=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzY29wZSI6WyJjb21wYW55Il0sInJ1YyI6IjEwNDg2MTEzNTMyIiwiZXhwIjoxNTIxNjYzMjg3fQ.urQL9i1r9ku2p3uin0E16NUBbYlk1nWIVBUXq6nWdPw', type: 'POST', dataType: 'json', contentType: "application/json; charset=utf-8", data: JSON.stringify(data), success: function (r) { console.log(r.token);

} }); }

giansalex commented 6 years ago
$xml = base64_encode(file_get_contents("10486113532-01-F001-000100.xml"));
$pdf= base64_encode(file_get_contents("10486113532-01-F001-000100.pdf"));

$content = ['xml' => $xml, 'pdf' => $pdf];
?>
function myFunction() {
var data = {
xml: "<?php echo $xml?>",
pdf: "<?php echo $pdf?>"
}
$.ajax({
url: 'http://localhost:82/sufel/api/company/add-document',
type: 'POST',
dataType: 'json',
contentType: "application/json; charset=utf-8",
data: JSON.stringify(data),
headers: { 
        Authorization: "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzY29wZSI6WyJjb21wYW55Il0sInJ1YyI6IjEwNDg2MTEzNTMyIiwiZXhwIjoxNTIxNjYzMjg3fQ.urQL9i1r9ku2p3uin0E16NUBbYlk1nWIVBUXq6nWdPw"
}
success: function (r) {
console.log(r);

}
});
}
abelnexus commented 6 years ago

perfecto amigo ya me guarda el archivo probe hacer la consulta y es correcto, ahora no se como capturo la respuesta y lo muestro(solo aparece en consola) o como puede descargar o ver el pdf

abelnexus commented 6 years ago

function myFunction() { var data = { emisor: "10486113532", tipo: "01", documento: "F001-000100", fecha: "2018-03-15", total: 120.00 }; $.ajax({ url: 'http://localhost:82/sufel/api/client/auth', type: 'POST', dataType: 'json', contentType: "application/json; charset=utf-8", data: JSON.stringify(data), success: function (r) { console.log(r.token); } }); }

giansalex commented 6 years ago

estas son las url para consultar:

abelnexus commented 6 years ago

todo sale asi, pero los consultantes no podran usar asi :'v captura

giansalex commented 6 years ago

es formato raw del PDF, hay unas librerias para guardar ese pdf como el que se usa en sufel-angular,

abelnexus commented 6 years ago

alguna forma de abrir o mostrar el info o pdf que no sea en la consola ?

giansalex commented 6 years ago

si puedes guiarte del ejemplo sufel-angular, alli hace todos los pasos que has hecho