API del Web Service STE
Contenido
Tipos
Basicos
TGArrayInteger = array of integer; TGWSSerializedDateTime = String; TGWSIdentifier = String; TGSignature = TByteDynArray; Array de bytes usado para enviar datos binarios (ficheros, firmas, etc.).
Errores
TGWSErrorCode = Integer; TGWSFieldError = class
property FieldDefinitionPath: String; property ErrorMessage: String;
Descripción de error en un campo. Indica el campo afectado y el error correspondiente. TGWSArrayFieldError = array of TGWSFieldError; TGWSError = class
property ErrorCode: TGWSErrorCode; property ErrorMessage: String;
Error general. TGWSErrorValidateTask = class(TGWSError)
property FieldErrors: TGWSArrayFieldError;
Error en la validación o envío de una tarea. Detalla los errores de los campos.
Procedimentos (definiciones)
TGWSFieldType = (ftDummy, ftBoolean, ftInteger, ftReal, ftString, ftMemo, ftDatetime, ftCurrency, ftTable); Tipos de campo. TGWSFieldDefinition = class
property Identifier: TGWSIdentifier; property LabelField: String; property FieldType: TGWSFieldType; property Section: String; property Visible: Boolean; property Editable: Boolean; property Required: Boolean; property FieldDefinitions: TGWSListFieldDefinition;
Definición de campo. Si es un campo tabla, incluye las definiciones de las columnas. TGWSArrayFieldDefinition = array of TGWSFieldDefinition; TGWSListFieldDefinition = class
property FieldDefinitions: TGWSArrayFieldDefinition;
TGWSTaskType = (ttStart, ttSendDocumentation, ttRequirement, ttNotification, ttResponse); Tipos de tarea. Todo proceso ha de tener al menos una tarea de inicio (ttStart). Las tareas de envío de documentación (ttSendDocumentation) permiten añadir documentación a un trámite en cualquier momento. Las tareas de requerimiento se usan para solicitar la participación del interesado en algún momento del trámite, requiriendole para que aporte más documentación a un trámite, por medio de una tarea de respuesta (ttResponse). Las tareas de notificación sirven para informar al interesado de cualquier incidencia en el trámite. Se debe acusar recibo de este tipo de tareas para poder consultar el trámite. TGWSTaskDefinition = class
property Identifier: TGWSIdentifier; property NameTask: String; property LabelTask: String; property Description: String; property TaskType: TGWSTaskType; property FieldDefinitions: TGWSListFieldDefinition;
Definición de tarea. Incluye las definiciones de campo. TGWSArrayTaskDefinition = array of TGWSTaskDefinition; TGWSRefProcedure = class
property Identifier: TGWSIdentifier property NameProcedure: String property Description: String; property Group: String;
Descripción abreviada del procedimento, que se usa obtener los datos fundamentales de un procedimento al cargar listados. TGWSArrayRefProcedure = array of TGWSRefProcedure; TGWSListRefProcedure = class
property RefProcedures: TGWSArrayRefProcedure;
TGWSProcedure = class(TGWSRefProcedure)
property TaskDefinitions: TGWSArrayTaskDefinition;
Descripción completa del procedimiento.
Trámites
TGWSProcessStatus = (psCreated, psStarted, psFinished, psArchived, psDeleted, psAll); Estados en los que se puede encontrar un trámite. TGWSArrayProcessStatus = array of TGWSProcessStatus; TGWSRefProcess = class
property Identifier: TGWSIdentifier; property RefProcedure: TGWSRefProcedure; property LabelProcess: String; property Status: TGWSProcessStatus; property CreateDate: TGWSSerializedDateTime; property StartDate: TGWSSerializedDateTime; property EndDate: TGWSSerializedDateTime; property TramitationStatus: String; property TaskCount: Integer; property LastTaskName: String; property LastTaskDate: TGWSSerializedDateTime; property HasPendingTasks: Boolean read;
Descripción abreviada de un trámite, usada para obtener los datos fundamentales de un trámite en listados. TGWSArrayRefProcess = array of TGWSRefProcess; TGWSListRefProcess = class
property RefProcesses: TGWSArrayRefProcess;
TGWSProcess = class(TGWSRefProcess)
property Tasks: TGWSArrayTasks read FTasks write FTasks;
Datos completos del trámite, incluyendo las tareas que forman parte del mismo. TGWSSearchProcessArg = class
property Status: TGWSArrayProcessStatus; property Condition: String;
Parámetros de búsqueda usados para indicar los criterios de búsqueda de trámites.
Tareas
TGWSTaskStatus = (wsTaskCreated, wsTaskSended, wsTaskReceived, wsTaskResponsed); Estados en los que se puede encontrar una tarea. TGWSTask = class
property Identifier: TGWSIdentifier; property DefinitionId: TGWSIdentifier; property Status: TGWSTaskStatus; property CreateOrReceiveDate: TGWSSerializedDateTime; property SendOrResponseDate: TGWSSerializedDateTime; property Files: TGWSArrayRefFiles; property FieldValues: TGWSArrayFieldValue; property FieldAllowedValues: TGWSListFieldAllowedValues; property Signature: TGSignature;
Datos de una tarea. Incluye la información de los campos y los archivos adjuntos, así como la firma digital de la tarea. TGWSArrayTasks = array of TGWSTask;
Campos
TGWSArrayValues = array of String; TGWSFieldAllowedValues = class
property DefinitionId: TGWSIdentifier; property AllowedValues: TGWSArrayValues;
Listado de valores permitidos para un campo. TGWSArrayFieldAllowedValues = array of TGWSFieldAllowedValues; TGWSListFieldAllowedValues = class
property FieldAllowedValues: TGWSArrayFieldAllowedValues;
TGWSFieldValue = class
property DefinitionId: TGWSIdentifier; property FieldType: TGWSFieldType; property Value: String read FValue write FValue; property RowsAllowedValues: TGWSListFieldAllowedValues; property Rows: TGWSArrayRows;
Campo. Para facilitar la operación con este tipo, se ha añadido el atributo “tipo”, que también está disponible en la definición de campo. Si el campo es de tipo tabla, incluye la información de las filas de la tabla. TGWSArrayFieldValue = array of TGWSFieldValue; TGWSRow = class
property FieldValues: TGWSArrayFieldValue;
Fila de campos tabla. TGWSArrayRows = array of TGWSRow;
Ficheros
TGWSRefFile = class
property Identifier: TGWSIdentifier; property NameFile: String; property AttachDate: TGWSSerializedDateTime;
Datos de un fichero adjunto a una tarea. TGWSArrayRefFiles = array of TGWSRefFile; TGWSFile = class(TGWSRefFile)
property Content: TByteDynArray;
Contenido completo de un fichero adjunto a una tarea.
Notificaciones
TGWSNotification = class
property Identifier: String read FIdentifier write FIdentifier; property Name: String read FName write FName;
Notificación pendiente en un trámite. Incluye el identificador de la tarea de notificación que está pendiente de acusar recibo y un nombre descriptivo para mostrar al usuario. TGWSArrayNotifications = array of TGWSNotification; TGWSListNotifications = class(TRemotable)
property Notifications: TGWSArrayNotifications read FNotifications write FNotifications;
Usuarios
TGWSRegistrationForm = class
property FieldDefinitions: TGWSArrayFieldDefinition; property FieldValues: TGWSArrayFieldValue; property FieldAllowedValues: TGWSListFieldAllowedValues;
Formulario de registro de un usuario. Incluye solo los campos adicionales. Los campos obligatorios (nombre, nombre completo, nif, correo electrónico), no están incluidos en el formulario. La definición de los campos de registro se describe en un fichero XML. TGWSRefUser = class
property Identifier: TGWSIdentifier; property UserName: String; property FullName: String; property Nif: String; property EMail: String; property IdOrganization;
Datos básicos de un usuario, se usa para listados de usuario.
TGWSArrayRefUsers = array of TGWSRefUser; TGWSListRefUsers = class
property RefUsers: TGWSArrayRefUsers; TGWSUser = class(TGWSRefUser) property RegistrationForm: TGWSRegistrationForm;
Datos completos de un usuario, incluyendo los datos del formulario de registro. TGWSSearchUsersArg = class
property Condition: STring;
Organizaciones
TGWSOrganization = class
property Identifier: TGWSIdentifier; property Name: String read;
Datos de una organización. La organización permite agrupar los usuarios, de forma que los todos los usuarios individuales que pertenezcan a una organización tienen acceso a todos los trámites que haya iniciado cualquier miembro de la organización. TGWSArrayOrganizations = array of TGWSOrganization; TGWSListOrganizations = class
property Organizations: TGWSArrayOrganizations;