> ## Documentation Index
> Fetch the complete documentation index at: https://docs.mipos.co.cr/llms.txt
> Use this file to discover all available pages before exploring further.

# Tiquete Extranjero

> Emitir un tiquete electrónico para receptor con identificación extranjera

Envía un tiquete electrónico (tipoDoc `"4"`) para un receptor con identificación extranjera (tipo `"05"`).

<Note>
  La diferencia con el tiquete regular es que este incluye un receptor con tipo
  de identificación `"05"` (extranjero), que acepta números de pasaporte u otros
  documentos internacionales.
</Note>

## Request

```
POST https://{empresa}.mipos.co.cr/api/enviar/items
```

### Campos principales

<ParamField body="emisor" type="string" required>
  Número de identificación del emisor registrado.
</ParamField>

<ParamField body="numeroReferencia" type="integer" required>
  Número consecutivo de referencia del documento.
</ParamField>

<ParamField body="codigoActividad" type="string" required>
  Código de actividad económica del emisor.
</ParamField>

<ParamField body="tipoDoc" type="string" required>
  Tipo de documento. Para tiquete: `"4"`.
</ParamField>

<ParamField body="folioType" type="string" required>
  Tipo de folio. Siempre `"INVOICE"`.
</ParamField>

<ParamField body="fechaEmision" type="string" required>
  Fecha y hora de emisión en formato ISO 8601.
</ParamField>

### Receptor extranjero

<ParamField body="receptor" type="object" required>
  Datos del receptor extranjero.

  <Expandable title="Propiedades">
    <ParamField body="nombre" type="string" required>
      Nombre completo del receptor.
    </ParamField>

    <ParamField body="telefono" type="string">
      Número de teléfono.
    </ParamField>

    <ParamField body="identificacion" type="object" required>
      <Expandable title="Propiedades">
        <ParamField body="tipo" type="string" required>
          Tipo de identificación. Para extranjeros: `"05"`.
        </ParamField>

        <ParamField body="numero" type="string" required>
          Número de pasaporte o documento extranjero.
        </ParamField>
      </Expandable>
    </ParamField>

    <ParamField body="correoElectronico" type="string">
      Correo electrónico del receptor.
    </ParamField>
  </Expandable>
</ParamField>

<ParamField body="detalleServicio" type="array" required>
  Líneas de detalle del documento. Ver [Factura
  Electrónica](/api-reference/cliente/enviar-factura) para la estructura
  completa.
</ParamField>

<ParamField body="otrosCargos" type="array">
  Cargos adicionales. Ver [Factura
  Electrónica](/api-reference/cliente/enviar-factura) para la estructura.
</ParamField>

<ParamField body="resumenFactura" type="object" required>
  Resumen con moneda y totales. Ver [Factura
  Electrónica](/api-reference/cliente/enviar-factura) para la estructura.
</ParamField>

<RequestExample>
  ```bash cURL theme={null}
  curl -X POST https://{empresa}.mipos.co.cr/api/enviar/items \
    -H "Content-Type: application/json" \
    -H "Authorization: Bearer {token}" \
    -d '{
      "emisor": "3102955154",
      "numeroReferencia": 20,
      "codigoActividad": "6201.0",
      "tipoDoc": "4",
      "receptor": {
        "nombre": "JOHN DOE SMITH",
        "telefono": "50684444",
        "identificacion": {
          "tipo": "05",
          "numero": "BC9872774"
        },
        "correoElectronico": "john@example.com"
      },
      "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"
        }
      ]
    }'
  ```

  ```php PHP theme={null}
  $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'  => 20,
          'codigoActividad'   => '6201.0',
          'tipoDoc'           => '4',
          'receptor'          => [
              'nombre'             => 'JOHN DOE SMITH',
              'telefono'           => '50684444',
              'identificacion'     => ['tipo' => '05', 'numero' => 'BC9872774'],
              'correoElectronico'  => 'john@example.com',
          ],
          '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);
  ```

  ```javascript Node.js theme={null}
  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: 20,
      codigoActividad: "6201.0",
      tipoDoc: "4",
      receptor: {
        nombre: "JOHN DOE SMITH",
        telefono: "50684444",
        identificacion: { tipo: "05", numero: "BC9872774" },
        correoElectronico: "john@example.com",
      },
      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();
  ```

  ```python Python theme={null}
  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': 20,
          'codigoActividad': '6201.0',
          'tipoDoc': '4',
          'receptor': {
              'nombre': 'JOHN DOE SMITH',
              'telefono': '50684444',
              'identificacion': {'tipo': '05', 'numero': 'BC9872774'},
              'correoElectronico': 'john@example.com',
          },
          '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()
  ```
</RequestExample>

<ResponseExample>
  ```json 200 — Documento enviado theme={null}
  {
    "status": "success",
    "message": "Documento enviado correctamente",
    "clave": "50628032600310295515400400001010000000020146404019"
  }
  ```

  ```json 401 — No autorizado theme={null}
  {
    "error": "unauthorized",
    "message": "Token inválido o expirado"
  }
  ```
</ResponseExample>
