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 deSalesforceLogin
sessionId
: O ID da sessão do Salesforce, a partir da chamada deSalesforceLogin
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 atualsessionID
: Um ID de sessão do SalesforceserverURL
: 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 atualsoql
: 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 atualsoql
: 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 atualsoql
: 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
// 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"];
// 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 atualsoql
: 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
// 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>");
// 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>");