2015-09-23 4 views
1

Вот краткое описание того, что я пытаюсь сделать:PUT не обновляя Pipedrive API (Python обертка)

  • получить значение поля в
  • умножить это значение постоянной
  • обновить поле с скорректированным значением

Я использую хорошую обертку здесь: https://github.com/hiway/pipedrive-api

здесь мой код:

from pipedrive import Pipedrive 
pd = Pipedrive('API_token') 
        #^insert API token     
EAAR = pd.deals.get(id=693)  ## parse info from given deal/field 
Current_value = float(EAAR.value) ## convert value to decimal 
print 'Previous value was ', Current_value 

New_value = Current_value * 0.96 
print 'New Value is ', New_value 

pd.deals.put({ 
    id:693, 
    'value': New_value}) 

EAAR2 = pd.deals.get(id=693) 
print EAAR2.value 

Так ожидаемый результат будет:

>>>Previous value was 5.0 
>>>New Value is 4.8 
>>>4.8 

Однако, я получаю:

>>>Previous value was 5.0 
>>>New Value is 4.8 
>>>5 

Любые идеи, было бы весьма признателен!

+0

Какой код и контент статуса HTTP был возвращен из операции «PUT»? –

+0

Когда я включаю отладку, я получаю: 'send: 'GET/v1/deals/693? Api_token = [API_token] HTTP/1.1 \ r \ nHost: api.Pipedrive.com \ r \ nСоединение: keep-alive \ r \ nAccept-Encoding: gzip, deflate \ r \ nAccept: */* \ r \ nUser-Agent: python-requests/2.7.0 CPython/2.7.3 Windows/7 \ r \ n \ r \ n ' ответ: 'HTTP/1.1 200 OK \ r \ n' header: Сервер: nginx header: Дата: ср, 23 сен 2015 17:58:37 GMT header: Content-Type: application/json header: Кодирование: chunked header: Соединение: keep-alive header: X-Frame-Options: SAMEORIGIN header: X-XSS-Protection: 1; mode = block header: Access-Control-Allow-Origin: * ' ... – RobotLauren

+0

Уверен, что проблема связана с моей командой Json в строках 11-13, но я честно новичок в общении с API-интерфейсами, Я не уверен, что я хорошо знаю команду PUT или JSON? – RobotLauren

ответ

0

Конечно, это была проблема синтаксиса, найденная после обширной отладки. Новый код теперь появляется как это:

pd.deals.put(
    id=693, 
    data={ 
    "value":New_value}) 

Если изменение отражается путем перемещения идентификатора сделки вне поля данных.

0

Ваш пут, вероятно, не работает. в кавычках ID:

pd.deals.put ({ 'идентификатора': 693, 'значения': NEW_VALUE})

+0

Пробовал, что, Шон. Еще ничего :( – RobotLauren

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