Interfaz REST

Spectrum™ Technology Platform proporciona una interfaz REST a los servicios web. Los servicios web definidos por el usuario, que son las creadas en Enterprise Designer, admiten los métodos GET y POST. Los servicios predeterminados instalados como parte de un módulo solo admiten GET. Si desea acceder a uno de estos servicios con POST debe crear un servicio definido por el usuario en Enterprise Designer.

To view the REST web services available on your Spectrum™ Technology Platform server, go to:

http://server:port/rest

Nota: We recommend that you limit parameters to 2,048 characters due to URL length limits.

Extremos de servicio

El extremo para una respuesta XML es:

http://server:port/rest/service_name/results.xml

El extremo para una respuesta JSON es:

http://server:port/rest/service_name/results.json

Los extremos para servicios web definidos por usuarios se pueden modificar en Enterprise Designer para utilizar un URL diferente.

Nota: By default Spectrum™ Technology Platform uses port 8080 for HTTP communication. Your administrator may have configured a different port.

La URL de WADL

El WADL para un servicio web Spectrum™ Technology Platform es:

http://server:port/rest/service_name?_wadl

Por ejemplo:

http://myserver:8080/rest/ValidateAddress?_wadl

User Fields

You can pass extra fields through the web service even if the web service does not use them. Estos campos se obtienen, sin modificación, en la sección user_fields de la respuesta. Para las solicitudes GET, los campos de usuario se pasan como parámetro en la URL como en ningún otro campo. Para las solicitudes POST, los campos de usuario se pasan como parte del elemento user_fields de la solicitud XML o JSON.

Nota: User field names may not contain characters that are invalid in XML or JSON element names. For example, spaces are not valid.

Solicitud REST de muestra utilizando GET con respuesta XML

El siguiente ejemplo ilustra cómo realizar una solicitud REST para el servicio ValidateAddress utilizando el método GET solicitando una respuesta en XML.

http://myserver:8080/rest/ValidateAddress/results.xml?Option.OutputCasing=U&​Data.AddressLine1=1825+Kramer+Lane&Data.PostalCode=78759

La solicitud de muestra resultaría en este respuesta, dado que se solicitó una respuesta XML:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<xml.ValidateAddressResponse xmlns="http://www.pb.com/spectrum/services/ValidateAddress">
    <output_port>
        <Address>
            <Confidence>82</Confidence>
            <RecordType>Normal</RecordType>
            <CountryLevel>A</CountryLevel>
            <ProcessedBy>USA</ProcessedBy>
            <MatchScore>0</MatchScore>
            <AddressLine1>1825 KRAMER LN</AddressLine1>
            <City>AUSTIN</City>
            <StateProvince>TX</StateProvince>
            <PostalCode>78758-4260</PostalCode>
            <PostalCode.Base>78758</PostalCode.Base>
            <PostalCode.AddOn>4260</PostalCode.AddOn>
            <Country>UNITED STATES OF AMERICA</Country>
            <user_fields/>
        </Address>
    </output_port>
</xml.ValidateAddressResponse>

Solicitud REST de muestra utilizando GET con respuesta JSON

El siguiente ejemplo ilustra cómo realizar una solicitud REST para el servicio ValidateAddress utilizando el método GET solicitando una respuesta en JSON.

http://myserver:8080/rest/ValidateAddress/results.json?Option.OutputCasing=U&​Data.AddressLine1=1825+Kramer+Lane&Data.PostalCode=78759

La solicitud de muestra resultaría en esta respuesta, dado que se solicitó una respuesta JSON:

{
	"ns1.json.ValidateAddressResponse" :
	{
	"ns1.output_port" :
	{
	"ns1.Confidence" : 82,
	"ns1.RecordType" : "Normal",
	"ns1.CountryLevel" : "A",
	"ns1.ProcessedBy" : "USA",
	"ns1.MatchScore" : 0,
	"ns1.AddressLine1" : "1825 KRAMER LN",
	"ns1.City" : "AUSTIN",
	"ns1.StateProvince" : "TX",
	"ns1.PostalCode" : "78758-4260",
	"ns1.PostalCode.Base" : 78758,
	"ns1.PostalCode.AddOn" : 4260,
	"ns1.Country" : "UNITED STATES OF AMERICA"
	}
	}
}