Ir para o conteúdo

Funções do Salesforce no Jitterbit Design Studio

As funções do Salesforce fornecem informações de login e sessão, além de consultas para instâncias do Salesforce. Observe que as duas funções DataLoader estão obsoletas, podem ser removidas no futuro e funções substitutas são recomendadas.

FromDataLoaderDate

Declaração

date FromDataLoaderDate(string inputDate, string timeZoneId, bool isEuropeanFormat)

Sintaxe

FromDataLoaderDate(<inputDate>, <timeZoneId>, <isEuropeanFormat>)

Descrição

Converte uma data de entrada para o formato exigido pelo Salesforce.

Aviso

Este método foi obsoleto e pode ser removido em uma versão futura do Jitterbit. Use a função GetUTCFormattedDate em vez disso.

FromDataLoaderDateTime

Declaração

date FromDataLoaderDateTime(string inputDate, string timeZoneId, bool isEuropeanFormat

Sintaxe

FromDataLoaderDateTime(<inputDate>, <timeZoneId>, <isEuropeanFormat>)

Descrição

Converte uma data e hora de entrada para o formato exigido pelo Salesforce.

Aviso

Este método foi obsoleto e pode ser removido em uma versão futura do Jitterbit. Use a função GetUTCFormattedDateTime em vez disso.

GetSalesforceTimestamp

Declaração

string GetSalesforceTimestamp(string url, string sessionId[, string timeZoneId])

Sintaxe

GetSalesforceTimestamp(<url>, <sessionId>[, <timeZoneId>])

Parâmetros obrigatórios

  • url: A URL a ser usada ao chamar o Salesforce, a partir da chamada de SalesforceLogin
  • sessionId: O ID da sessão do Salesforce, a partir da chamada de SalesforceLogin

Parâmetros opcionais

  • timeZoneId: Um ID de fuso horário a ser usado, conforme descrito em Códigos de fuso horário. O padrão é o fuso horário da Org do Salesforce identificado pelo ID da sessão do Salesforce.

Descrição

Recupera a hora atual do sistema do Salesforce.

O timestamp é retornado no formato yyyy-mm-dd HH:MM:SS, utilizando a configuração de fuso horário da sua Org do Salesforce por padrão. É necessário ter feito login no Salesforce usando a função SalesforceLogin antes de usar esta função. A função retorna um valor nulo se a chamada falhar. Use a função GetLastError para recuperar a mensagem de erro nesse caso.

O terceiro argumento opcional pode ser usado para definir o fuso horário a ser utilizado. O fuso horário da sua Org do Salesforce é usado por padrão se um fuso horário não for fornecido. O argumento de fuso horário deve ser um fuso horário reconhecido pela classe TimeZone do Java.

Em um cenário comum, a função SalesforceLogin é chamada primeiro. A URL e o ID da sessão estão então disponíveis nessas variáveis globais:

  • $Salesforce.ServerUrl
  • $Salesforce.SessionId

Como alternativa a esta função, veja também a função LoginToSalesforceAndGetTimestamp.

Exemplos

// Start by logging into Salesforce
if(!SalesforceLogin("..."), RaiseError(GetLastError()));
timestamp = GetSalesforceTimestamp($Salesforce.ServerUrl,
    $Salesforce.SessionId);
// Check for any errors before proceeding further
if(IsNull(timestamp), RaiseError(GetLastError()));

// Retrieving the timestamp in UTC:
timestamp = GetSalesforceTimestamp($Salesforce.ServerUrl,
    $Salesforce.SessionId, "UTC");

// Retrieving the timestamp in Pacific Standard Time:
timestamp = GetSalesforceTimestamp($Salesforce.ServerUrl,
    $Salesforce.SessionId, "PST");

LoginToSalesforceAndGetTimeStamp

Declaração

string LoginToSalesforceAndGetTimestamp(string salesforceOrg[, string timeZoneId])

Sintaxe

LoginToSalesforceAndGetTimestamp(<salesforceOrg>[, <timeZoneId>])

Parâmetros obrigatórios

  • salesforceOrg: Uma Org do Salesforce no projeto atual

Parâmetros opcionais

  • timeZoneId: Um ID de fuso horário a ser utilizado, conforme descrito em Códigos de fuso horário. O padrão é o fuso horário da Org do Salesforce.

Descrição

Faz login no Salesforce usando uma Org do Salesforce e recupera a hora do sistema atual do Salesforce.

A Org do Salesforce utilizada nesta chamada de função deve ser definida como uma Org do Salesforce no projeto atual. Veja as instruções sobre inserindo itens do projeto.

A chamada de login é feita usando as credenciais na Org do Salesforce especificada. O timestamp é retornado no formato yyyy-mm-dd HH:MM:SS, utilizando a configuração de fuso horário da sua Org do Salesforce por padrão. A função retorna um valor nulo se a chamada falhar. Use a função GetLastError para recuperar a mensagem de erro nesse caso.

O argumento opcional pode ser usado para definir o fuso horário a ser utilizado. O fuso horário da sua Org do Salesforce é utilizado por padrão se um fuso horário não for fornecido. O argumento de fuso horário deve ser um fuso horário reconhecido pela classe TimeZone do Java.

Uma vez que esta função tenha sido chamada, a URL do Salesforce e o ID da sessão estão disponíveis nessas variáveis globais:

  • $Salesforce.ServerUrl
  • $Salesforce.SessionId

Como alternativa a esta função, veja também a função GetSalesforceTimestamp.

Exemplos

// Logs into Salesforce and retrieves the timestamp
timestamp = LoginToSalesforceAndGetTimestamp("<TAG>Salesforce Orgs/...");

// Check for any errors before proceeding further
if(IsNull(timestamp), RaiseError(GetLastError()));

// Retrieving the timestamp in UTC:
timestamp = LoginToSalesforceAndGetTimestamp("<TAG>Salesforce Orgs/...",
    "UTC");

// Retrieving the timestamp in Pacific Standard Time:
timestamp = LoginToSalesforceAndGetTimestamp("<TAG>Salesforce Orgs/...",
    "PST");

SalesforceLogin

Declaração

bool SalesforceLogin(string salesforceOrg)

Sintaxe

SalesforceLogin(<salesforceOrg>)

Parâmetros obrigatórios

  • salesforceOrg: Uma Org do Salesforce no projeto atual

Descrição

Faz login no Salesforce, usando a Org do Salesforce especificada.

A Org do Salesforce utilizada nesta chamada de função deve ser definida como uma Org do Salesforce no projeto atual. Veja as instruções sobre inserir itens do projeto.

Após um login bem-sucedido, essas variáveis globais serão definidas e podem ser usadas em scripts ou mapeamentos subsequentes:

  • $Salesforce.SessionID: O ID da sessão do Salesforce
  • $Salesforce.ServerURL: A URL a ser usada em chamadas subsequentes ao Salesforce na mesma sessão
  • $Salesforce.UserID: O ID do usuário do Salesforce

A função retorna verdadeiro se o login foi bem-sucedido e falso se o login falhou. Use a função GetLastError para recuperar a mensagem de erro nesse caso.

Nota

Os endpoints criados com esta função estão incluídos na reportagem de uso de endpoints e contam para sua licença.

Exemplos

// Logs into Salesforce
result = SalesforceLogin("<TAG>Salesforce Orgs/...</TAG>");

// Check for any errors before proceeding further
if(!result, RaiseError(GetLastError()));

SetSalesforceSession

Declaração

void SetSalesforceSession(string salesforceOrg, string sessionId, string serverURL)

Sintaxe

SetSalesforceSession(<salesforceOrg>, <sessionId>, <serverURL>)

Parâmetros obrigatórios

  • salesforceOrg: Uma Org do Salesforce no projeto atual
  • sessionID: Um ID de sessão do Salesforce
  • serverURL: Uma URL de servidor do Salesforce

Descrição

Define informações da sessão do Salesforce para a Org do Salesforce especificada. Use esta função se você tiver um ID de sessão do Salesforce e uma URL de servidor existentes. Chamar esta função desativará o login automático do Salesforce e usará as informações da sessão fornecidas.

A Org do Salesforce utilizada nesta chamada de função deve ser definida como uma Org do Salesforce no projeto atual. Veja as instruções sobre inserindo itens do projeto.

Após uma chamada de função bem-sucedida, essas variáveis globais serão definidas e podem ser usadas em scripts ou mapeamentos subsequentes:

  • $Salesforce.SessionID: O ID da sessão do Salesforce.
  • $Salesforce.ServerURL: A URL a ser usada em chamadas subsequentes ao Salesforce na mesma sessão.

Esta função não valida a entrada; ela falha apenas se o ID da sessão ou a URL do servidor estiverem vazios ou se a Org do Salesforce referenciada não existir. Se o ID da sessão ou a URL do servidor forem inválidos, operações subsequentes no Salesforce falharão.

Use a função Eval para capturar erros, chamando a função GetLastError para recuperar a mensagem de erro.

Aviso

É um problema conhecido que a função SetSalesforceSession não funciona corretamente e não deve ser usada. Se utilizada, o script pode ou não gerar um erro. Mesmo que o script não gere um erro, a função não funcionará corretamente. Como a função não funciona, o gerenciamento de sessão embutido do conector do Salesforce será utilizado.

Exemplos

// Sets the Salesforce session information
sfOrg = "<TAG>Salesforce Orgs/first.last@example.com</TAG>";
sfSessionID = "00D5...SE";
sfURL = "https://example.my.salesforce.com/services/Soap/u/39.0/...";
// Logs into Salesforce
Eval(SetSalesforceSession(sfOrg, sfSessionID, sfURL),
    RaiseError("Failed to set Salesforce session: " + GetLastError()));

SfCacheLookup

Declaração

string SfCacheLookup(string salesforceOrg, string soql)

Sintaxe

SfCacheLookup(<salesforceOrg>, <soql>)

Parâmetros obrigatórios

  • salesforceOrg: Uma Org do Salesforce no projeto atual
  • soql: Uma consulta escrita na Linguagem de Consulta de Objetos do Salesforce (SOQL)

Descrição

Faz login no Salesforce (se necessário) e recupera o resultado da consulta do Salesforce. Apenas o valor do primeiro campo do primeiro registro é retornado.

Os valores são armazenados em cache para que chamadas subsequentes com os mesmos parâmetros exatos (Org do Salesforce e SOQL) não acionem uma chamada ao Salesforce. O Salesforce é chamado apenas na primeira vez. O cache é válido durante a duração da cadeia de operações em que é chamado.

A função retorna null se o login falhar, a consulta não retornar registros ou a API falhar. Use a função GetLastError para recuperar a mensagem de erro nesse caso.

Exemplos

// Logs into Salesforce and retrieves the first result of a query
// If the query is cached, it uses the cached value
myId = SFCacheLookup("<TAG>Salesforce Orgs/...</TAG>",
    "SELECT Id FROM Account WHERE Name='My Account'");

// Checks for any errors before proceeding
if(IsNull(myId), RaiseError(GetLastError()));

SfLookup

Declaração

string SfLookup(string salesforceOrg, string soql)

Sintaxe

SfLookup(<salesforceOrg>, <soql>)

Parâmetros obrigatórios

  • salesforceOrg: Uma Org do Salesforce no projeto atual
  • soql: Uma consulta escrita na Linguagem de Consulta de Objetos do Salesforce (SOQL)

Descrição

Faz login no Salesforce (se necessário) e recupera o resultado da consulta do Salesforce. Apenas o valor do primeiro campo do primeiro registro é retornado.

A função retorna null se o login falhar, a consulta não retornar registros ou a API falhar. Use a função GetLastError para recuperar a mensagem de erro nesse caso.

Veja também as funções SFLookupAll e SFLookupAllToFile.

Exemplos

// Logs into Salesforce and retrieves the first result of a query
myId = SFLookup("<TAG>Salesforce Orgs/...</TAG>",
    "SELECT Id FROM Account WHERE Name='My Account'");

// Checks for any errors before proceeding
if(IsNull(myId), RaiseError(GetLastError()));

SfLookupAll

Declaração

array_2D SfLookupAll(string salesforceOrg, string soql)

Sintaxe

SfLookupAll(<salesforceOrg>, <soql>)

Parâmetros obrigatórios

  • salesforceOrg: Uma Org do Salesforce no projeto atual
  • soql: Uma consulta escrita na Linguagem de Consulta de Objetos do Salesforce (SOQL)

Descrição

Faz login no Salesforce (se necessário) e recupera o resultado da consulta do Salesforce. O array retornado é bidimensional; um array de registros, com cada registro sendo um array de campos nomeados.

A função retorna null se o login falhar, a consulta não retornar registros ou a API falhar. Use a função GetLastError para recuperar a mensagem de erro nesse caso.

Existem limitações se uma consulta de relacionamento for utilizada:

  • Apenas relacionamentos imediatos podem ser recuperados. A consulta não pode incluir um relacionamento de neto.
  • Para cada registro da consulta, cada filho não pode ter múltiplos registros.
  • Na declaração da consulta, os campos sob o mesmo filho devem ser agrupados.

Veja também as funções SFLookup e SFLookupAllToFile.

Exemplos

Exemplo 1
// Logs into Salesforce and retrieves the results of a query
records = SFLookupAll("<TAG>Salesforce Orgs/...</TAG>",
    "SELECT Id,Name FROM Account");
firstId = records[0][0];
firstAccountName = records[0]["name"];
Exemplo 2
// Logs into Salesforce and retrieves the results of a query
soql = "SELECT Id,Name,CreatedBy.ContactId,
    CreatedBy.FirstName,CreatedBy.LastName FROM Account";
rs = SfLookupAll("<TAG>Salesforce Orgs/...</TAG>", soql);
firstId = rs[0][0];
firstAccountName = rs[0]["name"];
lastName = rs[0]["CreatedBy.LastName"];
// or using an index:
last_name = rs[0][5];

SfLookupAllToFile

Declaração

int SfLookupAllToFile(string salesforceOrg, string soql, string targetId)

Sintaxe

SfLookupAllToFile(<salesforceOrg>, <soql>, <targetId>)

Parâmetros obrigatórios

  • salesforceOrg: Uma Org do Salesforce no projeto atual
  • soql: Uma consulta escrita em Salesforce Object Query Language (SOQL)
  • targetID: Alvo do tipo arquivo no projeto atual

Descrição

Faz login no Salesforce (se necessário) e grava os resultados da consulta do Salesforce em um arquivo CSV. A função retorna o número de registros recuperados.

A chamada de login é feita usando as credenciais na Org do Salesforce especificada.

O alvo do tipo arquivo utilizado nesta chamada de função deve ser definido como um alvo no projeto atual. Veja as instruções sobre inserir itens do projeto.

A função retorna null se o login falhar, a consulta não retornar registros ou a API falhar. Use a função GetLastError para recuperar a mensagem de erro nesse caso.

Veja também as funções SFLookup e SFLookupAll.

Exemplos

Exemplo 1
// Logs into Salesforce,
// retrieves the results of a query,
// and writes the results to a target
nrec = SFLookupAllToFile("<TAG>Salesforce Orgs/...</TAG>",
    "SELECT Id,Name FROM Account",
    "<TAG>Targets/...</TAG>");
Exemplo 2
// Logs into Salesforce,
// retrieves the results of a query
// specified in a local variable,
// and writes the results to a target
soql = "SELECT Id,Name,CreatedBy.ContactId,
    CreatedBy.FirstName,CreatedBy.LastName FROM Account";
nrec = SfLookupAllToFile("<TAG>Salesforce Orgs/...</TAG>",
    soql, "<TAG>Targets/...</TAG>");