Ir para o conteúdo

Funções do Salesforce no Jitterbit Integration Studio

As funções do Salesforce fornecem informações de login e sessão e consultas 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, obtida ao chamar SalesforceLogin
  • sessionId: O ID da sessão do Salesforce, obtido ao chamar 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 do endpoint 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 do seu endpoint do Salesforce por padrão. Você deve 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 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, 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: 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 utilizado, conforme descrito em Códigos de fuso horário. O padrão é o fuso horário do endpoint Salesforce.

Descrição

Faz login no Salesforce usando um endpoint Salesforce e recupera a hora do sistema atual do Salesforce.

O endpoint Salesforce utilizado nesta chamada de função deve ser definido como uma conexão Salesforce no projeto atual. Para mais informações, consulte as instruções sobre como inserir endpoints na seção Endpoints em Jitterbit Script.

A chamada de login é feita usando as credenciais no endpoint Salesforce especificado. O timestamp é retornado no formato yyyy-mm-dd HH:MM:SS, utilizando a configuração de fuso horário do seu endpoint 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 do seu endpoint 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 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

Faz login no Salesforce, usando o endpoint Salesforce especificado.

O endpoint Salesforce usado nesta chamada de função deve ser definido como uma conexão Salesforce no projeto atual. Para mais informações, veja as instruções sobre como inserir endpoints na seção Endpoints em Jitterbit Script.

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

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

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 atual
  • sessionID: Um ID de sessão Salesforce
  • serverURL: Uma URL de servidor Salesforce

Descrição

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

O endpoint Salesforce utilizado nesta chamada de função deve ser definido como uma conexão Salesforce no projeto atual. Para mais informações, consulte as instruções sobre como inserir endpoints na seção Endpoints 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 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 o endpoint Salesforce referenciado 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 Salesforce será utilizado.

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 atual**
  • soql: Uma consulta escrita na Linguagem de Consulta de Objetos 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.

O endpoint do Salesforce utilizado nesta chamada de função deve ser definido como uma conexão Salesforce no projeto atual. Para mais informações, consulte as instruções sobre como inserir endpoints na seção Endpoints em Jitterbit Script.

Os valores são armazenados em cache para que chamadas subsequentes com os mesmos parâmetros exatos (endpoint 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 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 em string para uma conexão Salesforce no projeto atual**
  • soql: Uma consulta escrita na Linguagem de Consulta de Objetos 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.

O endpoint do Salesforce utilizado nesta chamada de função deve ser definido como uma conexão Salesforce no projeto atual. Para mais informações, consulte as instruções sobre como inserir endpoints na seção Endpoints em Jitterbit Script.

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 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 em string para uma conexão Salesforce no projeto atual**
  • soql: Uma consulta escrita na Linguagem de Consulta de Objetos 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.

O endpoint do Salesforce utilizado nesta chamada de função deve ser definido como uma conexão Salesforce no projeto atual. Para mais informações, consulte as instruções sobre como inserir endpoints na seção Endpoints em Jitterbit Script.

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 usada:

  • Apenas relacionamentos imediatos podem ser recuperados. A consulta não pode incluir um relacionamento de neto.
  • Para cada registro de 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 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]["name"];
Exemplo 2
// 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]["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: Um caminho de referência de string para uma conexão Salesforce no projeto atual
  • soql: Uma consulta escrita na Linguagem de Consulta de Objetos Salesforce (SOQL)
  • targetID: Uma atividade de string associada a um endpoint 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 no endpoint Salesforce especificado. O endpoint Salesforce usado nesta chamada de função deve ser definido como uma conexão 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 Compartilhamento de Arquivos, FTP, HTTP, Armazenamento Local e Armazenamento Temporário.

Para mais informações, veja as instruções sobre como inserir endpoints na seção Endpoints em Jitterbit Script.

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 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>");
Exemplo 2
// 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>");