AMOC API FE
POST /api/despatches/send

GRE Remitente - Transporte privado

Guía de remisión remitente (09) por venta, trasladada con vehículo propio.

Las guías se envían por la API REST de SUNAT (OAuth2). SUNAT responde con un ticket y el CDR se obtiene consultándolo: el endpoint espera unos segundos la respuesta y devuelve HTTP 200 (ACEPTADA), 202 (PENDIENTE) o 422 (RECHAZADA / EXCEPCION). En transporte privado se informan el vehículo y el conductor principal.

Authorization

Header requerido: Authorization: Bearer <API_TOKEN>

Request Body — application/json

Request JSON
{
    "company": {
        "ruc": "20000000001"
    },
    "tipoDoc": "09",
    "serie": "T001",
    "correlativo": 1,
    "fechaEmision": "2026-05-12T10:00:00-05:00",
    "observacion": "Entregar en almacén central",
    "destinatario": {
        "tipoDoc": "6",
        "numDoc": "20100070970",
        "rznSocial": "CLIENTE DESTINO SAC"
    },
    "docsRelacionados": [
        {
            "tipo": "01",
            "nro": "F001-120",
            "emisor": "20000000001"
        }
    ],
    "envio": {
        "codTraslado": "01",
        "modTraslado": "02",
        "fecTraslado": "2026-05-12",
        "pesoTotal": 25.5,
        "undPesoTotal": "KGM",
        "partida": {
            "ubigeo": "150101",
            "direccion": "AV. ABANCAY 123, LIMA"
        },
        "llegada": {
            "ubigeo": "150130",
            "direccion": "AV. JAVIER PRADO ESTE 456, SAN BORJA"
        },
        "vehiculo": {
            "placa": "ABC123"
        },
        "choferes": [
            {
                "tipo": "Principal",
                "tipoDoc": "1",
                "nroDoc": "44556677",
                "nombres": "JUAN",
                "apellidos": "PEREZ QUISPE",
                "licencia": "Q44556677"
            }
        ]
    },
    "details": [
        {
            "codigo": "P001",
            "descripcion": "CAJA DE TORNILLOS",
            "unidad": "NIU",
            "cantidad": 10
        },
        {
            "codigo": "P002",
            "descripcion": "CABLE 2.5MM",
            "unidad": "MTR",
            "cantidad": 100.5
        }
    ]
}

Response Example

200 OK
{
    "success": true,
    "message": "Guía T001-1: ACEPTADA",
    "data": {
        "company_ruc": "20000000001",
        "tipo_doc": "09",
        "serie": "T001",
        "correlativo": 1,
        "numero": "T001-1",
        "nombre": "20000000001-09-T001-1",
        "ticket": "9f8b1c2e-5d7a-4b8e-a1f3-000000000000",
        "estado": "ACEPTADA",
        "codigo": "0",
        "descripcion": "La Guia numero T001-1, ha sido aceptada",
        "observaciones": [],
        "hash": "406b73d936c27f3ed5dc1394db94b3c4826cfc25975e27c1537b537aff73d8ba",
        "qrUrl": "https://e-factura.sunat.gob.pe/v1/contribuyente/gre/comprobantes/descargaqr?hashqr=...",
        "xml": "<?xml version=\"1.0\" encoding=\"utf-8\"?>...",
        "cdrZip": "UEsDBBQAAAAIA...",
        "cdrName": "R-20000000001-09-T001-1.zip"
    },
    "error": null,
    "errors": null
}

Notas

  • Serie: 4 caracteres empezando con "T". Correlativo: 1 a 99999999. Un número RECHAZADO no puede reutilizarse (SUNAT 1032).
  • Producción: la empresa necesita `client_id` y `client_secret` (SUNAT Operaciones en Línea > Credenciales de API SUNAT) además de la Clave SOL.
  • Beta: se usa el sandbox de pruebas configurado en `.env` (GRE_BETA_*); nunca se envían las credenciales reales de la empresa.
  • Imprima la guía con el código QR de `qrUrl` (viene en el CDR).
  • Envíe `"esperarRespuesta": false` para responder al instante con el ticket (HTTP 202) y consultar el estado después.
  • Si la validación local falla responde 422 con `errors` por campo (se indica el código SUNAT equivalente).
  • La API no almacena la guía: guarde el `ticket`, el `xml` y el `cdrZip` de la respuesta.
  • Colección de Postman lista para probar: docs/postman/.