El servidor de aplicaciones de Adobe Campaign se ha diseñado para que sea abierto y fácil de integrar con sistemas de información de la empresa cada vez más diversos y complejos.
Las API de Adobe Campaign se utilizan en JavaScript dentro de la aplicación y en SOAP fuera de ella. Constituyen una biblioteca de funciones genéricas que se pueden enriquecer. Para obtener más información, consulte Implementación de métodos SOAP.
La cantidad de llamadas al motor autorizadas por día varía según el contrato de licencia. Para obtener más información, consulte esta página.
Una lista de todas las API, con su descripción completa, está disponible en [esta documentación dedicada] (https://experienceleague.adobe.com/developer/campaign-api/api/index.html?lang=es.
Antes de usar las API de Adobe Campaign, debe estar familiarizado con los siguientes temas:
Adobe Campaign utiliza dos tipos de API:
Para desarrollar API e interactuar con Adobe Campaign, debe estar familiarizado con el modelo de datos. Adobe Campaign permite generar una descripción completa de la base. Consulte Descripción del modelo.
El protocolo SOAP permite invocar métodos API, a través del cliente enriquecido, aplicaciones de terceros que utilizan servicios web o JSP que utilizan estos métodos de forma nativa.
La estructura de un mensaje SOAP es la siguiente:
El esquema siguiente muestra los distintos recursos implicados en el uso de las API de Adobe Campaign:
En este ejemplo, una consulta SOAP invoca el método "ExecuteQuery", que toma una cadena de caracteres como parámetro para la autenticación (token de sesión) y un contenido XML para la descripción de la consulta que se va a ejecutar.
Para obtener más información, consulte ExecuteQuery (xtk:queryDef).
La descripción WSDL de este servicio se completa en el ejemplo siguiente: Descripción del servicio web: WSDL.
<?xml version='1.0' encoding='ISO-8859-1'?>
<SOAP-ENV:Envelope xmlns:xsd='http://www.w3.org/2001/XMLSchema' xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' xmlns:ns='http://xml.apache.org/xml-soap' xmlns:SOAP-ENV='http://schemas.xmlsoap.org/soap/envelope/'>
<SOAP-ENV:Body>
<ExecuteQuery xmlns='urn:xtk:queryDef' SOAP-ENV:encodingStyle='http://schemas.xmlsoap.org/soap/encoding/'>
<__sessiontoken xsi:type='xsd:string'/>
<entity xsi:type='ns:Element' SOAP-ENV:encodingStyle='http://xml.apache.org/xml-soap/literalxml'>
<queryDef firstRows="true" lineCount="200" operation="select" schema="nms:rcpGrpRel" startLine="0" startPath="/" xtkschema="xtk:queryDef">
...
</queryDef>
</entity>
</ExecuteQuery>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
El <soap-env:envelope>
es el primer elemento del mensaje que representa la envolvente SOAP.
El <soap-env:body>
es el primer elemento secundario del sobre. Contiene la descripción del mensaje, es decir, el contenido de la consulta o la respuesta.
El método que se va a invocar se introduce en <executequery>
del cuerpo del mensaje SOAP.
En SOAP, los parámetros se reconocen por orden de apariencia. El primer parámetro, <__sessiontoken>
, toma la cadena de autenticación, el segundo parámetro es la descripción XML de la consulta desde el <querydef>
Elemento.
<?xml version='1.0' encoding='ISO-8859-1'?>
<SOAP-ENV:Envelope xmlns:xsd='http://www.w3.org/2001/XMLSchema' xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' xmlns:ns='http://xml.apache.org/xml-soap' xmlns:SOAP-ENV='http://schemas.xmlsoap.org/soap/envelope/'>
<SOAP-ENV:Body>
<ExecuteQueryResponse xmlns='urn:xtk:queryDef' SOAP-ENV:encodingStyle='http://schemas.xmlsoap.org/soap/encoding/'>
<pdomOutput xsi:type='ns:Element' SOAP-ENV:encodingStyle='http://xml.apache.org/xml-soap/literalxml'>
<rcpGrpRel-collection><rcpGrpRel group-id="1872" recipient-id="1362"></rcpGrpRel></rcpGrpRel-collection>
</pdomOutput>
</ExecuteQueryResponse>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
El resultado de la consulta se introduce desde el <pdomoutput>
Elemento.
Ejemplo de respuesta de error SOAP:
<?xml version='1.0' encoding='ISO-8859-1'?>
<SOAP-ENV:Envelope xmlns:SOAP-ENV='http://schemas.xmlsoap.org/soap/envelope/'>
<SOAP-ENV:Body>
<SOAP-ENV:Fault>
<faultcode>SOAP-ENV:Server</faultcode>
<faultstring>Error while executing 'Write' of the 'xtk:persist'.</faultstring> service
<detail>ODBC error: [Microsoft][ODBC SQL Server Driver][SQL Server]Cannot insert duplicate key row in object 'XtkOption' with unique index 'XtkOption_name'. SQLSTate: 23000
ODBC error: [Microsoft][ODBC SQL Server Driver][SQL Server]The statement has been terminated. SQLSTate: 01000 Cannot save the 'Options (xtk:option)' document </detail>
</SOAP-ENV:Fault>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
El <soap-env:fault>
del cuerpo del mensaje SOAP se utiliza para transmitir las señales de error que surgen durante el procesamiento del servicio web. Se compone de los siguientes subelementos:
<faultcode>
: indica el tipo de error. Los tipos de error son:
<faultstring>
: mensaje que describe el error
<detail>
: mensaje de error largo
El éxito o el error de la invocación del servicio se identifican cuando la variable <faultcode>
el elemento está verificado.
Todos los servicios web de Adobe Campaign administran errores. Por lo tanto, se recomienda probar cada llamada para controlar los errores devueltos.
Ejemplo de control de errores en C#:
try
{
// Invocation of method
...
}
catch (SoapException e)
{
System.Console.WriteLine("Soap exception: " + e.Message);
if (e.Detail != null)
System.Console.WriteLine(e.Detail.InnerText);
}
Para enviar el servicio web, se debe contactar con el servidor de Adobe Campaign que implementa el método de servicio correspondiente.
La URL del servidor es la siguiente:
https://serverName/nl/jsp/soaprouter.jsp
Con <server>
el servidor de aplicaciones de Adobe Campaign (nlserver web).