Funções do Salesforce no Jitterbit Integration Studio
As funções do Salesforce fornecem informações de login e sessão, além de pesquisas para instâncias do Salesforce.
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, de chamarSalesforceLogin
sessionId
: O ID da sessão do Salesforce, da chamadaSalesforceLogin
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 do endpoint do Salesforce identificado pelo ID da sessão do Salesforce.
Descrição
Recupera a hora atual do sistema do Salesforce.
O registro de data e hora é retornado no formato yyyy-mm-dd HH:MM:SS
, usando a configuração de fuso horário do seu endpoint do Salesforce por padrão. Você deve ter efetuado login no Salesforce usando o SalesforceLogin
função antes de usar esta função. A função retorna um valor nulo se a chamada falhar. Use o GetLastError
função para recuperar a mensagem de erro nesse caso.
O terceiro argumento opcional pode ser usado para definir o fuso horário a ser usado. O fuso horário do seu endpoint 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, o SalesforceLogin
a função é chamada primeiro. A URL e a ID da sessão ficam então disponíveis nessas variáveis globais:
$Salesforce.ServerUrl
$Salesforce.SessionId
Como alternativa a esta função, veja também o LoginToSalesforceAndGetTimestamp
função.
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
: Um caminho de referência de string para uma conexão Salesforce no projeto atual
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 do endpoint do Salesforce.
Descrição
Efetua login no Salesforce usando um endpoint do Salesforce e recupera a hora atual do sistema do Salesforce.
O endpoint do Salesforce usado nesta chamada de função deve ser definido como uma conexão do Salesforce no projeto atual. Para obter mais informações, consulte as instruções sobre como inserir endpoints em Endpoints seção em Jitterbit Script.
A chamada de login é feita usando as credenciais no endpoint especificado do Salesforce. O timestamp é retornado no formato yyyy-mm-dd HH:MM:SS
, usando a configuração de fuso horário do seu endpoint do Salesforce por padrão. A função retorna um valor nulo se a chamada falhar. Use o GetLastError
função para recuperar a mensagem de erro nesse caso.
O argumento opcional pode ser usado para definir o fuso horário a ser usado. O fuso horário do seu endpoint 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.
Depois que essa função for chamada, o URL e o ID da sessão do Salesforce estarão disponíveis nestas variáveis globais:
$Salesforce.ServerUrl
$Salesforce.SessionId
Como alternativa a esta função, veja também o GetSalesforceTimestamp
função.
Exemplos
// Logs in to Salesforce and retrieves the timestamp
timestamp = LoginToSalesforceAndGetTimestamp("<TAG>endpoint:salesforce/Salesforce</TAG>");
// Check for any errors before proceeding further
if(IsNull(timestamp), RaiseError(GetLastError()));
// Retrieving the timestamp in UTC:
timestamp = LoginToSalesforceAndGetTimestamp("<TAG>endpoint:salesforce/Salesforce</TAG>", "UTC");
// Retrieving the timestamp in Pacific Standard Time:
timestamp = LoginToSalesforceAndGetTimestamp("<TAG>endpoint:salesforce/Salesforce</TAG>", "PST");
SalesforceLogin
Declaração
bool SalesforceLogin(string salesforceOrg)
Sintaxe
SalesforceLogin(<salesforceOrg>)
Parâmetros obrigatórios
salesforceOrg
: Um caminho de referência de string para uma conexão Salesforce no projeto atual
Descrição
Efetua login no Salesforce usando o endpoint especificado do Salesforce.
O endpoint do Salesforce usado nesta chamada de função deve ser definido como uma conexão do Salesforce no projeto atual. Para obter mais informações, consulte as instruções sobre como inserir endpoints em Endpoints seção em Jitterbit Script.
Após um login bem-sucedido, essas variáveis globais serão definidas e poderão 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 para o Salesforce na mesma sessão$Salesforce.UserID
: O ID do usuário do Salesforce
A função retorna true se o login foi bem-sucedido e false se o login falhou. Use o GetLastError
função para recuperar a mensagem de erro nesse caso.
Exemplos
// Logs in to Salesforce
result = SalesforceLogin("<TAG>endpoint:salesforce/Salesforce</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
: Um caminho de referência de string para uma conexão Salesforce no projeto atualsessionID
: Uma ID de sessão do SalesforceserverURL
: Uma URL do servidor Salesforce
Descrição
Define informações de sessão do Salesforce para o endpoint especificado do Salesforce. Use esta função se você tiver um ID de sessão do Salesforce e uma URL de servidor existentes. Chamar esta função desabilitará o login automático do Salesforce e, em vez disso, usará as informações de sessão fornecidas.
O endpoint do Salesforce usado nesta chamada de função deve ser definido como uma conexão do Salesforce no projeto atual. Para obter mais informações, consulte as instruções sobre como inserir endpoints em Endpoints seção em Jitterbit Script.
Após uma chamada de função bem-sucedida, essas variáveis globais serão definidas e poderão 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 para o Salesforce na mesma sessão.
Esta função não valida a entrada; ela falha somente se o ID da sessão ou a URL do servidor estiverem vazios ou se o endpoint referenciado do Salesforce não existir. Se o ID da sessão ou a URL do servidor forem inválidos, as operações subsequentes do Salesforce falharão.
Use o Eval
função para capturar erros, chamando o GetLastError
função para recuperar a mensagem de erro.
Aviso
É um problema conhecido que o SetSalesforceSession
a função não funciona corretamente e não deve ser usada. Se usado, 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 tratamento de sessão integrado do conector Salesforce será usado.
Exemplos
// Sets the Salesforce session information
sfOrg = "<TAG>endpoint:salesforce/Salesforce</TAG>";
sfSessionID = "00D5...SE";
sfURL = "https://example.my.salesforce.com/services/Soap/u/39.0/...";
// Logs in to 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
: **Um caminho de referência de string para uma conexão Salesforce no projeto atualsoql
: Uma consultar escrita em Salesforce Object Query Language (SOQL)
Descrição
Efetua login no Salesforce (se necessário) e recupera o resultado da consultar do Salesforce. Somente o valor do primeiro campo do primeiro registro é retornado.
O endpoint do Salesforce usado nesta chamada de função deve ser definido como uma conexão do Salesforce no projeto atual. Para obter mais informações, consulte as instruções sobre como inserir endpoints em Endpoints seção em Jitterbit Script.
Os valores são armazenados em cache para que chamadas subsequentes com os mesmos parâmetros exatos (Salesforce endpoint e SOQL) não acionem uma chamada para Salesforce. Salesforce é chamado apenas na primeira vez. O cache é válido pela duração da cadeia de operação em que é chamado.
A função retorna null
se o login falhar, a consultar não retornará nenhum registro ou a API falhará. Use o GetLastError
função para recuperar a mensagem de erro nesse caso.
Exemplos
// Logs in to Salesforce and retrieves the first result of a query
// If the query is cached, it uses the cached value
myId = SFCacheLookup("<TAG>endpoint:salesforce/Salesforce</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
: Um caminho de referência de string para uma conexão Salesforce no projeto atual**soql
: Uma consultar escrita em Salesforce Object Query Language (SOQL)
Descrição
Efetua login no Salesforce (se necessário) e recupera o resultado da consultar do Salesforce. Somente o valor do primeiro campo do primeiro registro é retornado.
O endpoint do Salesforce usado nesta chamada de função deve ser definido como uma conexão do Salesforce no projeto atual. Para obter mais informações, consulte as instruções sobre como inserir endpoints em Endpoints seção em Jitterbit Script.
A função retorna null
se o login falhar, a consultar não retornará nenhum registro ou a API falhará. Use o GetLastError
função para recuperar a mensagem de erro nesse caso.
Veja também o SFLookupAll
e SFLookupAllToFile
funções.
Exemplos
// Logs in to Salesforce and retrieves the first result of a query
myId = SFLookup("<TAG>endpoint:salesforce/Salesforce</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
: Um caminho de referência de string para uma conexão Salesforce no projeto atual**soql
: Uma consultar escrita em Salesforce Object Query Language (SOQL)
Descrição
Efetua login no Salesforce (se necessário) e recupera o resultado da consultar do Salesforce. O array retornado é bidimensional; um array de registros, com cada registro um array de campos nomeados.
O endpoint do Salesforce usado nesta chamada de função deve ser definido como uma conexão do Salesforce no projeto atual. Para obter mais informações, consulte as instruções sobre como inserir endpoints em Endpoints seção em Jitterbit Script.
A função retorna null
se o login falhar, a consultar não retornará nenhum registro ou a API falhará. Use o GetLastError
função para recuperar a mensagem de erro nesse caso.
Há limitações se uma consultar de relacionamento for usada:
- Somente o relacionamento imediato pode ser recuperado. A consultar não pode incluir um relacionamento de neto.
- Para cada registro de consultar, cada filho não pode ter vários registros.
- Na instrução de consultar, os campos sob o mesmo filho devem ser agrupados.
Veja também o SFLookup
e SFLookupAllToFile
funções.
Exemplos
// Logs in to Salesforce and retrieves the results of a query
records = SFLookupAll("<TAG>endpoint:salesforce/Salesforce</TAG>",
"SELECT Id,Name FROM Account");
firstId = records[0][0];
firstAccountName = records[0]["nome"];
// Logs in to Salesforce and retrieves the results of a query
soql = "SELECT Id,Name,CreatedBy.ContactId,
CreatedBy.FirstName,CreatedBy.LastName FROM Account";
rs = SfLookupAll("<TAG>endpoint:salesforce/Salesforce</TAG>", soql);
firstId = rs[0][0];
firstAccountName = rs[0]["nome"];
lastName = rs[0]["CriadoPor.Sobrenome"];
// 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
: Um caminho de referência de string para uma conexão Salesforce no projeto atualsoql
: Uma consultar escrita em Salesforce Object Query Language (SOQL)targetID
: Uma atividade de string associada a um endpoint do tipo arquivo no projeto atual
Descrição
Efetua login no Salesforce (se necessário) e grava os resultados do Salesforce da consultar em um arquivo CSV. A função retorna o número de registros recuperados.
A chamada de login é feita usando as credenciais no endpoint especificado do Salesforce. O endpoint do Salesforce usado nesta chamada de função deve ser definido como uma conexão do Salesforce no projeto atual.
O alvo usado nesta chamada de função deve ser definido como uma atividade associada a um endpoint do tipo arquivo no projeto atual. Isso inclui atividades configuradas de File Share, FTP, HTTP, Local Storage e Temporary Storage.
Para obter mais informações, consulte as instruções sobre como inserir endpoints em Endpoints seção em Jitterbit Script.
A função retorna null
se o login falhar, a consultar não retornará nenhum registro ou a API falhará. Use o GetLastError
função para recuperar a mensagem de erro nesse caso.
Veja também o SFLookup
e SFLookupAll
funções.
Exemplos
// Logs in to Salesforce,
// retrieves the results of a query,
// and writes the results to a target
nrec = SFLookupAllToFile("<TAG>endpoint:salesforce/Salesforce</TAG>",
"SELECT Id,Name FROM Account",
"<TAG>activity:/...</TAG>");
// Logs in to 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>endpoint:salesforce/Salesforce</TAG>",
soql, "<TAG>activity:/...</TAG>");