2016-02-16 1 views
2

Я использую Ruby on Rails 4.2.5 с камнем Restforce для API Salesforce. Я создаю Contact в моем контроллере:Создайте объект с отношениями в Salesforce с Restforce using Rails

class CandidateFormController < ApplicationController 


    def index 
    client = Restforce.new(
     :username => ENV['SALESFORCE_USERNAME'], 
     :password  => ENV['SALESFORCE_MDP'], 
     :security_token => ENV['SALESFORCE_TOKEN'], 
     :client_id  => ENV['SALESFORCE_APIKEY'], 
     :client_secret => ENV['SALESFORCE_SECRET'], 
    ) 

    new_client = client.create('Contact', FirstName: @first_name, 
     LastName: @last_name, 
     Email: @email, 
     MobilePhone: @telephone, 
     Description: @champ_libre, 
     Profil_LinkedIN__c: @linkedin 
    ) 

    end 

end 

У меня есть отношения между двумя из моих таблиц. Candidate связан с Opportunity (предложение о работе, если вы предпочитаете), а restforce documentation не объясняет, как создать новую запись с отношением между двумя элементами, или, если это так, я недостаточно экспериментировал, чтобы понять, как я должен был это сделать.

У меня недостаточно кредитов для скриншотов, но если это необходимо, я могу использовать imgur или что-то в этом роде.

P.S: Я уже вижу this post по этому вопросу, но это мне совсем не помогло.

ответ

1

Ну, после еще одного часа исследований я наконец нашел, как создать отношения в salesforce.

Мой код будет выглядеть так:

class CandidateFormController < ApplicationController 


    def index 
    client = Restforce.new(
     :username => ENV['SALESFORCE_USERNAME'], 
     :password  => ENV['SALESFORCE_MDP'], 
     :security_token => ENV['SALESFORCE_TOKEN'], 
     :client_id  => ENV['SALESFORCE_APIKEY'], 
     :client_secret => ENV['SALESFORCE_SECRET'], 
    ) 

    new_client = client.create('Contact', FirstName: @first_name, 
     LastName: @last_name, 
     Email: @email, 
     MobilePhone: @telephone, 
     Description: @champ_libre, 
     Profil_LinkedIN__c: @linkedin 
    ) 

    new_candidature = client.create(
    'Candidatures__c', 
    Candidats__c: "someId", 
    Offredemploi__c: new_client 
)  

    end 

end 

В моем случае, я хотел бы создать взаимосвязь между возможностей и Контакты (предложение о работе и кандидата). Я больше смотрю в поля, которые уже были созданы и заполнены для возможностей и контактов в моей учетной записи salesforce, и выясните, что не было поля, которое соответствовало бы отношениям, которые я искал.

Я обнаружил, что в salesforce есть объекты, которые существуют только для соединения между двумя объектами, и они называются «Junction Object» (довольно очевидный, но нелегко найти).

Вы просто должны создать новый объект Salesforce с create() после создания первого элемента (Контакт для меня) и создать объект перехода с хорошим типом (для меня это было Candidatures__c), и указать два вида отношений: ,

В моем собственном коде я создаю новый Candidature__c, я указать идентификатор предложения о работе (Candidats__c ID) и идентификатор кандидата в Offredemploi__c с Id я создаю несколько строк выше.

Надеюсь, это поможет.

Смежные вопросы