Ejemplos¶
Se proveen algunos ejemplos para el envio de comprobantes al API.
Nota
Para ejecuar los siguiente ejemplos necesita crear un token, vaya a la sección Tutoriales
C#¶
Usar los espacios de nombres.
using System;
using System.Net;
Emplear el siguiente codigo para el envio.
var token = "UN-TOKEN-VALIDO";
var txt = "CAB||01|F001|433|2017-12-01|6|20480048359...";
var http = (HttpWebRequest)WebRequest.Create("https://factesol.net.pe/api/v2/doc/ventas");
http.Method = "POST";
http.ContentType = "text/plain";
http.Headers.Add("Authorization", "Bearer " + token);
var content = Encoding.UTF8.GetBytes(txt);
http.ContentLength = content.Length;
using (var wr = http.GetRequestStream())
{
wr.Write(content, 0, content.Length);
}
var resp = (HttpWebResponse)http.GetResponse();
if (resp.StatusCode == HttpStatusCode.OK)
{
Console.WriteLine("Enviado a Factesol");
}
Java¶
Realizar los siguientes import.
import java.io.IOException;
import java.io.OutputStream;
import java.net.HttpURLConnection;
import java.net.URL;
Emplear el siguiente codigo para el envio.
String endpoint = "https://factesol.net.pe/api/v2/doc/ventas";
String token = "UN-TOKEN-VALIDO";
String txtContent = "CAB||01|F001|433|2017-12-01|6|20480048359...";
URL url = new URL(endpoint);
HttpURLConnection conn = (HttpURLConnection) url.openConnection();
conn.setDoOutput(true);
conn.setRequestProperty("Authorization", "Bearer " + token);
conn.setRequestMethod("POST");
conn.setRequestProperty("Content-Type", "text/plain");
OutputStream os = conn.getOutputStream();
os.write(txtContent.getBytes());
os.flush();
if (conn.getResponseCode() == HttpURLConnection.HTTP_OK) {
System.out.println("Success");
}
conn.disconnect();
PHP¶
Para el siguiente ejemplo necesita tener activada la extension Curl.
<?php
$token = "UN-TOKEN-VALIDO";
$txt = "CAB||01|F001|433|2017-12-01|6|20480048359...";
$header = array();
$header[] = 'Content-type: text/plain';
$header[] = 'Authorization: Bearer ' . $token;
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "https://factesol.net.pe/api/v2/doc/ventas");
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1 );
curl_setopt($ch, CURLOPT_POSTFIELDS, $txt);
curl_setopt($ch, CURLOPT_HTTPHEADER, $header);
$result = curl_exec ($ch);
curl_close ($ch);
var_dump($result);
Visual FoxPro¶
pURL_WSDL = "https://factesol.net.pe/api/v2/doc/ventas"
token = "UN-TOKEN-VALIDO"
* txt = FILETOSTR(Ruta_de_archivo)
txt = "CAB|0101|01|F591|00001235|2020-08-20|6|20600055519|TI SOLUCIONES|user@gmail.com|PEN|||||4000||||||0|4000|4000|||||||||||||||||3.31" + Chr(13) + ;
"DET|NIU|1|C0001||CEMENTO|4000||0|30|||4000|4000||4000|0|0||" + Chr(13) + ;
"EXT|005|Cal. Bernardo O’Higgins Nro. 899 Int. 505 Pueblo Libre"
oHTTP = Createobject('MsXml2.XmlHttp');
oHTTP.OPEN("POST", pURL_WSDL, .F.):
oHTTP.setRequestHeader("Content-Type", "text/plain")
oHTTP.setRequestHeader("Authorization", "Bearer " + token)
oHTTP.SEND( ALLTRIM(txt) )
RespuestaWS = oHTTP.responseText
RespuestaBd = oHTTP.responseBody
RespuestaEstado = oHTTP.status
IF RespuestaEstado <> 200
MESSAGEBOX("Error")
ELSE
MESSAGEBOX("enviado correctamente")
ENDIF
Visual Basic 6¶
pURL_WSDL = «https://factesol.net.pe/api/v2/doc/ventas» token = «eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJydWMiOiIyMDEyMzQ1Njc4OSIsInR5cGUiOiJzeXMiLCJkYXRlIjoxNTQwMzMyOTg0fQ.ijQaRydA6-Ptsbn3IdXeyH272hUoa–uWM3khEAFIgc»
- txt = «CAB|0101|01|F591|00001235|2020-08-20|6|20600055519|TI SOLUCIONES|user@gmail.com|PEN|||||4000||||||0|4000|4000|||||||||||||||||3.31» & Chr(13) & _
- «DET|NIU|1|C0001||CEMENTO|4000||0|30|||4000|4000||4000|0|0||» & Chr(13) & _ «EXT|005|Cal. Bernardo O’Higgins Nro. 899 Int. 505 Pueblo Libre»
Set oHTTP = CreateObject(«MSXML2.XMLHTTP») oHTTP.open «POST», pURL_WSDL, False oHTTP.setRequestHeader «Content-Type», «text/plain» oHTTP.setRequestHeader «Authorization», «Bearer » + token
oHTTP.send (txt)
RespuestaWS = oHTTP.responseText RespuestaBd = oHTTP.responseBody RespuestaEstado = oHTTP.Status
- If RespuestaEstado <> 200 Then
- MsgBox «Error»
- Else
- MsgBox «enviado correctamente»
End If