package api1

import (
	"encoding/xml"
)

// GetDataRequest es la solicitud para la operación GetData
type GetDataRequest struct {
	XMLName   xml.Name `xml:"GetDataRequest"`
	Namespace string   `xml:"xmlns,attr,omitempty"`
	ID        string   `xml:"Id,omitempty"`
	Type      string   `xml:"Type,omitempty"`
	Date      string   `xml:"Date,omitempty"`
	// Otros campos según sea necesario
}

// GetDataResponse es la respuesta para la operación GetData
type GetDataResponse struct {
	XMLName     xml.Name `xml:"GetDataResponse"`
	Status      string   `xml:"Status,omitempty"`
	ResultCode  string   `xml:"ResultCode,omitempty"`
	Description string   `xml:"Description,omitempty"`
	Data        []Data   `xml:"Data>Item,omitempty"`
}

// Data representa un elemento de datos en la respuesta
type Data struct {
	ID    string `xml:"Id,omitempty"`
	Name  string `xml:"Name,omitempty"`
	Value string `xml:"Value,omitempty"`
	// Otros campos según sea necesario
}

// GetDataSoapRequest envuelve la solicitud para SOAP
type GetDataSoapRequest struct {
	XMLName xml.Name       `xml:"api1:GetData"`
	Request GetDataRequest `xml:",omitempty"`
}

// GetDataSoapResponse envuelve la respuesta para SOAP
type GetDataSoapResponse struct {
	XMLName  xml.Name        `xml:"GetDataResponse"`
	Response GetDataResponse `xml:",omitempty"`
}
