Sobre serviços da Web about-web-services

Definição de APIs do Adobe Campaign definition-of-adobe-campaign-apis

O servidor de aplicativos Adobe Campaign foi projetado para oferecer abertura e fácil integração com sistemas de informações da empresa cada vez mais diversos e complexos.

As APIs do Adobe Campaign são usadas no JavaScript dentro do aplicativo e no SOAP fora dele. Eles compõem uma biblioteca de funções genéricas que podem ser enriquecidas. Para obter mais informações, consulte Implementação de métodos SOAP.

IMPORTANT
O número de Chamadas do Engine autorizadas por dia varia de acordo com o contrato de licença. Para obter mais informações, consulte esta página.
Uma lista de todas as APIs, incluindo sua descrição completa, está disponível em [esta documentação dedicada]https://experienceleague.adobe.com/developer/campaign-api/api/index.html?lang=pt-BR.

Pré-requisitos prerequisites

Antes de usar as APIs do Adobe Campaign, você precisa se familiarizar com os seguintes tópicos:

  • Javascript
  • Protocolo SOAP
  • Modelo de dados do Adobe Campaign

Uso de APIs do Adobe Campaign using-adobe-campaign-apis

O Adobe Campaign usa dois tipos de APIs:

Para desenvolver APIs e interagir com o Adobe Campaign, você precisa se familiarizar com o seu modelo de dados. O Adobe Campaign permite gerar uma descrição completa da base. Consulte Descrição do modelo.

Chamadas SOAP soap-calls

O protocolo SOAP permite chamar métodos de API, por meio do cliente avançado, aplicativos de terceiros usando serviços da Web ou JSP usando esses métodos nativamente.

A estrutura de uma mensagem SOAP é a seguinte:

  • um envelope que define a estrutura da mensagem,
  • um cabeçalho opcional,
  • um corpo contendo as informações sobre a chamada e a resposta,
  • gerenciamento de erros que define a condição de erro.

Recursos e intercâmbios resources-and-exchanges

O schema a seguir mostra os vários recursos envolvidos no uso das APIs do Adobe Campaign:

Exemplo de mensagem SOAP no método 'ExecuteQuery' example-of-a-soap-message-on-the--executequery--method--

Neste exemplo, uma consulta SOAP chama o método "ExecuteQuery", que usa uma cadeia de caracteres como parâmetro para autenticação (token de sessão) e um conteúdo XML para a descrição da consulta a ser executada.

Para obter mais informações, consulte ExecuteQuery (xtk:queryDef).

NOTE
A descrição WSDL deste serviço está completa no exemplo mostrado aqui: Descrição do serviço Web: WSDL.

consulta SOAP soap-query

<?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>

A variável <soap-env:envelope> element é o primeiro elemento da mensagem que representa o envelope SOAP.

A variável <soap-env:body> element é o primeiro elemento filho do envelope. Ela contém a descrição da mensagem, ou seja, o conteúdo da query ou da resposta.

O método a ser chamado é inserido no campo <executequery> elemento do corpo da mensagem SOAP.

No SOAP, os parâmetros são reconhecidos por ordem de aparência. O primeiro parâmetro, <__sessiontoken>, utiliza a cadeia de autenticação, o segundo parâmetro é a descrição XML da consulta do <querydef> elemento.

Resposta SOAP soap-response

<?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>

O resultado da consulta é inserido no campo <pdomoutput> elemento.

Gerenciamento de erros error-management

Exemplo de resposta de erro 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>

A variável <soap-env:fault> O elemento no corpo da mensagem SOAP é usado para transmitir os sinais de erro que surgem durante o processamento do serviço Web. Ele é composto pelos seguintes subelementos:

  • <faultcode> : indica o tipo de erro. Os tipos de erro são:

    • "VersionMismatch" em caso de incompatibilidade com a versão SOAP usada,
    • "MustUnderstand" no caso de um problema no cabeçalho da mensagem,
    • "Client" caso faltem algumas informações ao cliente,
    • "Server" caso o servidor tenha um problema ao executar o processamento.
  • <faultstring> : mensagem que descreve o erro

  • <detail> : mensagem de erro longa

O sucesso ou falha da invocação do serviço é identificado quando a variável <faultcode> elemento é verificado.

IMPORTANT
Todos os serviços da Web da Adobe Campaign identificam erros. Portanto, é altamente recomendável testar cada chamada para lidar com os erros retornados.

Exemplo de tratamento de erros em 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);
}

URL do servidor de serviços Web (ou EndPoint) url-of-web-service-server--or-endpoint-

Para enviar o serviço da Web, entre em contato com o servidor do Adobe Campaign que implementa o método de serviço correspondente.

O URL do servidor é o seguinte:

https://serverName/nl/jsp/soaprouter.jsp

Com <server> o servidor de aplicativos Adobe Campaign (nlserver web).

recommendation-more-help
601d79c3-e613-4db3-889a-ae959cd9e3e1