preregister
ANEXO XII. PROCESAMIENTO MASIVO
P3 Masivo: Descripción del flujo
P3 Masivo proporciona un flujo especializado para el procesamiento masivo de preregistros, diseñado para gestionar solicitudes de alto volumen que no pueden ser procesadas a través del preregistro Online.
Actualmente, este flujo soporta dos operaciones:
- Preregistro
- Anulación
El proceso admite ficheros JSON que contienen solicitudes de preregistro de Cartas (RV) y paquetería, utilizando exactamente el mismo formato que las peticiones gestionadas por P3 Online, tanto para la operación de Preregistro como para la de Anulación.
El tratamiento de los ficheros se realiza de manera asíncrona, incluyendo:
- Validación de los datos recibidos.
- Ejecución de las operaciones de preregistro o anulación.
- Generación de un fichero JSON de respuesta con el resultado del procesamiento.
En el caso de la operación de Preregistro, y a diferencia del funcionamiento de P3 Online, la respuesta generada incluirá tanto los códigos de los envíos procesados correctamente como el detalle de los errores de validación que hayan podido producirse durante el procesamiento del fichero.
Condiciones de uso
Para que un cliente pueda utilizar el flujo de procesamiento masivo, es necesario configurarlo previamente en CONVIERTA, proporcionando toda la información requerida para habilitar la integración.
Para más información sobre CONVIERTA contacte con un agente de Comercial de Correos.
Los ficheros procesados por P3 Masivo deben cumplir el mismo formato que las peticiones Online, tanto para la operación de Preregistro como para la de Anulación.
Es obligatorio que los ficheros incluyan el Código de preregistro correspondiente a los bultos que se desean preregistrar (campo packages -> packageCode).
Una vez procesado el fichero, la respuesta generada por P3 Masivo será enviada directamente a CONVIERTA, que se encargará de entregarle el fichero de respuesta al cliente.
Fichero de Entrada
El fichero que el cliente debe alojar para su procesamiento deberá estar en formato JSON.
El nombre del fichero se compone habitualmente de:
prefijo + contractNumber + clientNumber + fecha + hora + extensión
Por ejemplo:
FD12345678_9998765432_20250101153030.jsonEstructura interna
El fichero debe incluir toda la información necesaria para el prerregistro de cada envío. Para más detalles sobre los campos específicos, consulte la documentación de la API de P3.
El contenido del fichero permite crear nuevos preregistros, incluyendo, entre otros, los siguientes datos:
- Producto / modalidad.
- Contrato / detallable / etiquetador asociado.
- Información del bulto (características y datos logísticos).
- Datos del destinatario.
- Datos del remitente.
- Valores adicionales (opcionales).
Además, el fichero puede incluir prerregistros previamente creados mediante el flujo masivo que deban ser anulados.
Este mecanismo está diseñado para procesar un volumen de datos mayor que el permitido en el prerregistro online de la API. Por ello, dentro del campo shipments puede incluirse el número de envíos que sea necesario.
En el campo annulments se deben indicar los códigos de bulto a anular, utilizando un array que permite especificar múltiples elementos.
Ejemplo:
{
"errorCodeLanguage": "spa",
"application": "P3",
"shipments": [
{
"admissionProvince": "28",
"packagesNumber": "10",
"product": "PAFXB",
"deliveryMethod": "DOUAOF",
"frankingType": "FP",
"totalWeight": "10000",
"contractNumber": "12345678",
"clientNumber": "9998765432",
"labellerCode": "AB12",
"packages": [
{
"packageId": "TEST",
"packageHeight": "1500",
"packageWidth": "1000",
"packageLength": "100",
"packageWeightGrams": "200",
"clientReference": "TEST",
"clientReference2": "TEST",
"packageCode": "PQAB129800001020128001A",
"packageContents": {
"shipmentType": "2",
"customsData": [
{
"quantity": "1",
"description": "456",
"netWeight": "100",
"netValue": "11.91",
"tariffNumber": "101010",
"countryOrigin": "DEU"
}
]
}
}
],
"addressee": {
"name": "Test Addressee",
"address": "11 AVENUE DU TEST",
"locality": "MADRID",
"cp": "28001",
"country": "ESP"
},
"sender": {
"name": "Test Sender",
"address": "Calle Rejas 9",
"locality": "Madrid",
"cp": "28022",
"country": "ESP"
},
"additionalValues": [
{
"additionalValueId": "VADEPA",
"fields": [
{
"fieldId": "1",
"value": "250"
}
]
}
]
},
{
// shipment details 2 ...
},
{
// shipment details 3 ...
}
]
,
"annulments": [
"PQ9TTF9800000010128001N",
"PL26CS9800006230125001L",
"PK9TTF9800000010428001D"
]
}Fichero de Salida
Una vez procesada la información del JSON de entrada se genera un fichero de respuesta que se enviará a la ruta que indique CONVIERTA.
El contenido del fichero JSON indicará información sobre el procesamiento de cada uno de los envíos (shipments) del fichero de entrada, si ha ido correctamente o si se ha producido un error. El formato JSON es similar al de la API online al realizar un preregistro.
Ejemplo:
{
"fileIdentifier": "nombreAplicación_fechaGeneraciónFichero",
"result": "1",
"shipments": [
{
"validationErrorCount": 2,
"error": [
{
"errorCode": 1007,
"description": "El producto-pais no existe",
"errorFieldName": "cod_pais"
},
{
"errorCode": 5012,
"description": "Valor de admissionMethod o deliveryMethod no permitido",
"errorFieldName": "admissionMethod/deliveryMethod"
}
],
"packages": [
{
"packageId": "Test",
"packageCode": "PQAB129800001020128028Z"
}
]
}
…
]
"annulments": [
{
"errors": null,
"message": "Preregistro Anulado con éxito",
"packageCode": "PQ9TTF9800000010128001N"
},
{
"errors": [
{
"errorCode": 6068,
"description": "Esta operación no está permitida para este producto. Se debe anular por expedición",
"errorFieldName": "product"
}
],
"message": "Ha ocurrido un error al tratar de anular el preregistro",
"packageCode": "PL26CS9800006230125001L"
},
{
"errors": [
{
"errorCode": 7001,
"description": "El envío está admitido",
"errorFieldName": "shipment"
}
],
"message": "Ha ocurrido un error al tratar de anular el preregistro",
"packageCode": "PK9TTF9800000010428001D"
}
…
]
}