Investigacion completa de descubrimiento GLS
Exportacion para revision: 05/11/2026, Europe/Madrid. Contenido completo de los informes fuente, no resumen. No se alteran los originales. Los nombres personales no imprescindibles se sustituyen por etiquetas; los ejemplos tecnicos y la estructura se conservan. No se exportan credenciales ni evidencias crudas. Las conclusiones, contadores y autorizaciones de cada informe son HISTORICOS: no habilitan operaciones. El encargo actual prioriza exclusivamente enumeracion por fechas. La fecha mas reciente y el suplemento de esta revision prevalecen sobre planes anteriores.
Fuentes completas incluidas
| Fuente original en VM | SHA-256 original |
| [RUTA INTERNA OMITIDA] | d0d5c6f19e4853cdf8dc473412c85fde9d866f2dbf164182bf483531a38308c5 |
| [RUTA INTERNA OMITIDA] | aaf36470c62800cb59e78e0e900c6480cf7163852dde807ff4b0f327024b1957 |
| [RUTA INTERNA OMITIDA] | 886bae1d334bc46df183ed325147b726994569e1266a538e0b61fcccba869188 |
| [RUTA INTERNA OMITIDA] | f1da4d81eb58c84bd9f207e3a05a54aa9cc7688c1b4a4be9ae3383b58b1d024b |
| [RUTA INTERNA OMITIDA] | 184b5347f92082514dd1ad4b84dc205ffc128ec2da9af9261cd086b1cb96e50f |
| [RUTA INTERNA OMITIDA] | 184355c7064f75f305e370c3eba054b1477b317fe7bee045e7075b90956c56b3 |
| [RUTA INTERNA OMITIDA] | 73c1a448ec130e00024a59e2096afbcb4f606d1697e8519b0a84c1f2098531bc |
---
Documento fuente: 02_DOCUMENT_INVENTORY.md
Inventario documental y evidencias
Captura 05/11/2026, antes de incorporar este dossier. Solo metadata/hashes; no se exportan originales con credenciales.
Originales registrados
16 registros: 13 iClientes, 2 OpenAPI REST y 1 referencia Zebra. La columna SHA corresponde al original; IN Anula se conserva cifrado.
| ID | Nombre | Bytes | Version | SHA-256 | Ruta | Procedencia |
| 1 | shipit-farm.yaml | 41940 | - | 588cbd868f4ebd0375463ef08239ed6c07e70e2faa6332a2d0843188e47b1dde | [RUTA INTERNA OMITIDA] | GLS Developer Portal / REST OpenAPI |
| 2 | ecitrackandtrace.yaml | 34695 | - | e1ec1337c08694dc7b99fd8602292c5afe56216d375b9b73182efdd4638e6a34 | [RUTA INTERNA OMITIDA] | GLS Developer Portal / REST OpenAPI |
| 5 | GLS-DOC_Shipment_English-OUT.xml | 9987 | - | 2983ec11d5070588bb966aaaf3aa8832884fc470d222ec25e54141e88618ca6b | [RUTA INTERNA OMITIDA] | Documentacion privada GLS Espana, paquete GLS_API.zip facilitado por el usuario |
| 6 | GLS-DOC_Shipment_English-IN.xml | 17562 | - | bd8744e60d4cd01b3acf060be498875fb8875063518d423961aacbbe6762b746 | [RUTA INTERNA OMITIDA] | Documentacion privada GLS Espana, paquete GLS_API.zip facilitado por el usuario |
| 7 | ES-GLS-WS_GetExp_GetExpCli.docx.pdf | 192111 | - | db3e53befc4a19b24823c01063a5f386b5f438f067819d3474c4f0b55c6d55b0 | [RUTA INTERNA OMITIDA] | Documentacion privada GLS Espana, paquete GLS_API.zip facilitado por el usuario |
| 8 | GLS-Shipment_Example0_Basic_OUT.xml | 254 | - | 49c3310146eb9dab836961b34e0d84875eb67cb439a3813c1f8bc8ee39138bfb | [RUTA INTERNA OMITIDA] | Documentacion privada GLS Espana, paquete GLS_API.zip facilitado por el usuario |
| 9 | GLS-Shipment_Example2_ReturnLabelsOnInsert_OUT.xml | 46547 | - | 97d04ea57d2486678bebfd26685d1862e2bee566b6cb7cee7fb8410b1121568b | [RUTA INTERNA OMITIDA] | Documentacion privada GLS Espana, paquete GLS_API.zip facilitado por el usuario |
| 10 | GLS-Shipment_Example2_ReturnLabelsOnInsert_IN.xml | 1916 | - | 2d54f2df4a44880766a1bcde923647d444a84891803cd056af4a98747b2f732b | [RUTA INTERNA OMITIDA] | Documentacion privada GLS Espana, paquete GLS_API.zip facilitado por el usuario |
| 11 | b2b.wsdl | 63502 | - | 3ea7a6edcd64c5756e1ccd5da8883823900406c130f8f150b9d9d97ead17b6cd | [RUTA INTERNA OMITIDA] | Documentacion privada GLS Espana, paquete GLS_API.zip facilitado por el usuario |
| 12 | ES-GLS-iClientes (WS-Envios_InsercionyTracking).docx.pdf | 305823 | 1.12 | 93bf57a5d745aa708209c477b2bb878435cbcb554d25c2bee05e95c1199bfc01 | [RUTA INTERNA OMITIDA] (WS-Envios_InsercionyTracking).docx.pdf | Documentacion privada GLS Espana, paquete GLS_API.zip facilitado por el usuario |
| 13 | ES-GLS-Maestros_V2.xlsx | 123679 | - | ad7bc97d287c546ba5f86475e1176544b068f01859aca1d916089e0dd9d4fee4 | [RUTA INTERNA OMITIDA] | Documentacion privada GLS Espana, paquete GLS_API.zip facilitado por el usuario |
| 14 | GLS_WS_GetExp_GetExpCli_Response_Example.xml | 8184 | - | 491082ad8ea9ce25b132b33577055d40b2d9948ca340e0614d6beff4340f9edc | [RUTA INTERNA OMITIDA] | Documentacion privada GLS Espana, paquete GLS_API.zip facilitado por el usuario |
| 15 | GLS-Shipment_Example0_Basic_IN.xml | 1663 | - | 1ed51ce4f70fc1e67ef70eeafaa1ed47ed3ba6bace6349072852583bfd262097 | [RUTA INTERNA OMITIDA] | Documentacion privada GLS Espana, paquete GLS_API.zip facilitado por el usuario |
| 34 | zebra_setiings.drs | 2734 | - | f3b38040e148d7df4b36902f5019ad6285dc0dbe1126745db0d231f3b00573fa | [RUTA INTERNA OMITIDA] | Juan Antonio; original Windows driver configuration attached in this conversation |
| 41 | GLS-DOC_Cancellation_Shipment_Collect_OUT.xml | 1390 | No declarada | 724d3d39917878b05ea9ee0b1f012429a420afd74c337993bef75e659f6d8729 | [RUTA INTERNA OMITIDA] | GLS Espana, adjuntos originales facilitados por Juan Antonio el 2026-11-04 |
| 42 | GLS-DOC_Cancellation_Shipment_Collect_IN.xml | 862 | No declarada | 13972b75f9009d5b0e0a065037f6b1c17ad4f4f8a021b0336aa44b87acc48de8 | [RUTA INTERNA OMITIDA] | GLS Espana, adjuntos originales facilitados por Juan Antonio el 2026-11-04 |
IN Anula registro42: 862 bytes originales, hash13972b75..., recepcion04/11 segun procedencia y fecha incorporated_at; version no declarada. Ruta .xml.enc, downloadable=false y preview=false verificados; descifrado en memoria preserva bytes/CRLF. OUT registro41: 1390 bytes, hash724d3d..., original XML legible. No se reimportan.
Fichas autenticadas: IN, solo metadata y OUT. No se anade una ruta de descifrado ni descarga del IN desde la interfaz. El hash completo figura en la tabla anterior.
Otras ubicaciones
ZIP [RUTA INTERNA OMITIDA] 510067 bytes, SHA-256 3c3e65841f2bf24b647d47518225bcab04a265e8c1cdf4e1c12d899b2541b9df. Sus 11 miembros utiles coinciden byte a byte con vendor; manifiesto con source/archive_sha256/documents. No GetEnvios/GetManifiesto adicional. samples vacio. production-authorizations contiene 21 artefactos de guardas/resultados; no es un almacen de expediciones operativas.
Articulos previos revisados
54 Markdown sobre fases, WSDL/campos, pilotos, UID, conectores, impresoras, seguridad e infraestructura. Se conservan fechados. Los indices SQL documents/knowledge_articles contienen31: no se actualizan por esta auditoria. El descubridor filesystem de KB mostrara el maestro y nuevos informes.
| Articulo/ruta | SHA-256 previo |
| [RUTA INTERNA OMITIDA] | 69f0751a917889c188ffdba8af25274be4ee8939a081106ba5db7294e8702cdf |
| [RUTA INTERNA OMITIDA] | dbcb531694b0695e5384d8932fb70a8d39d3dd31cd50cce110ba529a3bf222d3 |
| [RUTA INTERNA OMITIDA] | e17868c571f5c981ec220c8ae8f759987d5b6f95d157e60dfa3e3b008797385a |
| [RUTA INTERNA OMITIDA] | aa93a4528845dce04abccbe476335c74ae05c61b3bf1ce502414d892d1def7a1 |
| [RUTA INTERNA OMITIDA] | 04cccfc70151f998d69b79a8d8e203cb021155d9e6823aac0737213760919cc4 |
| [RUTA INTERNA OMITIDA] | 859534c76a97a7fd36b70dedbcd3bda4a6213888ea2d2bb348da6f008ba442ec |
| [RUTA INTERNA OMITIDA] | 7c1c0a6b73841f8345c4478b59ed77ae5ec76a4b3874b4938290856c75559939 |
| [RUTA INTERNA OMITIDA] | 691281306435dbe6a2be78039f0ab64de460ea1581a1041a6eb215b5d149f955 |
| [RUTA INTERNA OMITIDA] | 5d9ed25cfb3f18afe9aa63129a19c7ecc28f478440de591cce49288bd88539a9 |
| [RUTA INTERNA OMITIDA] | 7bd1887f7d66ffadecf3d9940fc9dfcdfb7cec90c592cfff32125387fc2933d8 |
| [RUTA INTERNA OMITIDA] | 891739c28aa227351fe759b481c548802ae6e156edcf86f683abbd22aa4b744c |
| [RUTA INTERNA OMITIDA] | 705d4fb8834b7f430391b821cbc385cf6d9a7f0fac18e56314c7c6ce0785727c |
| [RUTA INTERNA OMITIDA] | 4e35c7eaa7090d665bf022ab8594ba9dff84cc4251bd7ff3b09af1462b19e405 |
| [RUTA INTERNA OMITIDA] | b031bb43f2b8346a806fc019674d2b80507fd46175e0a61602cc105e1a0bfcbb |
| [RUTA INTERNA OMITIDA] | bc700cc89d0bb2f91d2260cb69e21c5e5dc8854b237b7e6acc8133d02aea9ab4 |
| [RUTA INTERNA OMITIDA] | a580f38fb9d98c10f81900ff30afa4cdcda516f25ad8ea2e83cf72d91426eb06 |
| [RUTA INTERNA OMITIDA] | af9674b5e11ca95347a76d19f22dffade743876515cc948c52002e19e6869808 |
| [RUTA INTERNA OMITIDA] | 184355c7064f75f305e370c3eba054b1477b317fe7bee045e7075b90956c56b3 |
| [RUTA INTERNA OMITIDA] | f79a8d145aaef8770f5a47aaba7924fa4bd5f4a47c379d20a128a39c3a81f393 |
| [RUTA INTERNA OMITIDA] | d2af9d013f952db3e44187515e34e3534c48b10ac76997751e0eff1c516a1f41 |
| [RUTA INTERNA OMITIDA] | 73c1a448ec130e00024a59e2096afbcb4f606d1697e8519b0a84c1f2098531bc |
| [RUTA INTERNA OMITIDA] | 37196818506d6a91b5cebb180d56fc2d84208ab8737583cc30a252eb84ac1019 |
| [RUTA INTERNA OMITIDA] | 6ae028ad0212f439a80f57c761732d3c3ec8be50b11eacf6550b85cb09161c49 |
| [RUTA INTERNA OMITIDA] | 026341f99ed8d4de25493a9f14e1f4911231493fcd9ef5a1db7e23dc451aaec6 |
| [RUTA INTERNA OMITIDA] | 6c765139a18eacc7726c32e9f8771079af328e8127c2044ec2729112d377edfe |
| [RUTA INTERNA OMITIDA] | 612c38483e1f980059864bc9c1af01a0aaab82f3d7a45e3cca11e7a439216305 |
| [RUTA INTERNA OMITIDA] | cba1fac094af28de313f6ea2a6a1da148cfa528e884f43eb2329499951567609 |
| [RUTA INTERNA OMITIDA] | ca0c38e39f74bf37b1d60eb68a4206da22c165adbdd3f0efc2f27b2a444766d6 |
| [RUTA INTERNA OMITIDA] | 122a0d6e0ed490ce20dd9fd13ccc338b72f1eed409be63e7636b63dff959d8f5 |
| [RUTA INTERNA OMITIDA] | d4414118da4b0440011649937f461ff0ed098cbdd4e4be44dfe0e44ef3180ca5 |
| [RUTA INTERNA OMITIDA] | 70f6d3f403307c7ac7802179cf1ad0acf39c2a3a9028a0353fe63ba578d1eca2 |
| [RUTA INTERNA OMITIDA] | f0160fc647cc0e73c61b4477a1efa3bdacde1b88eee9f2fb04ab36fc30842de7 |
| [RUTA INTERNA OMITIDA] | 97a768c6d0dbca2dc39175c0000a1ee886b8752e15dc0e76a76f970f0651a168 |
| [RUTA INTERNA OMITIDA] | 9510540b854ce916b0a411a623e44fd8eb923ca0373a035186e8cd791fd8c4a5 |
| [RUTA INTERNA OMITIDA] | 5d05b10b4164f2cb085c8dfeb8804b9dc252d40cb1b895fd095568230aa4b255 |
| [RUTA INTERNA OMITIDA] | adea4047a5654a24e421caea260cb4e677d383ec442bcec254c948b9edb35be1 |
| [RUTA INTERNA OMITIDA] | 5151e4d3159f9c91598d011545788315ad433975866ca5e8ffa7ac8d6e88062b |
| [RUTA INTERNA OMITIDA] | 8d7fb0d4e4748ffa9195385bbf44daffa3a4bcf2116994b8519528c7b4cf67bf |
| [RUTA INTERNA OMITIDA] | 432e2e83e496caabf1dde4962a6c4dd6dceb357bcdab58dbc145bbdd580318af |
| [RUTA INTERNA OMITIDA] | ab17904608d1940b6895b88b9bc0d566642a8ceb0c398eb1b96f1b6acb9b45c4 |
| [RUTA INTERNA OMITIDA] | 408b40b6159c5879099af44141979ff08fb4a4eefe6f99470f0006a53052e437 |
| [RUTA INTERNA OMITIDA] | 134ed4838f7a4337943b5f8e47feeaafef111e6dff5586ff2114f9526a5480d8 |
| [RUTA INTERNA OMITIDA] | 74e90c994a30654df7224b11644c15b129f4ec1fd6570f554d38eec3fb6caf4c |
| [RUTA INTERNA OMITIDA] | 0688526454f480900d7af0720ba2b6e15d560d6c3306911aa411b1b070bd4775 |
| [RUTA INTERNA OMITIDA] | c878a5d16d66556a639a08d28eabb5e5c936692f588c5f10a3602d5bbfeebf9b |
| [RUTA INTERNA OMITIDA] | 9c5dce5cc77c0e8711de2efb40b380dcb061f1cd0cf5320346a38ab2566bb6a5 |
| [RUTA INTERNA OMITIDA] | 63fc32fb9af2e7b2e42130ef47378b5cd2e064d58f9d7e49b046e2fde14d2ce8 |
| [RUTA INTERNA OMITIDA] | 6d7a8477cd9640179608f4f787f3decbc50f3e4a2ec0f985048a264e8def8306 |
| [RUTA INTERNA OMITIDA] | a547c9e8fdc794efa678cb3caf52bdb1d1a6469fe1477d21fbe97bded3c0f11b |
| [RUTA INTERNA OMITIDA] | dfd74f7aaaf6c852980dd4346c1a2137a203542ad6fe95656314d561cededfea |
| [RUTA INTERNA OMITIDA] | 124a12f68f70aba6c71689c504f1e436ae75eea898965cf6c526b76093a5248d |
| [RUTA INTERNA OMITIDA] | c621dec45eae0f0cb2fb2bbadbf70c1a087ec01ea73950c7e52b8eeaead7cdd0 |
| [RUTA INTERNA OMITIDA] | 3a2d23d386101201b7005fa3ee71294155cd2e97f92e7ebefa1887ab5802fae4 |
| [RUTA INTERNA OMITIDA] | ad8da44abecc7c4fdf697ff2f1c3801d2d06aaa51ffc0a8fbe364860d0522a91 |
Solo se actualizan articulos de entrada 000_Introduccion,030_ShipIT,130_Cache y160_Lessons_Learned para apuntar al conocimiento vigente; el resto de informes historicos se mantiene. No se altera ningun original proveedor.
Respuestas originales SOAP verificadas
15 respuestas cifradas descifrables, con hash de body y metadata. Eso no acredita que todas las pruebas antiguas tengan captura completa: cuando falte una parte, explicitarlo sin reconstruirla como original.
| Fichero | Operacion | HTTP | Bytes body | SHA-256 body |
| [RUTA INTERNA OMITIDA] | http://www.asmred.com/GrabaServicios | 200 | 339114 | 78e2b66873e77311c6cfa652e9ee008c9b1f0d9675e278ed1e4868696984076e |
| [RUTA INTERNA OMITIDA] | http://www.asmred.com/GetExpCli | 200 | 432 | 989703fef1c881364eeb5ed26cb3b194d63e456f272e83ac754d86e452030d40 |
| [RUTA INTERNA OMITIDA] | http://www.asmred.com/GrabaServicios | 200 | 243353 | 47da1e4494c1a9f408ef9e2254395211e4b6885811186d60fb066eb581b5aa13 |
| [RUTA INTERNA OMITIDA] | http://www.asmred.com/GetExpCli | 200 | 432 | 989703fef1c881364eeb5ed26cb3b194d63e456f272e83ac754d86e452030d40 |
| [RUTA INTERNA OMITIDA] | http://www.asmred.com/GetExpCli | 200 | 3175 | 1e3b3d458f90f5064e1e427e262a5a2813aa1831dfb11fd1261529236050fd16 |
| [RUTA INTERNA OMITIDA] | http://www.asmred.com/GetExpCli | 200 | 3175 | 1e3b3d458f90f5064e1e427e262a5a2813aa1831dfb11fd1261529236050fd16 |
| [RUTA INTERNA OMITIDA] | http://www.asmred.com/GrabaServicios | 200 | 341014 | 37e12d9368895f19577589d1e9fa809310533832863d5554500a6b111c46f3c5 |
| [RUTA INTERNA OMITIDA] | http://www.asmred.com/GetExpCli | 200 | 3458 | 1a2cfc6c46f655c0fad7497f83f34200fabd98d71e677a5afb86327196cbeb46 |
| [RUTA INTERNA OMITIDA] | http://www.asmred.com/GetExpCli | 200 | 3613 | 9f984e7fa9529d2a78faf587b63b484df07f85ccb0703ef072378fbb3592e26e |
| [RUTA INTERNA OMITIDA] | http://www.asmred.com/EtiquetaEnvioV2 | 200 | 2082 | 50514db8ac95de5745ca915679c65452181afa45680bf212c0de47ab630a2f87 |
| [RUTA INTERNA OMITIDA] | http://www.asmred.com/GetExpCli | 200 | 432 | 989703fef1c881364eeb5ed26cb3b194d63e456f272e83ac754d86e452030d40 |
| [RUTA INTERNA OMITIDA] | http://www.asmred.com/GetExpCli | 200 | 432 | 989703fef1c881364eeb5ed26cb3b194d63e456f272e83ac754d86e452030d40 |
| [RUTA INTERNA OMITIDA] | http://www.asmred.com/Anula | 200 | 453 | 7df1b367d8a01c1682688adf6e5aae22c7daf740483702f69be2f3cfb5063a45 |
| [RUTA INTERNA OMITIDA] | http://www.asmred.com/GetExpCli | 200 | 5356 | 5d168ec54abb1e909a3e03c4b19e91c967c2aa83ed339d1149081dd5522c32ef |
| [RUTA INTERNA OMITIDA] | http://www.asmred.com/EtiquetaEnvioV2 | 200 | 1698734 | 1b5f18a595fd8c56598d75fe9c482799140b64d112cdbe43bb7982aedf3cad10 |
No se vuelcan binarios ni datos personales completos en el inventario. Etiquetas originales y derivados permanecen en sus almacenes privados. Nuevas afirmaciones GLS/Extranet se registran por procedencia en informe15, no se inventan archivos de correo/captura.
Integridad y referencias
El paquete conserva inventarios JSON estructurales en consolidation/2026-11-05/evidence/. No contienen valores de claves/UID/tokens. Los hashes de filas son controles, no dumps de datos. El esquema completo se presenta en anexo16. Fecha de recepcion != version/fecha de emision desconocida.
---
Documento fuente: 03_OPERATIONS_MATRIX.md
Operaciones GLS: contrato, implementacion y evidencia
Fecha 05/11/2026. D=documentado; O=observado por prueba TH; G=confirmado por GLS segun comunicacion de Juan; P=pendiente. Una firma WSDL es D de estructura externa, no de semantica/seguridad completa.
iClientes: las 25 operaciones
Endpoint comun b2b.asmx, namespace asmred, SOAP 1.2 utilizado. Credencial de cliente salvo GetExp, cuyo uid es GUID de expedicion. docIn generico no permite asumir la posicion de UID en operaciones sin ejemplo oficial.
| Operacion | Contrato disponible | Implementacion reusable actual | TEST / PRODUCCION observados |
| GrabaServicios | D manual e IN/OUT | Cliente/laboratorio, confirmacion e identidad por entorno | O / O una alta; general produccion bloqueada |
| GetExpCli | D manual codigo+uid; G POD | Cliente/laboratorio | O / O por barcode y CODEXP |
| GetExp | D GUID expedicion, TipoUTC opcional; G POD | No habilitado en whitelist normal | P / P |
| EtiquetaEnvioV2 | D uidCliente,codigo,tipoEtiqueta,plataforma? | EPL/PDF admitidos por cliente | O EPL/PDF / P recuperacion separada; JPG de alta O |
| Anula | D firma y nuevos IN/OUT; G limites/efectos | Auxiliar aislado, NO funcion reutilizable del panel | P / O return0 y GET inmediato |
| GetEnvios | D docIn/Result XML mixto | No | P / P, candidata de descubrimiento |
| GetManifiesto | D docIn/Result XML mixto | No | P / P, no asumir cierre/listado general |
| Estado | D docIn generico, semantica insuficiente | No | P / P |
| Tracking | D docIn generico | No | P / P |
| TrackingUid | D docIn generico | No | P / P |
| EtiquetaEnvio | D firma, resultado ArrayOfBase64Binary | No | P / P |
| EtiquetaEnvioRecogidas | D firma, resultado XML | No | P / P |
| GrabaSolucion | D uid,codigo,codSolucion,observaciones | No; soluciones cliente concretas sin contrato completo | P / P |
| AsignaEnvio | D cuenta,usuario,password,codplaza,codrepartidor,codigo | No | P / P; potencial escritura |
| AsociaMatricula | D cuenta,usuario,password,codBarras,matricula | No | P / P; potencial escritura |
| EnviaCorreoAgencia | D uid -> int | No | P / P; efecto externo |
| EsPaisEurobusiness | D uid,codpais -> bool | No | P / P |
| GetNemonico | D postalCodeOrigin,countryDest | No | P / P; ruta, no enumeracion |
| GetPlazaXCP | D codPais,cp | No | P / P; consulta territorial |
| GetStandardTransit | D cpOrigen,cpDestino | No | P / P |
| GetTSP | D pais/CP/servicio/horario -> CodTSP | No | P / P; no listado |
| PrevisionEnvios | D cuenta,usuario,password,codTienda,numEnvios,tipo | No | P / P; no garantizar lectura |
| TestGrabaServicios | D f -> XML | No | P / P; Test no garantiza inocuidad |
| ValidaEuroBusiness | D docIn y manual | No | P / P; validacion/escritura por aclarar |
| ValidateUidCliente | D Provider,UidCliente,Agency_Code,Client_Code | No | P / P; ActivatedServiceList no es lista de expediciones |
ShopReturn/ShopToX: G condiciones e IDs particulares, detalle insuficiente en los dos nuevos XML para generalizarlos; fuera de la prueba Envio codigo. No mapear solucion 33 ANULADA a una orden universal de anulacion.
REST disponible, no sustitucion automatica
T&T OAuth v1 independiente: catalogo 336 y dataset oficial O, no cuenta productiva completa demostrada. GET trackids/references admite maximo 10 identificadores segun OpenAPI; no son filtros por cuenta/fecha. References son tipos definidos de tracking, no cualquier referencia ERP/C de SOAP.
ShipIT OAuth v2 sandbox O200, API O401. Contratos v1: tracking/parcels con DateFrom/DateTo, parceldetails, parcelpod, alta, cancel/{trackID}, reprint, updateparcelweight, allowedservices, endofday, validate y recogida. No acceso productivo observado; G no recomendado para esta operativa espanola. Se conserva investigacion sin seguir intentando habilitarlo por nuestra cuenta.
Matriz funcional seleccionada
| Necesidad | Fuente principal propuesta | Estado / condicion |
| Crear | iClientes GrabaServicios | O; conservar doble confirmacion e idempotencia local; no activado en este trabajo. |
| Consultar/seguimiento de conocido | iClientes GetExpCli | O; una consulta rica por envio, persistir todo lo util. |
| Descubrir desconocidos | API domestica a concretar por GLS | P contrato; no fallback ciego a ShipIT/Extranet. |
| Referencias y devoluciones relacionadas | GetExpCli | D; desambiguar por IDs, no fusionar por referencia. |
| Etiqueta | EtiquetaEnvioV2 | TEST O; probar separadamente alcance productivo cuando se autorice. |
| POD | GetExp/GetExpCli | G; formato/acceso real reciente por validar sin descarga hoy. |
| Anular | Anula | O/G; preparar capacidad reusable en fase autorizada, no auxiliar generalizado sin controles. |
| Modificar | Anular y nueva alta, procedimiento G | Dos operaciones independientes, no automatico; riesgo de duplicado/reemplazo. |
| Cierre/manifiesto | Contrato domestico pendiente | Complementario, ultimo modulo; nunca requisito inventado para operar. |
No considerar una respuesta 200 igual a exito de negocio, un borrado igual a entrega ni una declaracion de capacidades una autorizacion de ejecucion.
---
Documento fuente: 04_GETENVIOS_AND_DISCOVERY.md
GetEnvios y busqueda por fechas: investigacion local
Fecha 05/11/2026. No se realizaron llamadas GLS, al portal, ni a URLs publicas. No se descarta GetEnvios por ser XML generico: se buscaron fuentes adicionales en originales, registros, importaciones y Knowledge Base.
Resultado de la investigacion
WSDL offline original: GetEnvios lineas 204-229; GetManifiesto 178-203. Ambos tienen docIn y Result con XML mixto s:any, sin tipo nombrado interno. No hay import/include XSD ni esquema local adicional para esos filtros. Se inspeccionaron los seis tipos complejos nombrados; no contienen rango de fechas, cursor, limite o filtro de estado de estas operaciones.
Los dos PDF completos, siete XML iniciales, dos originales Anula, maestro de ocho hojas y 54 articulos previos no aportan un IN/OUT nuevo de GetEnvios o GetManifiesto. Los nuevos XML solo completan Anula. Los indices SQL documentales tampoco acreditan otra fuente. La carencia esta localizada, no se concluye que GLS no pueda ofrecer la funcion.
GetEnvios: firma y SOAPAction http://www.asmred.com/GetEnvios D; falta contenido de docIn, autenticacion interna, semantica de salida y efectos. No usar DateFrom/DateTo REST, campos del alta ni Codigo vacio como supuesto contrato SOAP. minOccurs=0 no acredita enumeracion al omitir el parametro. La copia WSDL tiene defectos standalone y no se repara ni descarga online.
GetExpCli: codigo conocido + UID; GetExp: GUID conocido. Varias expediciones relacionadas por referencia no equivalen a listar una cuenta. No hay filtro documentado de fechas, estados o paginacion en sus firmas. La recomendacion de consultar no definitivos se refiere a seleccionar conocidos LOCALMENTE.
GetManifiesto: candidata, pero no se acredita listado general, cierre o lectura pura. Estado/Tracking/TrackingUid no aportan contratos internos completos. Ninguna operacion opaca se ejecuta para adivinar su comportamiento.
Extranet frente a API domestica
| Funcion Extranet comunicada | Operacion candidata | Evidencia y estado |
| Buscar entre fechas | GetEnvios | Firma D; filtros/alcance P. No via utilizable demostrada. |
| Filtrar cliente/agencia | GetEnvios/GetManifiesto | UID delimita lookup, no acredita selector de listado; P. |
| Buscar referencia exacta | GetExpCli | D; no busqueda parcial ni todas las referencias. |
| Buscar CP, destino, pais | GetEnvios, por confirmar | No contrato local; un filtro SQL futuro sobre conocidos SI es disenado. |
| Filtrar servicio/horario/departamento | GetEnvios, por confirmar | Son datos de alta/respuesta, no filtros remotos demostrados. |
| Entregadas/no entregadas | GetEnvios, por confirmar | No filtro API acreditado; posible filtro LOCAL del repositorio conocido. |
| Incidencias | GetEnvios, por confirmar | Eventos/estado consultables de conocido; listado de cuenta P. |
| Reembolso/RCS | GetEnvios, por confirmar | Campos de conocido no garantizan filtro global. |
| Recuperar ficha | GetExpCli | O para TH-P-001 y historica Extranet; alcance general por validar. |
| Recuperar POD | GetExp/GetExpCli | G, estructura/acceso y formato reciente P. |
Otra via conocida, no seleccionada
ShipIT POST /rs/tracking/parcels si documenta DateFrom/DateTo, pero su backend sandbox rechazo llamadas, no acredita cuenta Extranet y GLS Iberia no lo recomienda para esta operativa. No es sustituto automatico de la API domestica ni razon para repetir OAuth o pruebas. T&T no enumera por cuenta. La interfaz Extranet no autoriza scraping ni inspeccion de APIs internas para reconstruir un contrato publico.
Solicitud tecnica concreta, no enviada
> Necesitamos listar las expediciones de nuestra cuenta domestica entre > dos fechas, sin conocer CODEXP/GUID/barcode/referencia. Facilitad la > operacion aplicable (especialmente confirmar GetEnvios), XML SOAP 1.2 > IN/OUT o XSD de docIn/Result, ubicacion del identificador de cuenta, > filtros obligatorios/opcionales y valores/formato. Confirmad lectura > sin cierre ni modificacion; cobertura de envios Extranet, anulados, > diferidos, estados incluidos y alcance historico de la cuenta actual > desde agosto 2025. Indicad fecha usada, timezone/extremos, limites, > paginacion/cursor, truncamiento, orden, cuota y retencion de datos/POD.
No pedir de nuevo URL del webservice, UID o documentacion basica de alta ya conocida. Si la cuenta no dispone de listado, solicitar alternativa oficial (exportacion o push acordado), con formato/alcance. Una exportacion autorizada podria sembrar conocidos sin scraping; no existe importador validado ni autorizacion para importarla ahora.
Prueba minima futura: una primera consulta acotada a un dia/cuenta y con contrato completo; una sola pagina/llamada y parada antes de continuar. No hay XML interno exacto listo para enviar hoy sin inventar informacion.
---
Documento fuente: 05_HISTORICAL_PROSPECTION_PLAN.md
Plan de prospeccion historica, pendiente de autorizacion
No se ejecuta ninguna llamada ni descarga en esta fase. Descubrir IDs y recuperar un ID conocido son capacidades independientes. Cuenta actual desde aproximadamente agosto 2025; cuenta anterior no comparte permisos por suposicion. No barridos ni numeros deducidos por secuencia.
Limites de la evidencia actual
- SOAP recupero 2004-[IDENTIFICADOR OMITIDO], fecha 26/10/2026, entregada. No demuestra
limite de retencion ni acceso API a noviembre/agosto 2025.
- Extranet devolvio 61 expediciones entre 04/11/2025 y 04/12/2025, segun
Juan; no equivalencia de API, retencion de todos los POD ni volumen anual.
- Los tres casos nuevos entregados del 04/11 son datos de Extranet aportados;
no resultados API nuevos. TH-P-001 tiene evidencia API y seguimiento Extranet posterior aportado, con discrepancia temporal ya documentada.
Pruebas propuestas y presupuesto maximo
| Paso | Operacion/criterio | Justificacion/evidencia esperada | Maximo HTTP y gate |
| R1 reciente | GetExpCli codigo [IDENTIFICADOR OMITIDO] | Cuenta actual, ficha/eventos/entrega y referencia POD de Laura en una respuesta rica. | 1, primera autorizacion minima; no descargar binario. |
| R2 otros recientes | GetExpCli [IDENTIFICADOR OMITIDO] y [IDENTIFICADOR OMITIDO] | Contrastar dos entregas/servicio/referencias y completitud. | 2, solo con autorizacion explicita, tras evaluar R1. |
| R3 anulada | GetExpCli [IDENTIFICADOR OMITIDO] | Ver si API ya refleja ANULADA/5 y/o cierre posterior comunicado en Extranet. | 1 opcional, no repetir Anula. |
| H1 noviembre 2025 | GetExpCli por UN CODEXP real del resultado Extranet 61 | Comprobar acceso a ID antiguo y datos/eventos/referencias POD. | 1; falta ID concreto antes de ejecutar. No usar 61 numeros ni adivinarlos. |
| H2 agosto 2025 | GetExpCli por UN ID acreditado de cuenta actual | Aproximarse al inicio de cuenta, no inferir limite global. | 1; falta ID y fecha/cuenta confirmados. |
| D1 descubrimiento | Operacion domestica que confirme GLS; un dia con actividad conocida | Probar enumeracion sin identificadores, cuenta y rango exactos. | 1 primera llamada/pagina, solo tras IN/OUT/efectos y autorizacion. |
| D2 intervalo historico | Operacion de D1 para 04/11/2025-04/12/2025 | Comparar cobertura con 61 observados, controlando filtros/fechas/canal. | 1 primera pagina si rango permitido; si requiere ventanas/paginas, nuevo presupuesto antes de seguir. |
| H0 otra cuenta anterior | Ninguna ahora | Identidad/cuenta/UID y permiso independientes, no disponibles como prueba acreditada. | 0; nueva autorizacion e identidad segura antes de planificar 1 lookup. |
Maximo sumado del plan base, si se autorizan TODOS los bloques, con IDs pendientes resueltos y contratos compatibles: 8 llamadas. No es permiso para consumirlas ni un solo job automatico. Recomendacion: autorizar solo R1 inicialmente; cada bloque posterior tiene su propia decision y alcance. No obtener tokens REST ni llamar a ShipIT/T&T para estas pruebas SOAP.
Ejecucion y parada futura
Sin retries, redirects ni llamadas dependientes ocultas; TLS, conexion 5 s y total 20 s aplicados. Identidad de cuenta/entorno, contraejemplos de otra cuenta bloqueados y guarda contra repeticion. Conservar HTTP/resultado de negocio, XML original cifrado, copia sanitizada, duracion y correlacion.
Parar ante error de autenticacion/contrato, timeout, respuesta incompleta, IDs conflictivos, alcance inesperado, truncamiento o presupuesto agotado. No interpretar 200 vacio como registro anulado, historico borrado ni limite de antiguedad. No seguir automaticamente un cursor o enlace de POD.
Un resultado positivo prueba ese ID/rango y momento, no todos los de ese mes ni toda la cuenta. Un negativo necesita distinguir permiso, canal, identificador, retencion y origen antes de atribuirlo a antiguedad.
Matriz de conclusion que se completara despues
Para cada periodo: cuenta, ID real/rango, descubierto o conocido, ficha, referencias, eventos, estado, enlace POD, binario NO solicitado, fecha de consulta y fuente. Guardar desconocido/no retornado por separado de vacio. No fijar una retencion de 365 dias por un TTL configurado en TH.
La carga desde agosto 2025 depende de este resultado y del contrato de listado/exportacion. Su presupuesto se estimara con volumen real y cuotas acordadas, no con suposiciones de 61 expediciones por cada mes.
---
Documento fuente: 15_GLS_COMMUNICATIONS_AND_REFERENCE_CASES.md
Comunicaciones GLS y casos de referencia, 05/11/2026
Fuente: instrucciones de Juan del 05/11/2026, preservadas en el adjunto del encargo. Son conclusiones oficiales GLS Iberia comunicadas por el responsable; no se adjunto correo original con headers ni nuevas capturas Extranet. Separacion expresa entre comunicacion, observacion humana y prueba API local.
CONFIRMADO POR GLS, segun comunicacion recibida
- ShipIT Farm no recomendado para nuestra operativa: limitacion nacional,
BusinessParcel/Shop Delivery, soporte y documentacion limitados.
- API domestica iClientes y documentos ya utilizados adecuados; endpoint
https://ws-customer.gls-spain.es/b2b.asmx.
- POD recuperable mediante GetExp y GetExpCli. No se presupone formato
uniforme, retencion ilimitada ni que el enlace de descarga sea esa operacion.
- Anula permite envios y recogidas; registros permanecen. No admite tracking
operativo ni diferidos. GetExpCli puede devolver anulados.
- Correccion mediante anulacion y otra alta es posible; son dos operaciones
con efectos, no un upsert ni autorizacion para encadenarlas automaticamente.
- Evento documentado: ESTADO / ANULADA / 5. ShopReturn y ShopToX tienen
condiciones/identificadores especificos que no deben inferirse de Envio codigo.
Caso 1: TH-P-001, fuente mixta trazable
Numero 2004-[IDENTIFICADOR OMITIDO]; CODEXP [IDENTIFICADOR OMITIDO]; barcode [IDENTIFICADOR OMITIDO]; GUID [IDENTIFICADOR OMITIDO]; referencia TH-P-001; destinataria [DESTINATARIA PILOTO]. Alta 03/11/2026, BusinessParcel 96/18, 1 bulto, 1 kg, sin paquete fisico segun Juan.
| Momento Europe/Madrid | Hecho | Fuente / alcance |
| 03/11 12:41:02 | GRABADO -10 | Alta y consultas API originales. |
| 04/11 19:30:35.734633 | Anula HTTP200, return0, Expedicion anulada | API20, original cifrado ef9f427206e346c78a6cca9c9d386980.response.enc. |
| 04/11 19:30:36.333121 | GetExpCli inmediato sigue GRABADO -10 y borrado=S | API21, original cifrado 45bcfc055b0b47bbb1f73b7f3e26e8fd.response.enc; solo evento previo. |
| 04/11 19:30:36 | ANULADA | Observacion posterior de Extranet comunicada por Juan el 05/11; precision de segundos, no nueva API TH. |
| 04/11 19:31:06 | CERRADO DEFINITIVO | Misma observacion humana; bultos/peso finales en Extranet 0. |
No corregir retrospectivamente el original API inmediato. La aparicion posterior en Extranet resuelve la falta de reflejo en ese canal, no demuestra una consulta posterior API ni la causa de la diferencia temporal. Conservar 1 bulto/1 kg de creacion y 0/0 finales como observaciones de momentos/fuentes distintos. No afirmar ausencia de cargos: no se revisaron facturas.
CERRADO DEFINITIVO no equivale a ENTREGADO. Proyeccion conceptual: admin anulacion aceptada; resultado anulada comunicado por Extranet; ciclo cerrado; no entrega. El valor borrado=S ya existia antes de Anula: no usarlo como unica prueba de anulacion ni como orden para eliminar el historico TH.
Casos 2-4: conjunto nuevo aportado, no consultado por TH
| Caso | Numero visible / CODEXP | Albaran | Datos comunicados de Extranet |
| [DESTINATARIA CASO A] | 2004-[IDENTIFICADOR OMITIDO] / [IDENTIFICADOR OMITIDO] | 11221 | Courier Express19:00, entrega 04/11/2026 12:17, POD disponible. |
| [DESTINATARIA CASO B] | 2004-[IDENTIFICADOR OMITIDO] / [IDENTIFICADOR OMITIDO] | 11219 | Courier Express19:00, entrega 04/11/2026 17:37. |
| [DESTINATARIO CASO C] | 2004-[IDENTIFICADOR OMITIDO] / [IDENTIFICADOR OMITIDO] | 11217 | Courier Express19:00, entrega 04/11/2026 12:22. |
Los nombres son etiquetas humanas; el identificador operativo es el numero GLS completo. No se inventan GUID, barcode, CP o contactos para estos casos. No se afirma que iClientes haya confirmado aun sus entregas o POD. Los cuatro casos son conjunto inicial de validacion futura, no filas nuevas creadas en shipments. No se ejecutaron consultas ni descargas hoy.
Evidencia historica y enlace publico comunicados
Extranet: busqueda 04/11/2025 a 04/12/2025 devuelve 61 expediciones, con fichas/acontecimientos/POD cuando corresponde. Cuenta actual desde aprox. agosto 2025; antes otra agencia/cuenta. No extrapolar permisos o retencion API.
Ejemplo: [ENLACE PERSONAL OMITIDO] . El patron parece CODEXP/CP, pero no se ha abierto ni existe garantia documental general de que el ultimo segmento siempre sea CP, sin excepciones internacionales/servicio.
Decision y supersesion
El maestro reemplaza como recomendacion actual la expectativa anterior de habilitar ShipIT. Los informes de 03/11-04/11 siguen siendo evidencia historica. Las operaciones oficiales nuevas no se deducen de nombres WSDL; requieren fuente y pruebas separadas. Las comunicaciones originales adicionales que lleguen se incorporaran sin modificar ni duplicar innecesariamente lo existente.
---
Documento fuente: GLS_ACCOUNT_DISCOVERY_INVESTIGATION_2026_11_03.md
Descubrimiento GLS por cuenta y fecha: investigacion documental
Fecha: 2026-11-03. Zona: Europe/Madrid. Resultado: no se ha ejecutado ninguna llamada GLS en esta investigacion. Este informe no modifica codigo, contratos, arquitectura, datos de envios, migraciones, configuracion ni tareas automaticas.
1. Objetivo corregido y conclusion
Juan confirma que 2004-[IDENTIFICADOR OMITIDO], 2004-[IDENTIFICADOR OMITIDO] y 2004-[IDENTIFICADOR OMITIDO] son expediciones antiguas eliminadas desde Extranet. NO son los tres envios nuevos creados el 03/11/2026 y escaneados por el conductor. No se han reutilizado esos identificadores ni se pide conocer los nuevos: el objetivo es descubrirlos por cuenta y fecha, sin CODEXP, GUID, barcode ni referencia.
La autorizacion vigente es UNA consulta de PRODUCCION, solo si existe contrato suficiente, lectura inequivoca, parametros validos y alcance confirmado de cuenta y fecha. No se ha consumido: esas condiciones no quedan acreditadas para ninguna via operativa disponible.
Conclusion diferenciada:
- iClientes SOAP: no tenemos un contrato documentado utilizable para
enumerar por cuenta/fecha. GetEnvios y GetManifiesto existen, pero su XML interno no esta definido en las fuentes disponibles.
- REST Track And Trace: sus rutas requieren un identificador conocido;
no documentan enumeracion de la cuenta por fecha o estado.
- REST ShipIT: SI existe un listado documentado con DateFrom/DateTo,
POST /rs/tracking/parcels. Es un producto y autenticacion diferentes. No se acredita su vinculacion a la cuenta iClientes de PRODUCCION, su cobertura de los envios Extranet ni autorizacion backend operativa. La UID iClientes no es una credencial OAuth ShipIT.
Por tanto no puede afirmarse que GLS carezca de una API de enumeracion. Lo que falta es un contrato iClientes suficiente o una via ShipIT autorizada y vinculada documentalmente a esta cuenta y este objetivo.
2. Fuentes efectivamente revisadas
En [RUTA INTERNA OMITIDA]:
- b2b.wsdl: las 25 operaciones, bloques de entrada/salida, tipos nombrados,
bindings y referencias internas. Lectura literal sin reparar namespaces.
- Los dos PDF oficiales completos, 11 y 6 paginas, incluidos los apartados
de consulta, seguridad, seguimiento, Extranet, manifiesto y push.
- Los siete XML oficiales: dos ejemplos IN/OUT, DOC IN/OUT y respuesta
GetExp/GetExpCli; estructuras y comentarios, no solo nombres de fichero.
- ES-GLS-Maestros_V2.xlsx, con sus ocho hojas de estados, incidencias,
soluciones, recogidas, servicios, paises y formatos/CP.
Ademas:
[RUTA INTERNA OMITIDA].
[RUTA INTERNA OMITIDA].
- Inventario
official_documents, catalogo local iClientes, Knowledge
Base y auditorias previas. No aparece un manual adicional de GetEnvios o GetManifiesto ni un XSD especifico para su docIn.
- Codigo vigente de SOAP, diagnosticos REST, clientes, entornos, auditoria
de consumo y resultados anteriores. No se invoco ningun cliente remoto.
Hashes SHA-256 de las fuentes principales, sin modificaciones:
| b2b.wsdl | 3ea7a6edcd64c5756e1ccd5da8883823900406c130f8f150b9d9d97ead17b6cd |
| ecitrackandtrace.yaml | e1ec1337c08694dc7b99fd8602292c5afe56216d375b9b73182efdd4638e6a34 |
| shipit-farm.yaml | 588cbd868f4ebd0375463ef08239ed6c07e70e2faa6332a2d0843188e47b1dde |
Limitaciones de formato de las copias recibidas:
- WSDL: texto inicial y prefijos no declarados; no es XML standalone valido.
Se inspecciono lo literal, no se reconstruyo ni se obtuvo otro online.
- T&T YAML: una primera linea ajena a OpenAPI impide parsear todo el fichero.
Para el analisis se leyo en memoria el bloque desde openapi: de la linea 2, sin guardar ni alterar la copia preservada.
- El XML de ejemplo de respuesta GetExp contiene un error de parseo en
linea 130, columna 254. Ese ejemplo se inspecciono literalmente sin repararlo; no se uso para inventar entradas de otras operaciones.
3. GetEnvios y GetManifiesto: hallazgo tecnico exacto
En WSDL original, GetEnvios aparece en lineas 204-229 y GetManifiesto en 178-203. Ambos tienen un unico parametro docIn, con la misma forma:
<s:element minOccurs="0" maxOccurs="1" name="docIn">
<s:complexType mixed="true">
<s:sequence>
<s:any/>
</s:sequence>
</s:complexType>
</s:element>
Las respuestas tienen un Result especifico de operacion que contiene tambien XML mixto con s:any. No hay una referencia a un tipo nombrado que describa filtro por cuenta, fecha, estado o paginacion. No aparecen imports/includes de XSD que permitan resolverlo con otra fuente local.
Hechos acreditados:
- Nombre de operacion, wrapper SOAP y parametro docIn.
- Actions literales: http://www.asmred.com/GetEnvios y
http://www.asmred.com/GetManifiesto.
- Endpoint SOAP del contrato y manual general:
https://ws-customer.gls-spain.es/b2b.asmx.
Lo que NO esta acreditado:
- Raiz/namespaces del XML dentro de docIn y posicion/nombre de la UID.
- Filtros admitidos, formatos, campos obligatorios y valores por defecto.
- Fecha de creacion, expedicion, admision o modificacion a la que filtra.
- Alcance de cliente/agencia y inclusion de otros canales como Extranet.
- Limites, paginacion, truncamiento, orden, retencion y timezone.
- Esquema de resultados, IDs retornados y catalogo de errores.
- Lectura pura o generacion de manifiesto/cierre/otro efecto.
mixed=true permite contenido XML mixto; s:any no define sus elementos. minOccurs=0 significa que docIn es opcional sintacticamente en la firma, NO que omitirlo autorice listar toda la cuenta. El nombre Get tampoco acredita ausencia de efectos. No hay peticion segura ejecutable con esto.
Los dos PDF no mencionan GetEnvios ni GetManifiesto por nombre. Los XML y el maestro tampoco aportan un ejemplo de entrada, filtros o paginacion de esas operaciones. Las fichas locales del catalogo los clasifican A-parcial, no implementados/no probados; la Knowledge Base refleja la misma carencia, sin una fuente oficial nueva que la resuelva.
4. Revision de todas las operaciones y tipos WSDL
Firmas de entrada: los parametros son cadenas salvo indicacion. XML* es contenido generico no resuelto, no un contrato de filtros.
| Operacion | Entrada | Resultado para descubrimiento |
| Anula | docIn XML* | Sin contrato de listado; posible escritura, excluida. |
| AsignaEnvio | cuenta, usuario, password, codplaza, codrepartidor, codigo | Estructura de asignacion, no listado documentado. |
| AsociaMatricula | cuenta, usuario, password, codBarras, matricula | Requiere identificador; no listado documentado. |
| EnviaCorreoAgencia | uid | Posible efecto externo; no listado documentado. |
| EsPaisEurobusiness | uid, codpais | Respuesta booleana de pais; no expediciones. |
| Estado | docIn XML* | Entrada/efectos insuficientes; no usar como listado. |
| EtiquetaEnvio | uidCliente, codigo, tipoEtiqueta, plataforma? | Identificador conocido; devuelve Base64, no descubrimiento. |
| EtiquetaEnvioRecogidas | uidCliente, codigo, tipoEtiqueta | Etiqueta, no enumeracion documentada. |
| EtiquetaEnvioV2 | uidCliente, codigo, tipoEtiqueta, plataforma? | Etiqueta de conocido, fuera del objetivo. |
| GetEnvios | docIn XML* | Candidata principal; contrato interno y efectos desconocidos. |
| GetExp | uid, TipoUTC? | GUID de expedicion conocida; no es UIDCLIENTE. |
| GetExpCli | codigo, uid, TipoUTC? | Codigo conocido + UIDCLIENTE; no filtros de fecha/estado. |
| GetManifiesto | docIn XML* | Candidata; no contrato suficiente de listado ni cierre. |
| GetNemonico | postalCodeOrigin, countryDest | Consulta territorial por estructura; no listado de envios. |
| GetPlazaXCP | codPais short, cp | Consulta territorial; no listado de expediciones. |
| GetStandardTransit | cpOrigen, cpDestino | Datos de transito, no descubrimiento de envios. |
| GetTSP | Request:GetTSPRequest | Pais/CP/servicio/horario -> CodTSP; no listado. |
| GrabaServicios | docIn XML* | Insercion; IDs de lo creado, no descubre preexistentes. |
| GrabaSolucion | uid, codigo, codSolucion int, observaciones | Potencial escritura sobre incidencia; no listado. |
| PrevisionEnvios | cuenta, usuario, password, codTienda, numEnvios short, tipo | No se acredita consulta ni lectura pura; excluida. |
| TestGrabaServicios | f | Semantica insuficiente; no se supone inocuo. |
| Tracking | docIn XML* | Contrato interno insuficiente para enumeracion. |
| TrackingUid | docIn XML* | Contrato interno insuficiente; no deducir semantica de UID. |
| ValidaEuroBusiness | docIn XML* | Relacionada con insercion/validacion, no listado documentado. |
| ValidateUidCliente | ValidateUidClienteRequest | Valida identidad/servicios por estructura, no retorna envios. |
Los seis tipos complejos nombrados son ArrayOfBase64Binary, ValidateUidClienteRequest, ValidateUidClienteResponse, ArrayOfString, GetTSPRequest y GetTSPResponse. El simple nombrado es TiposEtiqueta.
Ninguno define un DateFrom/DateTo, rango, cursor, pagina o filtro de expediciones. Agency_Code y Client_Code pertenecen a validacion de UID; CodPaisOrg/CPOrg/CodPaisDst/CPDst/CodServicio/CodHorario son de GetTSP. No se trasladan de una operacion a otra para construir GetEnvios.
GetExp/GetExpCli devuelven estado, referencias y eventos de conocidos. La consulta por referencia puede devolver padre/retornos relacionados; no significa enumeracion de todas las expediciones del cliente. No se documentan comodines, codigo vacio, rango numerico o prefijos.
M1 p.11 y M2 p.3 aconsejan consultar conocidos no definitivos unas 4-5 veces/dia. Esa seleccion es local al sistema del cliente, no un filtro remoto de todas las no entregadas. El maximo de 20 de GrabaServicios es de insercion, no paginacion de GetEnvios/GetExpCli.
5. APIs REST disponibles: distinguir listado de tracking
Track And Trace V1
Rutas del OpenAPI conservado:
- GET /tracking/simple/trackids/{unitnos}.
- GET /tracking/simple/references/{references}.
- GET /tracking/deliveryinfo/parcelid/{unitno}.
- GET /tracking/events/codes.
Las dos primeras requieren identificadores, la tercera un unitno y la ultima enumera codigos de eventos, NO expediciones. No existe en este OpenAPI un selector de cuenta/cliente/agencia/fecha/estado de expedicion.
references admite los tipos concretos descritos: Parcel Number, Track ID, Notification Card ID y Digital Notification Card ID. No equivale a referencia C/0/S de iClientes ni referencia libre de cliente. No asumir CODEXP SOAP = unitno REST ni que un barcode numerico de 14 caracteres sea una Digital Notification Card ID por coincidir solo su longitud.
La agrupacion de hasta 10 identificadores/referencias permite recuperar conocidos eficientemente; no descubre los identificadores desconocidos. showEvents y showLinks cambian contenido, no son filtros de enumeracion.
La copia documenta por defecto 500 solicitudes/dia; es cuota T&T, no SOAP iClientes. Los servidores incluyen produccion, sandbox y QAS, y una nota general recomienda produccion. Nada de ello crea una operacion de listado.
ShipIT-Farm: listado por fechas SI documentado
Contrato: POST /rs/tracking/parcels, operationId findParcels. Request: application/glsVersion1+json, esquema TULReferenceData. Obligatorios: DateFrom y DateTo, cadenas con formato date-time. Opcionales: TrackID, ShipmentReference, ShipmentUnitReference, ParcelNumber, PartnerParcelNumber. Pueden omitirse en la propuesta minima.
Response: TUListResponse.UnitItems[], con TrackID, InitialDate, Status y otros identificadores/referencias. No es la estructura SOAP expediciones. No hay en esa firma un parametro UIDCLIENTE iClientes ni filtro explicito de cuenta/agencia/estado, ni paginacion documentada.
Peticion documental minima candidata, NO enviada ni declarada lista para produccion por faltar las garantias de cuenta/alcance indicadas abajo:
POST https://api.gls-group.net/shipit-farm/v1/backend/rs/tracking/parcels
Authorization: Bearer [REDACTED]
Accept: application/glsVersion1+json
Content-Type: application/glsVersion1+json
{
"DateFrom": "2026-11-03T00:00:00+01:00",
"DateTo": "2026-11-03T23:59:59+01:00"
}
UTC equivalente: inicio 2026-11-02T23:00:00Z; fin 2026-11-03T22:59:59Z. La inclusividad de extremos, precision fraccionaria y semantica de la fecha deben confirmarse antes de garantizar cobertura completa de un dia. InitialDate en salida no define por si sola el filtro.
Por que no se ejecuto:
- La autorizacion y UID de PRODUCCION confirmadas son de iClientes SOAP.
No se ha acreditado vinculacion ShipIT a esa misma cuenta ni cobertura de expediciones creadas desde Extranet GLS Espana.
- El antecedente de backend ShipIT es HTTP 401 en sandbox. No se ha probado
produccion ni se presupone que la autorizacion iClientes lo resuelva.
- La implementacion actual de ShipIT usa configuracion/credenciales del
laboratorio sandbox. No se reutilizaron para un acceso productivo. Esto no afirma que falte una clave: falta acreditar la via autorizada, su alcance y vinculacion, no adivinar una identidad alternativa.
- La copia OpenAPI referencia OAuthPROD en seguridad global pero declara
OAuth y OAuthSandbox como esquemas; no se reparo ni se invento un binding.
- Obtener OAuth seria otra llamada externa. No se oculta como parte de
una supuesta consulta unica ni se consume para comprobar una via no acreditada. No se lanzaron OAuth, DNS/TLS remotos ni llamadas auxiliares.
El resto de rutas ShipIT son Parcel Shops, detalle/POD de conocido, servicios o operaciones de escritura. endofday no se usa para descubrir: cerrar dia esta expresamente prohibido. Parcel Shops enumera puntos, no expediciones de cliente. No se ha probado nada de ello en esta fase.
Matriz de posibilidades
| Criterio | iClientes documentado | T&T REST | ShipIT REST |
| CODEXP/codigo conocido | GetExpCli | Equivalencia no acreditada | Equivalencia no acreditada |
| Barcode conocido | GetExpCli | Requiere equivalencia con identificador REST admitido | No equivalencia automatica con ParcelNumber/TrackID |
| Referencia conocida | GetExpCli, con posibles relacionados | Solo tipos especificos del OpenAPI | ShipmentReference/ShipmentUnitReference |
| GUID de envio | GetExp | No documentado como tal | No documentado como tal |
| Fecha/rango sin ID | No contrato utilizable; GetEnvios pendiente | No ruta documentada | DateFrom/DateTo documentados; acceso/cobertura de nuestra cuenta sin acreditar |
| Cuenta/cliente/agencia sin ID | UID delimita lookup, no acredita listado | OAuth no crea un selector de cuenta | Alcance del backend autenticado por confirmar; no UID iClientes |
| Pendientes/no entregadas/estado | Politica local de conocidos, no listado remoto | Estado en salida, no filtro de cuenta | Status en salida, no filtro de estado en TULReferenceData |
| Recientes/todos los de hoy | No via operativa acreditada | No enumeracion | Candidata por fechas, aun no validada para este canal/cuenta |
6. Payload SOAP: por que no hay uno valido preparado
Se conoce el transporte: POST al endpoint iClientes, SOAP 1.2, namespace http://www.asmred.com/ y action http://www.asmred.com/GetEnvios.
Solo puede representarse esta envoltura INCOMPLETA, NO enviable:
<soap12:Envelope xmlns:soap12="http://www.w3.org/2003/05/soap-envelope">
<soap12:Body>
<GetEnvios xmlns="http://www.asmred.com/">
<docIn>
<!-- Falta el contrato oficial del XML interno. NO ENVIAR. -->
</docIn>
</GetEnvios>
</soap12:Body>
</soap12:Envelope>
No se introduce UID en un campo supuesto ni se trasladan DateFrom/DateTo de REST a SOAP. No se inventan FechaDesde/FechaHasta, Cliente, Agencia o Estado. La envoltura no es un payload valido de consulta ni una propuesta para probar docIn vacio. Falta precisamente la parte que decide alcance, autenticacion, fecha y efectos.
7. Otras vias y significado de la evidencia anterior
M1 v1.12 p.2 relaciona NO Diferido con MiraEnvios y YourGLS/Buscar envios, con condiciones de cierre. No define el protocolo de enumeracion ni un traspaso automatico entre todos los estados/canales. No se usara el cierre como experimento ni se accedera mediante scraping/automatizacion.
M1 p.10 describe un proyecto acordado donde GLS llama al webservice del cliente, para clientes con mas de 500 envios/dia, transmitiendo eventos e identificadores. Es una modalidad push potencialmente util, no contratada aqui ni un endpoint pull ya habilitado. No garantiza historico completo.
Las pruebas anteriores demuestran consulta de una historica entregada de Extranet y de TH-P-001 creada por API. No demuestran descubrimiento sin ID. Los tres vacios de los antiguos [IDENTIFICADOR OMITIDO]/[IDENTIFICADOR OMITIDO]/[IDENTIFICADOR OMITIDO] siguen siendo respuestas reales, pero Juan aclara ahora su eliminacion. No permiten atribuir el vacio exclusivamente a "Pendiente Grabar", ni evaluar los tres nuevos. Tampoco consta por API cuando se eliminaron respecto a la consulta.
El escaneo del conductor se conoce por comunicacion de Juan, no por un evento recibido en esta investigacion. No se ha localizado ni descartado ninguna de las tres expediciones nuevas mediante API.
8. Peticion minima y concreta a GLS
Texto propuesto para soporte; no enviado:
> Necesitamos descubrir por API todas las expediciones de nuestra cuenta > iClientes de PRODUCCION creadas desde Extranet en una fecha o rango, > sin conocer previamente CODEXP, GUID, barcode, albaran ni referencia. > El objetivo inicial es 03/11/2026, Europe/Madrid, sin crear, modificar, > cerrar ni manifestar expediciones. > > El WSDL offline declara GetEnvios(docIn) y GetManifiesto(docIn), pero > docIn y Result son XML mixto s:any. Rogamos confirmar cual es la operacion > de lectura aplicable a nuestra cuenta y aportar un ejemplo completo > SOAP 1.2 IN/OUT o XSD del XML interno, posicion del UIDCLIENTE y filtros > exactos de cuenta/fecha/estado, campos obligatorios y formatos. > > Confirmad que no tiene efectos de cierre, grabacion o manifiesto; que > incluye expediciones de Extranet y desde que momento; semantica y zona > horaria de la fecha, limites, paginacion/truncamiento y cuota. La salida > debe permitir obtener CODEXP y los identificadores relacionados. > > Si iClientes no ofrece este listado, indicad la alternativa oficial: > autorizacion/vinculacion ShipIT para POST /rs/tracking/parcels y su > cobertura de Extranet de esta cuenta, o exportacion/push oficial.
No es necesario solicitar numeros de los tres envios para resolver este contrato. La solicitud no debe incluir UID, tokens ni otras credenciales. El ejemplo debe usar marcadores y GLS puede validar internamente el ambito.
9. Respuestas a las diez preguntas
1. Operacion documentada para enumerar? En iClientes no hay contrato suficiente disponible. GetEnvios/GetManifiesto son candidatas. En ShipIT si hay listado documentado por fechas, no demostrado operativo para nuestra cuenta/canal Extranet. 2. Filtra por fecha? GetExp/GetExpCli no. GetEnvios es desconocido por falta de docIn. ShipIT admite DateFrom/DateTo. 3. Filtra por cuenta/cliente? No existe un filtro de enumeracion iClientes documentado. UIDCLIENTE delimita consultas por codigo, no lista sola los envios. Ambito ShipIT OAuth pendiente de acreditacion. 4. Podemos descubrir los tres sin numeros? No con una via actualmente acreditada y utilizable. No se demuestra imposibilidad general de GLS. 5. Operacion a usar? Solicitar primero el contrato de GetEnvios; valorar GetManifiesto solo si GLS confirma lectura pura. Alternativa: findParcels de ShipIT tras confirmar autorizacion y cobertura. 6. Parametros exactos? En GetEnvios solo se conoce docIn, no su contenido. Para ShipIT los dos campos obligatorios son DateFrom/DateTo mas autenticacion OAuth independiente; no UID iClientes en el JSON. 7. Se ejecuto una consulta valida? NO. No se cumplian las condiciones de autorizacion condicional; no se envio ninguna consulta especulativa. 8. Expediciones devueltas? No aplica: no hubo llamada. No equivale a HTTP 200 con lista vacia ni a tres expediciones buscadas y no encontradas. 9. Limitacion concreta? Falta contrato interno y garantias de lectura, cuenta/fecha de GetEnvios/GetManifiesto. Tracking conocido no enumera; ShipIT tiene otra autenticacion y alcance no acreditado para esta cuenta. 10. Documentacion minima? Operacion oficial de listado, IN/OUT/XSD, ubicacion del UID, filtros obligatorios, semantica de fechas/ambito, lectura sin efectos, cobertura Extranet, IDs de salida, limites y paginacion. O vinculacion y contrato de cobertura de alternativa REST.
Fuente principal futura: GetExpCli es candidata para ACTUALIZAR conocidos, no para descubrirlos. La fuente de descubrimiento no puede seleccionarse como resuelta hasta recibir el contrato o habilitacion correspondiente. No se implementa cache ni sincronizacion en esta fase.
10. Codigo, contadores y limites
La inspeccion detecta que el diagnostico REST existente obtiene OAuth internamente antes de tracking, registra el tracking con etiqueta sandbox y no contabiliza esa obtencion auxiliar en ese mismo metodo. Su transporte general usa urllib, que puede seguir redirecciones. No se lanzo ese flujo para esta autorizacion de una unica consulta, ni se modifico su codigo. Antes de una futura prueba limitada hay que contar todos los HTTP reales y preservar evidencia, sin ocultar OAuth/redirecciones como una consulta.
No se descargaron especificaciones, accedio a GLS, hizo OAuth, repitieron CODEXP antiguos, crearon/modificaron/anularon/cerraron envios, solicitaron etiquetas, imprimieron trabajos, cambiaron secretos, aplicaron migraciones ni crearon jobs. No se utilizo ninguna UID TEST para operar en PRODUCCION.
| TEST/laboratorio historico | 11 | 11 |
| Nuevos HTTP SOAP GLS de esta investigacion | 0 | 0 |
| Nuevos HTTP REST/OAuth GLS de esta investigacion | 0 | 0 |
El historico T&T registrado es 3 HTTP: OAuth, catalogo y dataset, todos con etiqueta sandbox historica. No se reclasifica. Las 5 filas REST historicas totales incluyen ademas OAuth ShipIT y Parcel Shops. api_requests global permanece en 18; separar estos datos del contador SOAP productivo.
No se generan nuevas evidencias remotas porque no hubo llamadas. Se conservan intactas las evidencias anteriores y este informe de analisis. Trabajo detenido; la autorizacion condicional de consulta no se consume para suplir la documentacion ausente con pruebas a ciegas.
---
Documento fuente: GLS_DISCOVERY_CACHE_DESIGN_2026_11_03.md
GLS: descubrimiento, Pendiente Grabar y diseno de cache local
Fecha: 2026-11-03. Zona operativa: Europe/Madrid. Alcance: tres consultas expresamente autorizadas en PRODUCCION y, despues, analisis exclusivamente local. Este documento es una propuesta, no una implementacion de cache, sincronizacion ni interfaz.
1. Resumen ejecutivo
- Se enviaron exactamente tres GetExpCli, uno por cada CODEXP autorizado.
Los tres respondieron HTTP 200, SOAP valido y lista de expediciones vacia.
- No se observo diferencia entre los dos casos de Extranet situados en
"Envios pendientes despues de Cierre" y el situado en "Envios en Cierre".
- La prueba demuestra ausencia de resultados para esos identificadores,
esa UID de PRODUCCION y ese instante. No explica por si sola la causa ni el significado tecnico general de "Pendiente Grabar".
- GetExpCli documenta consulta por identificador conocido, no un listado
por fechas o estado. GetEnvios y GetManifiesto existen en el WSDL, pero falta su contrato interno y no son ejecutables de forma fundada con las fuentes disponibles. Tampoco se presume que sean de solo lectura.
- La cache puede almacenar todo el historico conocido, sin tope de 100.
No resuelve por si sola el descubrimiento de expediciones desconocidas.
- Contadores finales: PRODUCCION 7; TEST/laboratorio historico 11.
2. Parte A: resultados de las tres consultas
Endpoint: https://ws-customer.gls-spain.es/b2b.asmx
Metodo POST, SOAP 1.2, action http://www.asmred.com/GetExpCli. UID de PRODUCCION recuperada internamente; no se usaron credenciales TEST en las peticiones. TLS verificado; conexion 5 s, total 20 s; sin reintentos, redirecciones ni operaciones auxiliares. El criterio fue exclusivamente CODEXP, sin prefijo de agencia, barcode, albaran ni referencia.
| Caso | Extranet / CODEXP consultado | Albaran observado en Extranet | Situacion informada por Juan | HTTP | SOAP Fault | Expediciones | Duracion |
| 1 | 2004-[IDENTIFICADOR OMITIDO] / [IDENTIFICADOR OMITIDO] | 11209 | Pendientes despues de Cierre; Pendiente Grabar | 200 | NO | 0 | 135 ms |
| 2 | 2004-[IDENTIFICADOR OMITIDO] / [IDENTIFICADOR OMITIDO] | 11211 | Pendientes despues de Cierre; Pendiente Grabar | 200 | NO | 0 | 141 ms |
| 3 | 2004-[IDENTIFICADOR OMITIDO] / [IDENTIFICADOR OMITIDO] | 11215 | En Cierre; Pendiente Grabar | 200 | NO | 0 | 111 ms |
Timestamps de inicio Europe/Madrid:
- Caso 1: 2026-11-03T16:36:24.853709+01:00; api_requests.id = 16.
- Caso 2: 2026-11-03T16:36:25.046194+01:00; api_requests.id = 17.
- Caso 3: 2026-11-03T16:36:25.246471+01:00; api_requests.id = 18.
Las tres respuestas fueron completas, de 432 bytes, con la estructura SOAP GetExpCliResponse/GetExpCliResult y una lista expediciones sin exp. No hubo errores de lectura ni errores GLS extraidos. No existe aqui un Resultado@return numerico: no debe confundirse lista vacia con resultado 0 de GrabaServicios ni HTTP 200 con expedicion encontrada.
Por no existir registros, GLS NO devolvio estado/codigo de estado, CODEXP, barcode, GUID, albaran, referencias, servicio/horario, bultos/peso, fecha de expedicion ni eventos. Los identificadores y fechas de la tabla son datos del caso de prueba aportados por Juan, no campos confirmados por GLS.
Peticion sanitizada representativa; solo cambia codigo entre casos:
<soap12:Envelope xmlns="http://www.asmred.com/"
xmlns:soap12="http://www.w3.org/2003/05/soap-envelope">
<soap12:Body>
<GetExpCli>
<codigo>[IDENTIFICADOR OMITIDO]</codigo>
<uid>[REDACTED]</uid>
</GetExpCli>
</soap12:Body>
</soap12:Envelope>
Cabecera: Content-Type: application/soap+xml; charset=utf-8; action="http://www.asmred.com/GetExpCli".
Evidencia preservada
Directorio privado: [RUTA INTERNA OMITIDA]. Cada original de respuesta se conserva cifrado; cada JSON es evidencia sanitizada independiente. Ambos con permisos 400.
| Caso | Original cifrado | Evidencia sanitizada |
| 1 | 3c153a7fdc2b4994ae777475fd3befc2.response.enc | 3c153a7fdc2b4994ae777475fd3befc2.json |
| 2 | 9d0cb85e48df4fd38924b9433720707c.response.enc | 9d0cb85e48df4fd38924b9433720707c.json |
| 3 | bb9cba0132804c9dadc9e726aee1fd37.response.enc | bb9cba0132804c9dadc9e726aee1fd37.json |
SHA-256 del body recibido, identico en los tres casos: 989703fef1c881364eeb5ed26cb3b194d63e456f272e83ac754d86e452030d40.
Resumen privado del lote, parametros, contadores e integridad: [RUTA INTERNA OMITIDA]. Las guardas persistentes del lote y de cada caso impiden repetir esta autorizacion al volver a ejecutar accidentalmente el auxiliar de auditoria.
Comparacion e interpretacion acotada
Resultado observado: 0/2 recuperables despues de Cierre y 0/1 en Cierre. No hay diferencia observable en esta muestra. Tampoco se ha observado una transicion del mismo envio entre ambos grupos, ni se ha efectuado cierre.
El caso 3 ya habia dado vacio por barcode; la consulta actual por CODEXP es una prueba diferente y se registra separadamente. No se considera que una sustituya a la otra.
La expedicion historica 2004-[IDENTIFICADOR OMITIDO] si fue recuperada anteriormente por CODEXP: HTTP 200, un envio, ENTREGADO (7). TH-P-001, creada por TRANSPORT HUB, tambien se recupero. Por tanto, no corresponde concluir que iClientes no consulta Extranet en general ni que la UID sea invalida.
No demostrado: que todo "Pendiente Grabar" sea invisible, que un cierre lo publique necesariamente, que la causa sea el grupo de Extranet, ni que Extranet e iClientes sean sistemas independientes. El vacio tambien deja sin resolver alcance de cuenta, correspondencia de identificadores y momento de publicacion de estos casos. Debe preguntarse a GLS, no inferirse de tres respuestas ni resolverse con nuevas llamadas no autorizadas.
3. Parte B: fuentes oficiales y metodo de auditoria
Se contrastaron los 11 originales de [RUTA INTERNA OMITIDA], el ZIP original preservado, los dos manuales, XML IN/OUT y ejemplos, las ocho hojas del maestro, las 25 operaciones literales de b2b.wsdl, el cliente vigente y evidencia local. No se consulto la version online del WSDL ni se reparo la copia recibida.
Referencias utilizadas:
- M1:
ES-GLS-iClientes (WS-Envios_InsercionyTracking).docx.pdf, v1.12,
paginas 2, 3, 10 y 11 especialmente.
- M2:
ES-GLS-WS_GetExp_GetExpCli.docx.pdf, paginas 1 a 6.
- R:
GLS_WS_GetExp_GetExpCli_Response_Example.xml.
- IN/OUT:
GLS-DOC_Shipment_English-IN.xml y -OUT.xml.
- B-IN/OUT y E2-IN/OUT: ejemplos Basic y ReturnLabelsOnInsert.
- X:
ES-GLS-Maestros_V2.xlsx.
- W:
b2b.wsdl, 63.502 bytes, 1.974 lineas; SHA-256
3ea7a6edcd64c5756e1ccd5da8883823900406c130f8f150b9d9d97ead17b6cd.
La copia W contiene texto inicial y prefijos sin declarar; no es XML standalone valido. Se leyeron literalmente bloques y firmas, sin inventar namespaces. Una firma XML mixta con s:any NO define sus campos internos. minOccurs=0 en la firma no acredita que un codigo vacio enumere la cuenta.
Clasificacion: DOCUMENTADA = capacidad expresamente descrita; POSIBLE PERO DOCUMENTACION INSUFICIENTE = candidata que requiere contrato; NO SOPORTADA = no cabe en la firma/uso documentado concreto, no negacion de capacidades globales de GLS; DESCONOCIDA = no hay evidencia suficiente.
Auditoria de las 25 operaciones
XML* indica XML mixto/arbitrario, no un esquema conocido de filtros. La funcion deducida por nombre no se trata como capacidad documentada.
| Operacion | Entrada -> salida literal resumida | Resultado para descubrimiento |
| Anula | docIn XML* -> XML* | No hay mecanismo de listado documentado; posible escritura, no candidata segura. |
| AsignaEnvio | cuenta, usuario, password, codplaza, codrepartidor, codigo -> string | Sugiere asignacion; no enumera expediciones documentalmente. |
| AsociaMatricula | cuenta, usuario, password, codBarras, matricula -> XML* | Sugiere asociacion; requiere codigo conocido, sin listado documentado. |
| EnviaCorreoAgencia | uid -> int | Sugiere envio de correo; no listado, no ejecutar. |
| EsPaisEurobusiness | uid, codpais -> boolean | Consulta de pais por estructura; no devuelve expediciones. |
| Estado | docIn XML* -> XML* | POSIBLE PERO DOCUMENTACION INSUFICIENTE para cualquier uso como consulta de estado/listado; efectos no acreditados. |
| EtiquetaEnvio | uidCliente, codigo, tipoEtiqueta, plataforma? -> ArrayOfBase64Binary | Requiere envio conocido; recuperacion de etiqueta, no descubrimiento. |
| EtiquetaEnvioRecogidas | uidCliente, codigo, tipoEtiqueta -> XML* | Sin contrato de enumeracion; no confundir recogida con envio. |
| EtiquetaEnvioV2 | uidCliente, codigo, tipoEtiqueta, plataforma? -> XML* | DOCUMENTADA para etiqueta de envio conocido; no listado. |
| GetEnvios | docIn XML* -> XML* | POSIBLE PERO DOCUMENTACION INSUFICIENTE: no filtros, autenticacion interna, paginacion ni efectos definidos. W:204-229. |
| GetExp | uid, TipoUTC? -> XML* | DOCUMENTADA: GUID de expedicion conocida, no UIDCLIENTE ni listado por fecha. W:454-474. |
| GetExpCli | codigo, uid, TipoUTC? -> XML* | DOCUMENTADA: referencia unica, codigo GLS o barcode + UIDCLIENTE; no listado sin identificador. W:475-496. |
| GetManifiesto | docIn XML* -> XML* | POSIBLE PERO DOCUMENTACION INSUFICIENTE: nombre sugerente, no contrato de manifiesto, listado ni cierre. W:178-203. |
| GetNemonico | postalCodeOrigin, countryDest -> XML* | Datos de ruta por estructura, no lista de expediciones documentada. |
| GetPlazaXCP | codPais short, cp -> XML* | Consulta territorial por estructura; no lista de expediciones. |
| GetStandardTransit | cpOrigen, cpDestino -> XML* | Transito por estructura; sin descubrimiento de expediciones. |
| GetTSP | Request:GetTSPRequest -> GetTSPResponse/CodTSP | Campos de ruta/pais/CP/servicio/horario; no filtros de un listado de envios. |
| GrabaServicios | docIn XML* -> XML* | DOCUMENTADA insercion; obtiene IDs de lo creado, no descubre envios preexistentes. |
| GrabaSolucion | uid, codigo, codSolucion int, observaciones -> string | Potencial operacion sobre incidencia; sin listado documentado, no ejecutar. |
| PrevisionEnvios | cuenta, usuario, password, codTienda, numEnvios short, tipo -> XML* | Nombre/estructura no prueban consulta; posible efecto operativo, sin listado acreditado. |
| TestGrabaServicios | f -> XML* | Semantica no documentada suficientemente; "Test" no garantiza inocuidad. |
| Tracking | docIn XML* -> XML* | POSIBLE PERO DOCUMENTACION INSUFICIENTE para descubrir por fechas/cuenta. |
| TrackingUid | docIn XML* -> XML* | POSIBLE PERO DOCUMENTACION INSUFICIENTE; nombre no acredita UID de cliente ni enumeracion. |
| ValidaEuroBusiness | docIn XML* -> XML* | Relacionada con insercion/validacion segun M1; no listado documentado. |
| ValidateUidCliente | Provider, UidCliente, Agency_Code, Client_Code -> Code, Description, ActivatedServiceList | Validacion/servicios por estructura; no devuelve identificadores de expediciones. No se ejecuto. |
Los bindings SOAP 1.1/1.2 repiten esas 25 operaciones, no son operaciones adicionales. Ninguna candidata opaca se probo durante este estudio.
Posibilidades por criterio de consulta
| Criterio | Clasificacion y alcance |
| Fecha o rango de fechas | NO SOPORTADA por las firmas documentadas GetExp/GetExpCli. DESCONOCIDA para el conjunto iClientes; GetEnvios/GetManifiesto requieren documentacion. |
| Solo UIDCLIENTE | Identifica/autentica el cliente, pero no documenta por si solo enumeracion. Codigo conocido requerido en el uso descrito de GetExpCli. |
| Cliente/agencia | Ambito contractual de seguridad documentado; filtro de listado por cliente/agencia DESCONOCIDO. No usar usuario Extranet como parametro inventado. |
| Estado, pendientes, no entregadas, entregadas | NO SOPORTADA como filtro remoto en GetExp/GetExpCli. Seleccion LOCAL de conocidos no terminales DOCUMENTADA como politica de uso en M1/M2. |
| Recientes | Sin selector remoto acreditado; DESCONOCIDA una via de listado completa. |
| Referencia exacta conocida | DOCUMENTADA en GetExpCli; puede devolver varios envios relacionados, no todas las referencias de una cuenta. |
| Albaran | No figura como categoria independiente con equivalencia universal acreditada; confirmar con GLS su relacion con codigo/referencia. No inferir por coincidencias historicas. |
| Servicio | Dato de respuesta/creacion, no filtro de listado GetExpCli documentado. |
| Prefijos, comodines, codigo vacio, listas de IDs, rangos numericos | NO SOPORTADA por el uso documentado de GetExpCli; no se han ensayado ni deben inventarse. |
Respuestas expresas a las ocho preguntas
1. Todas mis expediciones entre A y B: no hay contrato acreditado en los documentos disponibles. GetEnvios es candidata, no solucion validada. 2. Todas mis no entregadas: no hay consulta global documentada. M1 p.11 y M2 p.3 aconsejan refrescar envios conocidos no definitivos; no describen un filtro remoto que los descubra. 3. Enumerar recientes: no se acredita una operacion utilizable con seguridad con el material actual. No significa que GLS no la ofrezca. 4. Paginacion/limite: no se documentan cursor, pagina, offset, tamano de pagina, truncamiento ni maximo de resultados de GetExpCli/listados. Varios exp por referencia son envios relacionados, no paginacion. Maximo 20 de GrabaServicios es de insercion, no limite de consulta. 5. Manifiesto/cierre como descubrimiento: GetManifiesto existe, pero docIn/salida, permisos y efectos no estan documentados suficientemente. M1 p.2 menciona una limitacion de listado de manifiesto en NO Diferido; no permite concluir que esta operacion funcione para nuestra cuenta ni que cierre o publique expediciones. No ejecutar para averiguarlo. 6. GetExpCli amplio sin identificador: no documentado. La posibilidad de varios envios por referencia no transforma el metodo en un listado de cuenta. No usar secuenciales, comodines o codigo vacio. 7. Identificador minimo: GetExpCli requiere UIDCLIENTE segura + uno de codigo GLS/CODEXP, barcode o referencia unica conocida. GetExp requiere el GUID de la expedicion, no la UID de cliente. M2 p.6 prefiere conservar GUID/barcode del original para distinguirlo de retornos por referencia. 8. Obtener CODEXP recientes: la respuesta de GrabaServicios aporta IDs de lo que crea TRANSPORT HUB; no descubre otros canales. M1 p.10 describe envio de eventos/identificadores desde GLS a un webservice del cliente, para proyectos acordados y clientes con mas de 500 envios/dia: no esta contratado/configurado aqui ni garantiza carga historica completa. No tenemos actualmente un listado pull documentado de todos los recientes.
M1 p.2 relaciona Webservice NO Diferido con MiraEnvios y YourGLS/Buscar envios, con una condicion de cierre. Ese texto no garantiza simetricamente que cada borrador/pendiente de Extranet sea consultable por iClientes. La recuperacion historica es evidencia puntual positiva, no un contrato general sobre todos los grupos, estados o canales.
Estrategia recomendada para adquirir conocidos y descubrir nuevos
Separar lookup (recuperar conocido), discovery (encontrar IDs nuevos) y refresh (actualizar cache). Solo el primero esta acreditado hoy.
- Capturar IDs de cada alta propia autorizada y conservar sus respuestas.
- Reutilizar las respuestas utiles YA cifradas mediante una futura ingesta
local auditada; no volver a llamar a GLS para importar la misma evidencia.
- Admitir semillas aportadas manualmente con fuente/fecha/verificacion.
Un futuro importador de exportacion oficial, si existe y se autoriza, seria otra via; no hay formato/importador validado en esta fase.
- Solicitar primero contratos completos de GetEnvios y GetManifiesto y
alcance de la UID. Solo entonces decidir descubrimiento incremental.
- Valorar push acordado con GLS si aplica; no desarrollar ahora endpoint
receptor, prometer cobertura ni asumir el requisito de volumen satisfecho.
- No scraping, automatizacion de Extranet, fuerza bruta de CODEXP/albaranes,
enumeracion secuencial, ni nuevas pruebas para adivinar filtros.
4. Parte C: arquitectura propuesta, NO implementada
Separacion de responsabilidades
1. Conector por carrier/familia API/entorno/cuenta: capacidades declaradas de lookup, discovery, refresh y escrituras separadas. No un cliente GLS que acople UI, SOAP, cuotas y entidades de negocio. 2. Captura y auditoria: una fila api_requests por peticion HTTP real, evidencia original cifrada y derivacion sanitizada, correlacion y actor. 3. Ingestor idempotente local: validacion de identidad/ambito, normalizacion versionada y transaccion de cache, sin nuevas llamadas remotas. 4. Repositorio PostgreSQL y consultas de UI exclusivamente locales. 5. Planificador futuro separado, desactivado hasta autorizacion y contrato de limites; nunca ejecutado por abrir una pagina o hacer una busqueda.
Ya existen prototipos carriers, shipments, parcels, tracking_events, synchronizations y cache_resources. Actualmente las cuatro tablas de expediciones/paquetes/eventos/sincronizaciones estan vacias. Se propone evolucionarlas, no crear en paralelo otro nucleo incompatible de GLS. Los ensayos y etiquetas del laboratorio siguen siendo registros distintos.
Entidades logicas y campos
SHIPMENTS (evolucion de shipments):
id, carrier_id, carrier_account_id, environment,
carrier_shipment_id como cadenas tipadas por conector, no enteros.
- Identificadores CODEXP, GUID, barcode, numero visible de expedicion y
albaran disponibles mediante coleccion tipada y proyeccion de consulta. No exigir GUID a otros carriers ni confundirlo con UIDCLIENTE secreta.
origin: transport_hub / gls_extranet / imported / unknown;
origin_confidence, origin_source, actor, evidencia y fecha de atribucion.
- Fecha de expedicion; destinatario minimo operativo, CP, poblacion, pais;
servicio y horario con codigo/literal originales; bultos y peso decimal.
- Reembolso: importe decimal, moneda y presencia conocida/desconocida;
retorno con valor original y significado conocido/desconocido. Campo ausente no se convierte automaticamente en cero, falso o sin retorno.
- Estado actual: API/catalogo, codigo/literal originales, estado interno,
is_terminal, motivo, fecha efectiva y version de mapeo aplicada.
created_at local, first_seen_at, last_seen_at,
last_gls_sync_at de ultimo refresco remoto valido, last_sync_attempt_at, next_sync_at, sync_status, error sanitizado, hash de ultimo contenido y version de normalizador.
Una tabla logica SHIPMENT_IDENTIFIERS preservaria cada tipo/valor, namespace API y origen. Unicidad condicionada por carrier, cuenta, entorno y tipo de identificador fuerte. Conservar ceros iniciales y valor original. CODEXP/numero sin agencia no se declaran globalmente unicos por conjetura. Referencias/albaranes no se usan solos como clave universal de fusion. Conflictos entre GUID/CODEXP/barcode se ponen en revision, no se sobrescriben.
PARCELS reutiliza la entidad existente para identificadores de bulto y estado por unidad cuando GLS los distinga. Un envio con varios bultos no se multiplica artificialmente por cada referencia o evento de expedicion.
SHIPMENT_EVENTS (evolucion de tracking_events):
shipment_id; parcel_id solo si el evento se refiere realmente a uno;
carrier, cuenta, entorno, familia API y namespace de catalogo.
- Codigo original, tipo (estado/incidencia/administrativo/otro), descripcion
sanitizada, timestamp GLS original, timezone conocida o incertidumbre, timestamp normalizado cuando se pueda justificar, ubicacion si existe.
first_seen_at, ID externo si existe, huella semantica de deduplicacion,
evidencia/observacion de origen, version de parser/mapeo.
- Unicidad por ID externo en su ambito o huella de envio+tipo+codigo+fecha+
ubicacion/contenido estable; no por codigo solamente. Repeticiones de una incidencia en momentos distintos deben conservarse.
SHIPMENT_REFERENCES:
shipment_id, tipo C/0/S/otros, valor original, campo/namespace de origen,
fuente, fechas first/last_seen, relacion con observacion.
- No unicidad global de valor. Referencias heredadas por devoluciones
pueden apuntar a varias expediciones, con relacion padre/hija separada.
- No convertir automaticamente
albaran, refS o refC en tipo 0: conservar
la semantica que devuelve cada API y confirmar equivalencias.
OBSERVACIONES Y CAMBIOS:
- Observaciones append-only con respuesta normalizada versionada, hash,
peticion auditada, referencia de evidencia cifrada, procedencia y tiempos.
- Historial de cambios de estado con valor anterior/nuevo, fecha efectiva,
fecha de deteccion, fuente y reglas aplicadas. Nunca reconstruirlo solo desde el ultimo estado ni borrar eventos al refrescar.
- Separar candidatos/observaciones externas no confirmados: los tres
"Pendiente Grabar" no son envios confirmados por API. Guardar en una futura cola de candidatos el dato Extranet y su evidencia negativa, no inventar un estado GLS ni una expedicion recuperada.
- Una lista vacia es una observacion de lookup, no prueba de borrado,
anulacion, desaparicion definitiva ni cambio a PENDING. Si antes habia resultado positivo, conservarlo con advertencia de ultima consulta vacia.
Ingesta de cada respuesta util
Flujo futuro: captura remota unica -> evidencia cifrada duradera y registro API -> validacion completa -> transaccion local de todos los exp recibidos, identificadores, referencias, eventos, snapshot y cambios de estado. Actualizar last_gls_sync_at solo tras lectura valida y commit; una vista de cache no renueva esa fecha. Separar recepcion, procesado y frescura.
Si falla PostgreSQL o el parser, mantener bandeja de evidencia pendiente para reprocesado LOCAL idempotente; no repetir el HTTP para recuperar una respuesta ya recibida. Respuestas parciales/error no reemplazan estado valido por datos incompletos. Un error no cuenta como refresco satisfactorio.
Las altas propias y consultas manuales tambien alimentaran la cache en su ambito, con niveles de completitud: respuesta de alta no equivale a tracking completo. No depender unicamente del planificador para mantenerla.
Historico, integridad y privacidad
- Sin limite fisico ni purga a 100 registros. Los ultimos 100 conocidos
pueden ser ventana inicial de trabajo o paginacion local, no un parametro remoto inventado ni un requisito de borrar el resto.
- Claves foraneas, transacciones y unicidad por ambito; indices de IDs,
fecha, estado/terminal y next_sync_at; paginacion estable local. Evaluar particionamiento solo cuando volumen real lo justifique.
- TEST y PRODUCCION separados en claves, permisos, consultas, auditoria,
presupuesto y trabajos. Una UID vive en el mecanismo seguro, nunca en entidades de cache, snapshots sanitizados ni claves de busqueda.
- UI autenticada con permisos; logs sin direccion completa, contactos ni
secretos. Original completo solo cifrado conforme al mecanismo existente; no descarga automatica de POD, firma ni enlaces externos.
- Para busqueda parcial de destinatario se propone conservar solo nombre,
CP y poblacion operativos autorizados, con acceso restringido y cifrado de almacenamiento/backup. La politica de datos debe aprobarse antes de la implementacion. Si exige cifrado de campo, hay que resolver de forma explicita el indice de busqueda: Fernet no permite ILIKE sobre el cifrado. No prometer ambas cosas ni inventar criptografia propia.
- Capacidad de historico indefinido no significa retencion perpetua de
datos personales: proponer politica aprobada de retencion/anonimizacion.
5. Politica futura de sincronizacion, desactivada en esta fase
| Clase | Propuesta de refresco |
| Activa / pendiente confirmada API | Ventanas configurables, inicialmente alineadas con recomendacion M1/M2 de unas 4-5 consultas al dia por conocido no definitivo, sujetas a presupuesto acordado. |
| Incidencia vigente | Prioridad sobre activos sin cambios dentro del mismo presupuesto; frecuencia extra solo tras acordarla, no sondeo intenso automatico. |
| Entregada o terminal acreditada | next_sync_at nulo, sin refresco automatico; consulta manual explicita posible con cuota/permiso. |
| Candidato Extranet no recuperable | Cola separada; no bucle de reintentos ni asumir pendiente API. Revisar publicacion/identificador con GLS y aprobar politica limitada. |
| Error o indisponibilidad | Mantener datos validos de cache; backoff configurable y corte de circuito. No confundir fallo con cambio de estado. |
El scheduler futuro reclamaria cada trabajo de forma exclusiva, evitando solapamiento manual/periodico y consultas duplicadas al mismo envio. Los cambios de configuracion no arrancan sincronizaciones por si solos.
La frecuencia de los manuales es recomendacion de uso razonable; no es cuota contractual ni autorizacion actual para activarla. M2 pide pactar frecuencia y subconjunto. No se ha creado ningun cron, timer o tarea.
Cuotas y eficiencia:
- No hay cuota numerica iClientes acreditada en estos documentos. Limite
desconocido no equivale a ilimitado. Definir presupuesto local y reserva aprobados; modelo futuro debe representar limite remoto desconocido.
- La politica actual de 500 solicitudes/dia y 10 IDs por solicitud es de
REST Track And Trace, no se traslada a iClientes ni GetExpCli.
- No existe lote GetExpCli documentado. 100 conocidos x 5 refrescos supondria
hasta 500 POST SOAP/dia: es estimacion de carga, NO cuota GLS ni permiso.
- Reusar datos locales frescos, deduplicar IDs conocidos, no descargar
etiquetas/POD para refrescar estado ni repetir llamadas para cada vista.
- Contabilizar cada HTTP real por producto/cuenta/entorno, con actor,
correlacion, resultado e items; una respuesta con varios exp sigue siendo una sola peticion, y su reprocesado local no consume otra llamada.
- Futuro 401/403: pausar cuenta y revisar autorizacion; 429: respetar limite
e instrucciones si se reciben; errores transitorios: backoff y presupuesto acotados. Nunca retries automaticos de GrabaServicios. No retries ahora.
6. Normalizacion de estados sin mezclar catalogos
Clave de catalogo: carrier + familia API + namespace + tipo + codigo + idioma. Los 336 codigos REST existentes siguen siendo REST; los estados del maestro iClientes y las etiquetas de Extranet son dominios distintos. Se preservan siempre codigo, literal, tipo, catalogo, fecha y version de mapeo originales.
Propuesta inicial basada en X, hoja Envios(Estados):
| Interno | Mapeo candidato y cautelas |
| PENDING | -10 GRABADO: informacion recibida sin confirmacion de llegada. NO mapear automaticamente la etiqueta Extranet Pendiente Grabar. |
| ACTIVE | Estados de flujo no definitivos, incluidos MANIFESTADA 0, transito, agencia, reparto y devolucion en curso. Mapear individualmente con catalogo versionado. |
| INCIDENT | Incidencia vigente acreditada, no cualquier incidencia historica del timeline; no destruye el estado de envio original. |
| DELIVERED | 7 ENTREGADO, definitivo. 8 ENTREGA PARCIAL no es entrega definitiva. |
| RETURNED | 12 DEVUELTA AL CLIENTE, definitivo segun maestro. 10 DEVUELTA y 15 EN DEVOLUCION no se tratan automaticamente como terminales. |
| CANCELLED | Reservado para anulacion definitiva acreditada. 5 ANULADA esta marcado NO definitivo y puede ser retencion temporal: no aplicar este mapeo por literal. |
| OTHER | Desconocidos o ambiguos; tambien cierres definitivos sin equivalencia exacta: 17 DESTRUIDO POR ORDEN DEL CLIENTE, 20 CERRADO POR SINIESTRO y 90 CERRADO DEFINITIVO, con is_terminal=true y motivo propio. Estado 5 requiere revision, no terminal por defecto. |
Estado normalizado e is_terminal son campos diferentes. No deducir el segundo solo del primero. Versionar y probar los mapeos antes de usarlos para detener refrescos. Servicios de retorno no demuestran por si solos que el envio original haya sido devuelto definitivamente.
No derivar estado actual del ultimo evento cronologico sin discriminar su tipo. El historico entregado tenia eventos administrativos posteriores a la entrega; FACTURA o disponibilidad de POD no revierten ENTREGADO. Eventos fuera de orden se conservan sin regresion automatica de estado.
7. UI futura: TRANSPORT HUB > Expediciones
No implementada en esta fase. Tabla operativa sobre PostgreSQL, sin llamada remota al entrar, paginar, filtrar, abrir detalle ni buscar por nombre.
Vistas: TODOS, EN CURSO, INCIDENCIAS, PENDIENTES, ENTREGADOS; filtros de otros estados/terminales y candidatos externos no confirmados separados. No mezclar una lista vacia de API con una expedicion pendiente confirmada.
Filtros: fecha desde/hasta (aclarar fecha de expedicion), destinatario parcial, poblacion, CP, numero expedicion, CODEXP, barcode, albaran, referencia tipada, estado, servicio y origen; tambien cuenta y entorno. IDs como texto con ceros conservados. SQL parametrizado; indices B-tree y, si se aprueba/justifica, busqueda trigram/acento en campos autorizados. No instalar extensiones ni crear indices en esta fase.
Columnas: estado/codigo original y normalizado, fecha, destinatario minimo, poblacion/CP, servicio/horario, bultos/peso, ultima sincronizacion GLS, fuente/procedencia, CACHE, frescura y ultimo error sin trazas internas. Detalle: identificadores y referencias tipadas, timeline, cambios de estado, origen conocido o unknown, y acceso autorizado a evidencia sanitizada.
Sin Internet o con GLS caido, la UI local sigue consultando cache si la aplicacion y PostgreSQL estan disponibles. Mostrar siempre:
> DATOS DE CACHE > Ultima sincronizacion GLS: [fecha/hora Europe/Madrid]
La indisponibilidad de PostgreSQL es distinta: no prometer cache accesible sin su almacenamiento. Si un dato nunca se sincronizo, indicarlo en vez de mostrar una hora inventada. Vigencia configurable por clase/recurso.
Accion manual Actualizar: permiso, CSRF, confirmacion y presupuesto; no recuperar POD/etiquetas ni encadenar mas consultas implicitamente. La peticion util resultante se ingiere una vez en cache, sin segundo HTTP.
8. Riesgos y preguntas concretas para GLS
1. Facilitar XML IN/OUT y manual vigente de GetEnvios y GetManifiesto: autenticacion, ambito, efectos, autorizacion y ejemplos completos. 2. Existe consulta read-only de todos los envios de esta cuenta entre fechas, recientes, pendientes/no definitivos o modificados desde una marca? Que campo de fecha usa, timezone, bordes inclusivos y orden? 3. Limites: ventana maxima, filas, cuota/rate limit, concurrencia, pagina, cursor, senal de truncamiento, expiracion, retencion y cambios tardios. Como obtener cobertura completa sin saltos/duplicados? 4. Que significa Pendiente Grabar en cada grupo de Extranet y cuando pasa a ser consultable? Confirmar si los numeros [IDENTIFICADOR OMITIDO], [IDENTIFICADOR OMITIDO] y [IDENTIFICADOR OMITIDO] son CODEXP de iClientes o identificadores de otra fase. 5. Confirmar ambito de cuenta/agencia de la UID, visibilidad cruzada de canales y relacion con usuario Extranet, sin enviar secretos en soporte. 6. Como se obtiene la lista completa de CODEXP recientes y sus GUID/barcode? Hay exportacion oficial o push aplicable a nuestro volumen y cuenta? 7. Precisar relacion entre referencia C/0/S, albaran, numero visible, agencia, CODEXP y devoluciones; unicidad/estabilidad por ambito. 8. Confirmar catalogos vigentes, terminalidad, estado 5 y tratamiento de eventos administrativos, tardios y correcciones tras entrega. 9. Acordar frecuencia, presupuesto de consultas y alcance de reintentos; si existe push, contrato de entrega/repeticion, autenticacion, replay y carga inicial. No extrapolar semantica de envio una vez a garantia tecnica.
Riesgos clave: dar por completa una cache parcial, adivinar filtros XML, mezclar cuentas/entornos, fusionar por referencias no unicas, confundir lista vacia con borrado o estado, convertir una recomendacion en cuota y dar por definitivo ANULADA 5. El diseno los contempla, no los declara resueltos por esta muestra.
9. Verificaciones y limites respetados
- Comprobacion local con dobles: solo los tres CODEXP permitidos; bloqueo
de repeticion, barcode, albaran, numero con agencia, otro CODEXP y GetExp.
- Tres transmisiones, cero retries y cero operaciones GLS adicionales.
- Antes/despues de las llamadas: mismos hashes de filas de ensayos,
shipments, parcels, tracking_events y synchronizations. Filas de estas cuatro ultimas: 0; ensayos: 3; etiquetas originales: 4; trabajos de impresion: 6. Ninguna etiqueta, impresion ni expedicion nueva.
- Ningun cambio de codigo de aplicacion, configuracion, UID, infraestructura,
esquema SQL, migraciones, UI, scheduler o tablas de cache.
- Se conserva auditoria de las consultas y este unico informe documental;
no se importaron respuestas a un repositorio de expediciones.
- No se ha ejecutado una bateria completa de tests de la aplicacion:
no hay cambios funcionales. Se comprobaron offline las restricciones del auxiliar de consulta y se verificaron resultados e integridad local.
Contadores del lote:
| TEST/laboratorio historico | 11 | 11 |
El historico 11 incluye 6 iClientes TEST y 5 REST sandbox ya existentes; no se reclasifica ni se mezcla con PRODUCCION.
Decision propuesta: solicitar a GLS el contrato de descubrimiento; aprobar despues una implementacion incremental de cache de conocidos y su politica de datos. No activar sincronizacion ni realizar mas llamadas para suplir documentacion ausente. Trabajo detenido con este informe.
---
Suplemento prioritario: enumeracion por fechas, 05/11/2026
Este suplemento prevalece sobre las propuestas de pruebas anteriores. No autoriza consultas individuales ni ShipIT. Trabajo documental y local, sin llamadas de negocio GLS.
Resumen ejecutivo
1. Busqueda por fechas mediante API domestica: NO se ha encontrado un contrato utilizable. No equivale a demostrar que GLS no disponga de esa capacidad. 2. Operacion: GetEnvios es candidata, no confirmada. GetManifiesto tampoco esta acreditada. 3. Prueba nueva: 0 llamadas. No hay contrato interno ni garantia de lectura/alcance suficiente. 4. Las 61 expediciones del 04/11/2025 al 04/12/2025: NO DEMOSTRADO por API. La evidencia positiva de Extranet procede de Juan, no de una nueva consulta nuestra. 5. GLS debe facilitar el IN/OUT/XSD del listado por cuenta/fechas, su semantica y completitud. 6. Se entregan cuatro informes completos, indice, manifiesto SHA-256 y ZIP privado descargable. 7. El repositorio puede disenarse e implementarse en una fase posterior autorizada con fuentes desacopladas y cobertura explicita. No puede declararse completa la importacion/sincronizacion.
Alcance realmente inspeccionado
Nueva inspeccion read-only en la VM 214: 316 archivos documentales/de codigo/evidencia/log, dos archivos TAR de respaldo y el ZIP original GLS_API. Se inspeccionaron tambien las copias de despliegue y .backups dentro del proyecto, los tests/fixtures, catalogos y fuentes actuales. No se recorrieron historiales o credenciales ajenas al proyecto.
- WSDL original completo, 25 operaciones unicas; elementos, mensajes, portTypes, bindings,
tipos nombrados, referencias, anotaciones, acciones y direcciones.
- Dos PDF completos (11 y 6 paginas), siete XML iniciales y originales de Anula; XLSX,
todas sus ocho hojas y XML internos. No nuevo contrato de listado en el maestro.
- ZIP original: 23 entradas contando directorios, 11 documentos originales utiles;
el unico miembro que menciona GetEnvios/GetManifiesto es b2b.wsdl.
- Codigo actual y respaldos: las unicas menciones exactas en las fuentes activas son
del catalogo iclientes_catalog.json. No hay constructor/parser/fixture de listado oculto. El cliente reutilizable valida GrabaServicios, GetExpCli y EtiquetaEnvioV2; el auxiliar de Anula previo no convierte el resto de firmas en operaciones implementadas.
- Logs locales, articulos KB, indices documents/knowledge_articles/official_documents,
registros de llamadas y 15 respuestas SOAP originales cifradas. No hay ejecucion historica de GetEnvios o GetManifiesto en las evidencias observadas.
- Documentacion publica oficial/host historico ASM: se revisaron las ayudas y el indice,
sin descargar WSDL online, sin portal automatizado, sin scraping Extranet ni SOAP/REST/OAuth.
Evidencia mecanica local, no incluida como respuesta masiva de clientes: [RUTA INTERNA OMITIDA] y [RUTA INTERNA OMITIDA]. No se afirma una revision universal de fuentes privadas externas no preservadas.
Contrato real: seguimiento de referencias, no solo firma superficial
Fuente primaria W: [RUTA INTERNA OMITIDA]. 63502 bytes; SHA-256 3ea7a6edcd64c5756e1ccd5da8883823900406c130f8f150b9d9d97ead17b6cd. La copia tiene texto inicial/prefijos no declarados: se contrasto literalmente, sin repararla.
| Paso del contrato | GetEnvios | GetManifiesto | Hallazgo |
| Elemento request/response | W 204-229 | W 178-203 | Wrapper en namespace http://www.asmred.com/. |
| Parametro | docIn, minOccurs=0, maxOccurs=1 | Igual | Tipo anonimo mixed=true, sequence s:any. |
| Resultado | GetEnviosResult | GetManifiestoResult | Otro XML opaco mixed/s:any; no tipo de lista especificado. |
| Mensajes | W 656-660 | W 650-654 | parameters referencia al elemento anterior; no filtro escondido en mensaje. |
| portType SOAP | W 1035-1037 | W 1031-1033 | Input/output enlazan esos mensajes. |
| Binding SOAP 1.1 | W 1302-1310 | W 1293-1301 | document/literal; accion especifica. |
| Binding SOAP 1.2 | W 1530-1538 | W 1521-1529 | document/literal; accion especifica; no headers de filtro. |
| Accion | http://www.asmred.com/GetEnvios | http://www.asmred.com/GetManifiesto | Documentada, no demuestra semantica del docIn. |
| Direccion SOAP 1.2 | W 1965 | La misma | https://ws-customer.gls-spain.es/b2b.asmx. No se cambia. |
No hay import/include/schemaLocation de XSD ni anotaciones documentation en esta copia. No aparece un XSD adicional en [RUTA INTERNA OMITIDA] Se siguieron todos los seis tipos complejos nombrados: ArrayOfBase64Binary, ValidateUidClienteRequest/Response, ArrayOfString, GetTSPRequest/Response. El tipo simple TiposEtiqueta solo enumera formatos de etiqueta. Ninguno resuelve el XML interno de las dos operaciones candidatas.
No consta campo de fecha, cuenta, estado, limite, pagina o cursor aplicable al listado. Los datos de cliente/agencia en ValidateUidCliente y de pais/CP/servicio en GetTSP no pueden trasladarse a GetEnvios. El s:any permite XML arbitrario sintacticamente, pero no documenta que el servidor lo acepte ni que sea una consulta sin efectos. No usar docIn vacio, asteriscos, rangos de CODEXP o referencias como sustituto de contrato.
Evaluacion funcional de alternativas
La matriz completa de las 25 operaciones se conserva arriba, con input/output y evidencias. Para el objetivo concreto:
| Grupo/operacion | Cuenta+fechas sin ID | Efectos/limite que impiden la prueba |
| GetEnvios | No acreditado | Falta XML interno, autenticacion, fecha, salida, lectura y limites. Candidata prioritaria. |
| GetManifiesto | No acreditado | Mismas carencias; manifiesto no garantiza lectura ni ausencia de cierre. |
| GetExpCli | No | codigo conocido + UID de cliente. Varias expediciones relacionadas por referencia no son listado de cuenta. |
| GetExp | No | GUID de una expedicion conocida. |
| Tracking / TrackingUid / Estado | No acreditado | docIn opaco sin contrato local de cuenta/fecha; nombres no prueban lectura/listado. |
| PrevisionEnvios / TestGrabaServicios | No acreditado | No asumir consulta o inocuidad; no contrato de listado. |
| ValidateUidCliente / EsPaisEurobusiness / GetTSP / GetNemonico / GetPlazaXCP / GetStandardTransit | No | Validacion, servicios o informacion territorial; salidas no son conjunto de expediciones de la cuenta. |
| EtiquetaEnvio / EtiquetaEnvioV2 / EtiquetaEnvioRecogidas | No | Identificador conocido, representaciones documentales; no descubrimiento. |
| GrabaServicios / ValidaEuroBusiness / GrabaSolucion / Anula / AsignaEnvio / AsociaMatricula / EnviaCorreoAgencia | No documentado | Creacion, validacion u otros efectos, excluidos del presupuesto de lectura. |
| Push GLS descrito en M1 p.10 | No historico acreditado | Proyecto acordado para alto volumen; no configurado, sin backfill garantizado. |
| Track & Trace REST | No | Tracking por IDs/referencias especificas y catalogo de estados, no cuenta/fechas. |
| ShipIT Farm tracking/parcels | Tiene fechas en otra API | Producto no seleccionado; no prueba de cobertura iClientes/Extranet. Cero ensayos nuevos. |
| Exportacion autorizada por GLS/usuario | Posible fuente alternativa | No API ni sincronizacion automatica completa; formato, alcance y aprobacion pendientes. |
M1 p.2 explica NO diferido, YourGLS y restricciones del listado de manifiesto. Esa explicacion no define una llamada inversa para listar todo lo creado desde Extranet. M1 p.11 y M2 p.3 recomiendan refrescar conocidos no definitivos; es seleccion local, no prueba de que el servidor filtre todas las expediciones activas de la cuenta. M2 p.2/p.6 documenta codigo/UID y expediciones relacionadas; no fechas ni comodines.
Ampliacion publica oficial: resultado y limites
Consulta documental el 05/11/2026; ninguna llamada de negocio ni descarga de WSDL. Las ayudas publicas historicas corroboran el wrapper de entrada/salida, pero siguen representando el contenido como XML indeterminado; no aportan un ejemplo de fechas:
- Ayuda ASM GetEnvios.
- Ayuda ASM GetManifiesto.
- Indice publico b2b ASM.
El indice publico y sus versiones indexadas muestran ademas nombres no presentes en la copia offline: EtiquetaEnvioBultoV2, GetZonaCloser, GetZonaCloserPS; otra version indexada menciona GetCloserInfoOffline y GetMaestroValijas. Las ayudas de esos nombres no pudieron recuperarse mediante el servicio web de consulta documental (cache miss). No se han probado, no se trasladan al endpoint contratado, no se atribuye lectura o enumeracion a sus nombres y no se sustituye el WSDL offline por este indice variable. No se ha localizado una especificacion publica oficial IN/OUT de listado por fechas.
Las busquedas abarcaron nombres exactos, docIn, uidcliente, fechas, XML IN/OUT, iClientes, listado, rangos y manifiestos en dominios GLS/ASM y busqueda general. Se descartaron coincidencias de otros transportistas/Notifica y APIs de otros paises: compartir el nombre GetEnvios no acredita el contrato domestico de GLS Espana. Una busqueda negativa no prueba inexistencia del servicio ni falta de habilitacion.
Decision de prueba y unica preparacion admisible
NO EJECUTADA: contrato interno no acreditado. No se ha gastado el presupuesto en GetExpCli de conocidos, OAuth ni pruebas ShipIT. La ausencia de un listado utilizable es bloqueo documental, no un nuevo HTTP 401/500 ni una prueba de credencial.
La futura consulta 1 se acotaria a la cuenta 2004/35 y al 04/11/2026, sin CODEXP, GUID, barcode, albaran ni referencia. Fecha propuesta, pendiente de contrato GLS; no hay payload exacto seguro que pueda generarse con las fuentes actuales.
Transporte conocido: POST al endpoint domestico, SOAP 1.2, TLS validado, action GetEnvios solo si GLS confirma que es la operacion correcta. UID desde el almacen seguro en el campo que confirme su IN oficial. Timeout configurado, sin retries, sin redirecciones ni llamadas auxiliares. Una peticion como maximo y parada.
Antes de autorizar envio: validar XML/XSD, cuenta, campo temporal, extremos, zona, fecha corta, estados incluidos, ausencia de cierres/efectos, limite y completitud. Capturar HTTP/negocio/conteo/IDs/latencia/paginacion y original cifrado antes del parser. Un HTTP 200 o varios resultados NO bastan si el resultado puede estar truncado. Si existe paginacion, registrar cursor/has_more/total y detenerse tras la primera llamada: no consumir una segunda pagina automaticamente bajo este presupuesto.
La consulta historica 04/11/2025-04/12/2025 queda pendiente de revision y otra autorizacion, aun si la primera funcionase. Para contrastar 61 hay que igualar cuenta, criterio de fecha, inclusividad, estados/canales y unidad expedicion (no bultos/eventos), y comprobar que se recuperaron todas las paginas. Igualdad de conteo sola no demuestra igualdad de conjuntos: contrastar tambien identificadores contra exportacion autorizada.
Matriz de profundidad historica: tres capacidades distintas
| Periodo/caso | Enumeracion por fecha API | Recuperacion de conocido API | POD/documentos API | Evidencia / siguiente validacion |
| Antes de agosto 2025, otra cuenta | No demostrada | No demostrada con credencial actual | No demostrada | Otra agencia/cuenta: sin presumir permisos cruzados. |
| Agosto 2025, comienzo aproximado de 2004/35 | No demostrada | No demostrada | No demostrada | Confirmar inicio real, retencion y alcance de UID con GLS. |
| 04/11/2025-04/12/2025 | No demostrada | No probada para esos registros | No descargados por API | Juan observa 61 fichas con tracking y POD cuando corresponde en Extranet. |
| Enero-septiembre 2026 | No demostrada | No demostrada en muestras preservadas | No demostrada | No inferir disponibilidad continua por casos de octubre. |
| 26/10/2026, CODEXP [IDENTIFICADOR OMITIDO] | No probada | Demostrada GetExpCli HTTP 200 | Referencia POD presente, binario no recuperado | Evidencia historica local con 9 eventos; no es limite maximo de retencion. |
| 03-04/11/2026, casos recientes Extranet | No demostrada | Nuevos casos aun no probados por API | POD comunicado en Extranet | No consumir el presupuesto actual en lookup de IDs. |
| TH-P-001, alta y anula previas | No probada | Demostrada sobre conocido | Etiqueta de alta, no POD de entrega | Caso administrativo, no prueba de listado ni profundidad historica. |
Plan futuro, no ejecutado: tras contrato y prueba reciente, comparar el periodo de 61 con autorizacion; despues bloques temporales progresivos hasta agosto 2025 segun limites GLS. Registrar por ventana/cuenta/criterio las tres profundidades por separado. Respuesta vacia no es retencion demostrada: distinguir falta de datos, permiso, filtro/fecha equivocado, cuenta anterior, truncamiento y purga documental.
Correo tecnico a GLS Iberia (BORRADOR, NO ENVIADO)
Asunto: iClientes - listado por cuenta y fechas sin identificadores (agencia 2004 / cliente 35)
Hola:
Usamos la API domestica iClientes recomendada para nuestra cuenta. GetExpCli ya recupera expediciones conocidas de Extranet. Necesitamos descubrirlas sin conocer CODEXP, GUID, barcode ni referencia.
Que operacion permite listar todas las expediciones de nuestra cuenta entre dos fechas? El WSDL offline declara GetEnvios/GetManifiesto con docIn generico, sin su contrato interno. Necesitamos XML IN/OUT o XSD y confirmacion de lectura sin creacion, modificacion ni cierre, autenticacion y alcance a nuestra cuenta.
Como contraste, Extranet devuelve 61 expediciones del 04/11/2025 al 04/12/2025. Confirmad junto al contrato:
- Cobertura de altas Extranet e iClientes, incluidas pendientes, grabadas, activas,
entregadas, anuladas y diferidas, y cuando pasan a ser visibles.
- Campo temporal filtrado, formato, zona horaria e inclusividad de extremos.
- Paginacion/limites/truncamiento y procedimiento para garantizar todos los resultados.
- Retencion de listado, ficha y eventos desde agosto 2025; retencion distinta de POD si existe.
- Cuotas/frecuencia recomendada para descubrimiento y refresco diario.
- Si la cuenta anterior de otra agencia requiere su propia UID/autorizacion.
Si esta API no ofrece listado, indicad la alternativa oficial para obtener todos los identificadores por cuenta/fechas (exportacion o suministro acordado).
Gracias. No adjuntamos ni solicitamos reenviar credenciales en este correo.
Contadores y limites de esta entrega
Al inicio: iClientes PRODUCCION 10; iClientes TEST 6; REST registrados 5; historico TEST/laboratorio 11; global api_requests 21. Cero llamadas nuevas. No se envian correos, no se implementa repositorio ni conector, no se migra, no se reinicia, no se imprime ni se modifica configuracion/credenciales. Solo se crean/actualizan copias documentales de exportacion en la ubicacion solicitada. La comprobacion final de integridad y contadores se incorpora al indice de entrega.