Ir para o conteúdo

Funções do Salesforce

As funções do Salesforce fornecem informações de login e sessão e 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: O URL a ser usado ao chamar o Salesforce, da chamada SalesforceLogin
  • sessionId: O ID da sessão do Salesforce, da chamada 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, usando a configuração de fuso horário do endpoint do Salesforce por padrão. Você deve estar conectado ao 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 GetLastErrorfunçã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 endpoint do Salesforce será usado por padrão se um fuso horário não for fornecido. O argumento fuso horário deve ser um fuso horário reconhecido pela classe TimeZone.

Num cenário comum, o SalesforceLogin a função é chamada primeiro. O URL e o ID da sessão estarão disponíveis nestas variáveis globais:

  • $Salesforce.ServerUrl
  • $Salesforce.SessionId

Como alternativa a esta função, consulte 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 do 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 no 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 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 endpoint do Salesforce será usado por padrão se um fuso horário não for fornecido. O argumento fuso horário deve ser um fuso horário reconhecido pela classe TimeZone.

Depois que essa função for chamada, o URL do Salesforce e o ID da sessão estarão disponíveis nestas variáveis globais:

  • $Salesforce.ServerUrl
  • $Salesforce.SessionId

Como alternativa a esta função, consulte 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 do 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 terão sido definidas e poderão ser usadas em scripts ou mapeamentos subsequentes:

  • $Salesforce.SessionID: O ID da sessão do Salesforce
  • $Salesforce.ServerURL: O URL a ser usado em chamadas subsequentes para o 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 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 do Salesforce no projeto atual
  • sessionID: Um ID de sessão do Salesforce
  • serverURL: Um 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 um URL de servidor existentes. Chamar esta função desabilitará o login automático do Salesforce e 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 terão sido definidas e poderão ser usadas em scripts ou mapeamentos subsequentes:

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

Esta função não valida a entrada; ele só falhará se o ID da sessão ou o URL do servidor estiverem vazios ou se o endpoint do Salesforce referenciado não existir. Se o ID da sessão ou o 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 erro, a função não funcionará corretamente. Como a função não funciona, será usada a manipulação de sessão integrada do conector Salesforce.

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 do 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 no 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 ( endpoint do Salesforce e SOQL) não acionem uma chamada para o Salesforce. O Salesforce é chamado apenas na primeira vez.

A função retorna null se o login falhar, a consultar não retornará registros 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 do 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 no 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á registros 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 do 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 no Salesforce. A matriz retornada é bidimensional; uma matriz de registros, sendo cada registro uma matriz 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á registros ou a API falhará. Use o GetLastError função para recuperar a mensagem de erro nesse caso.

Existem 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 da consultar, os campos do mesmo filho devem ser agrupados.

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

Exemplos

Example 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]["nome"];
Example 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]["nome"];
lastName = rs[0]["Criado por.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 do Salesforce no projeto atual
  • soql: Uma consultar escrita em Salesforce Object Query Language (SOQL)
  • targetID: Uma atividade de string associada a um endpoint de tipo de arquivo no projeto atual

Descrição

Efetua login no Salesforce (se necessário) e grava os resultados da consultar 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 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 destino usado nesta chamada de função deve ser definido como uma atividade associada a um endpoint de tipo de arquivo no projeto atual. Isso inclui atividades configuradas de compartilhamento de arquivos, FTP, HTTP, armazenamento local e armazenamento temporário.

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á registros 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

Example 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>");
Example 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>");