"4") al Ministerio de Hacienda. Se usa para ventas al consumidor final sin necesidad de identificar al receptor.
El campo
receptor debe enviarse como string vacío "" para tiquetes sin
receptor.Request
POST https://{empresa}.mipos.co.cr/api/enviar/items
Campos principales
string
required
Número de identificación del emisor registrado.
integer
required
Número consecutivo de referencia del documento.
string
required
Código de actividad económica del emisor.
string
required
Tipo de documento. Para tiquete electrónico:
"4".string
required
String vacío
"" para tiquetes sin receptor.string
required
Tipo de folio. Siempre
"INVOICE".string
required
Fecha y hora de emisión en formato ISO 8601.
array
required
Líneas de detalle del documento. Ver Factura
Electrónica para la estructura
completa.
array
Cargos adicionales. Ver Factura
Electrónica para la estructura.
object
required
Resumen con moneda y totales. Ver Factura
Electrónica para la estructura.
curl -X POST https://{empresa}.mipos.co.cr/api/enviar/items \
-H "Content-Type: application/json" \
-H "Authorization: Bearer {token}" \
-d '{
"emisor": "3102955154",
"numeroReferencia": 22,
"codigoActividad": "6201.0",
"tipoDoc": "4",
"receptor": "",
"folioType": "INVOICE",
"fechaEmision": "2024-08-23T10:30:00-06:00",
"resumenFactura": {
"codigoTipoMoneda": {
"codigoMoneda": "CRC"
},
"mediosPago": [
{
"tipoMedioPago":"01",
"totalMedioPago":"20000.00"
},
{
"tipoMedioPago":"06",
"totalMedioPago":"5160.90"
}
],
"totalOtrosCargos": "387.09"
},
"otrosCargos": [
{
"detalle": "911",
"montoCargo": "165.90",
"porcentaje": "0.75",
"nombreTercero": "911",
"tipoDocumento": "99"
},
{
"detalle": "CR",
"montoCargo": "221.19",
"porcentaje": "1.00",
"nombreTercero": "CR",
"tipoDocumento": "99"
}
],
"detalleServicio": [
{
"codigo": "8421000000000",
"detalle": "INTERNET RESIDENCIAL 200 MBPS",
"cantidad": 1.0,
"impuesto": [
{
"monto": "2875.53",
"codigo": "01",
"tarifa": "13",
"codigoTarifa": "08"
}
],
"subTotal": "22119.47",
"descuento": "0.00",
"montoTotal": "22119.47",
"numeroLinea": 1,
"impuestoNeto": 2875.53,
"unidadMedida": "Os",
"precioUnitario": "22119.47",
"codigoComercial": [
{
"tipo": "04",
"codigo": "I_INT"
}
],
"montoTotalLinea": 24995.0,
"unidadMedidaComercial": "Os"
}
]
}'
$ch = curl_init('https://{empresa}.mipos.co.cr/api/enviar/items');
curl_setopt_array($ch, [
CURLOPT_POST => true,
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => [
'Content-Type: application/json',
'Authorization: Bearer ' . $token,
],
CURLOPT_POSTFIELDS => json_encode([
'emisor' => '3102955154',
'numeroReferencia' => 22,
'codigoActividad' => '6201.0',
'tipoDoc' => '4',
'receptor' => '',
'folioType' => 'INVOICE',
'fechaEmision' => date('c'),
'resumenFactura' => [
'codigoTipoMoneda' => ['codigoMoneda' => 'CRC'],
'totalOtrosCargos' => '387.09',
],
'detalleServicio' => [
[
'codigo' => '8421000000000',
'detalle' => 'INTERNET RESIDENCIAL 200 MBPS',
'cantidad' => 1.0,
'precioUnitario' => '22119.47',
'subTotal' => '22119.47',
'montoTotal' => '22119.47',
'descuento' => '0.00',
'numeroLinea' => 1,
'unidadMedida' => 'Os',
'impuestoNeto' => 2875.53,
'montoTotalLinea' => 24995.0,
'impuesto' => [
['codigo' => '01', 'codigoTarifa' => '08', 'tarifa' => '13', 'monto' => '2875.53'],
],
],
],
]),
]);
$response = curl_exec($ch);
$httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_close($ch);
const response = await fetch("https://{empresa}.mipos.co.cr/api/enviar/items", {
method: "POST",
headers: {
"Content-Type": "application/json",
Authorization: `Bearer ${token}`,
},
body: JSON.stringify({
emisor: "3102955154",
numeroReferencia: 22,
codigoActividad: "6201.0",
tipoDoc: "4",
receptor: "",
folioType: "INVOICE",
fechaEmision: new Date().toISOString(),
resumenFactura: {
codigoTipoMoneda: { codigoMoneda: "CRC" },
totalOtrosCargos: "387.09",
},
detalleServicio: [
{
codigo: "8421000000000",
detalle: "INTERNET RESIDENCIAL 200 MBPS",
cantidad: 1.0,
precioUnitario: "22119.47",
subTotal: "22119.47",
montoTotal: "22119.47",
descuento: "0.00",
numeroLinea: 1,
unidadMedida: "Os",
impuestoNeto: 2875.53,
montoTotalLinea: 24995.0,
impuesto: [
{ codigo: "01", codigoTarifa: "08", tarifa: "13", monto: "2875.53" },
],
},
],
}),
});
const data = await response.json();
import requests
from datetime import datetime
response = requests.post(
'https://{empresa}.mipos.co.cr/api/enviar/items',
headers={'Authorization': f'Bearer {token}'},
json={
'emisor': '3102955154',
'numeroReferencia': 22,
'codigoActividad': '6201.0',
'tipoDoc': '4',
'receptor': '',
'folioType': 'INVOICE',
'fechaEmision': datetime.now().isoformat(),
'resumenFactura': {
'codigoTipoMoneda': {'codigoMoneda': 'CRC'},
'totalOtrosCargos': '387.09',
},
'detalleServicio': [
{
'codigo': '8421000000000',
'detalle': 'INTERNET RESIDENCIAL 200 MBPS',
'cantidad': 1.0,
'precioUnitario': '22119.47',
'subTotal': '22119.47',
'montoTotal': '22119.47',
'descuento': '0.00',
'numeroLinea': 1,
'unidadMedida': 'Os',
'impuestoNeto': 2875.53,
'montoTotalLinea': 24995.0,
'impuesto': [
{'codigo': '01', 'codigoTarifa': '08', 'tarifa': '13', 'monto': '2875.53'},
],
},
],
},
)
data = response.json()
{
"status": "success",
"message": "Documento enviado correctamente",
"clave": "50628032600310295515400400001010000000022146404019"
}
{
"error": "unauthorized",
"message": "Token inválido o expirado"
}