2016-08-25 24 views
0

私はREST APIを使用してJoomlaフォームをSalesforceに接続しています。PHPとCURLを使用してテーブルにレコードを追加するにはどうすればよいですか?

私は正常に認証され、クエリを作成し、既存のレコードを更新しました。

ただし、レコードを追加しようとすると結果はありません。

私が持っているコードは、このです:

<?php 

// 
// test add of a Contact 
// 

$data3 = array ('FirstName' => 'John', 
          'LastName' => 'Testing', 
          'Name' => 'John Testing'); 

$data3_param = json_encode ($data3, true); 

$form->data['data3'] = $data3; 

$bearer = "Authorization : Bearer ".$form->data['access']; 

$hdrfields = array(); 
$hdrfields[] = $bearer; 
$hdrfields[] = "Content-Type: application/json";     

$url = "https://ap4.salesforce.com/services/data/v".$form->data['latestversion']; 

$e = "/sobjects/Contact/"; 

$url2 = $url.$e; 

$ch = curl_init(); 
curl_setopt($ch, CURLOPT_URL, $url2); 
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE); 
curl_setopt($ch, CURLOPT_HTTPHEADER, $hdrfields); 
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'POST'); 
curl_setopt($ch, CURLOPT_POSTFIELDS, $data3_param); 
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); 
$response3 = curl_exec($ch); 
curl_close($ch); 

$form->data['response3'] = $response3; 

?> 

URLにはレコードIDが存在しないことを除いだから、このコードはレコードの更新に似ています。私が見る限り、それはドキュメンテーションに従いますが、明らかに何か間違っています。 3つのフィールドは、レコードを追加するテーブルの必須フィールドです。

誰かが私が間違っていることを見ることができたら幸いです。ユーザー・エラー -

ティム

問題解決、ありがとうございました。謝罪いたします。

答えて

0

縫い目は必須フィールドを忘れてしまった - AccountId。 salesforceでは、各連絡先がいくつかのアカウントにリンクしています。ところで、「名前」フィールドは必須ではなく、姓と名の連結としてSFで計算されます。

関連する問題