2016-05-29 60 views
1

我正在使用HTTParty Gem將數據發送到SugarCRM API。使用HTTParty發送數組Gem

我成功地通過API進行了身份驗證,現在我正在通過向API發佈數據來創建一個潛在客戶。

我打時,試圖發送儘管name_value_pair領域,這是應該被這樣送糖的CRM文檔凹凸 -

"name_value_list" => array(
    array(
     'name' => 'last_name', 
     'value' => 'Victor', 
    ), 

    array(
     'name' => 'phone_mobile', 
     'value' => ‘9999999999’ 
    ), 
), 

試圖將此轉化爲紅寶石,我得到這個作爲我請求 -

response2 = HTTParty.post(base_uri, 
     body: { 
      method: "set_entry", 
      input_type: "JSON", 
      response_type: "JSON", 
      rest_data: { 
      session: session_id, 
      module_name: 'Leads', 
      name_value_list: 
       [ 
       [ 
        'name', 'last_name' 
       ], 
       [ 
        'value', 'Victor' 
       ], 
       ] 
      }.to_json 
     }, 
     debug_output: $stdout 
    ) 

但是,CRM API返回500錯誤。我怎樣才能構建這個數組數據,以便它模仿了PHP文件爲name_value_list

回答

0

我看着http://www.w3schools.com/php/php_arrays.asp ,在「Associative Arrays」中,我認爲你所使用的PHP正在將鍵/值對變成散列而不是數組。所以我建議嘗試此:

name_value_list: 
    [ 
     { 
     'name' => 'last_name', 
     'value' => 'Victor' 
     }, 
    ] 

(唯一的變化是,內方括號將轉換爲大括號)

0

試試原始字符串轉換爲HTTParty的一個,因爲它是,即:

name_value_list: 
    [ 
     [ 
     'name' => 'last_name', 
     'value' => 'Victor' 
     ], 
    ] 
+0

我試過,但還是無濟於事:(這是發送的JSON對象 - ' {「session」:「lf4kit2mt7c964ba3eqiok5k34」,「module_name」:「Leads」,「name_value_list」:[[「name」,「last_name」],[「value」,「Victor」]]}' –

+0

@MichaelVictor whch JSON objkect需要嗎? –