2013-12-16 8 views
1

Хотелось бы получить не только размещенные транзакции, но и ожидающие от YODLEE REST API.Как получить отложенные транзакции от Yodlee API?

Представляется возможным в соответствии с Yodlee's documentation

Вот код:

transactions_url = "https://rest.developer.yodlee.com/services/srest/restserver/v1.0/jsonsdk/TransactionSearchService/executeUserSearchRequest" 
transactions_data = { 
    "cobSessionToken": self.cob_session_token, 
    "userSessionToken": self.user_session_token, 
    "transactionSearchRequest.containerType": "All", 
    "transactionSearchRequest.higherFetchLimit": 1000, 
    "transactionSearchRequest.lowerFetchLimit": 1, 
    "transactionSearchRequest.resultRange.endNumber": 20, 
    "transactionSearchRequest.resultRange.startNumber": 1, 
    "transactionSearchRequest.searchClients.clientId": 1, 
    "transactionSearchRequest.searchClients.clientName": "DataSearchService", 
    "transactionSearchRequest.ignoreUserInput": True, 
    "transactionSearchRequest.searchFilter.currencyCode": "USD", 
    "transactionSearchRequest.searchFilter.postDateRange.fromDate": "12-01-2013", 
    "transactionSearchRequest.searchFilter.postDateRange.toDate": "12-16-2013", 
    "transactionSearchRequest.searchFilter.transactionStatus": 2, 
    "transactionSearchRequest.searchFilter.transactionSplitType": "ALL_TRANSACTION", 
} 

res = requests.post(transactions_url, transactions_data) 

Отправка в копировально-валь пары "transactionSearchRequest.searchFilter.transactionStatus", 2 дает мне следующую ошибку:

{ 
    "errorOccured": "true", 
    "exceptionType": "Exception Occured", 
    "refrenceCode": "XXXXXXXXXXXX" 
} 

Любые идеи?

ответ

1

API возвращает все транзакции, присутствующие в учетной записи, которые включают как ожидающие, так и отправленные транзакции. Вы должны проверить статус транзакции в ответе, возвращенном вам, который будет отмечен как ожидающий или опубликованный. Следовательно, вам не нужно передать это явно, но если вы хотите получить только незавершенные транзакции пытаются передать параметр, как показано ниже

«transactionSearchRequest.searchFilter.transactionStatus.statusId» с идентификатором равным 2.

Пожалуйста, убедитесь, что учетная запись имеет ожидающую транзакцию, чтобы получить соответствующий ответ.

+1

Я никогда не видел ожидающих транзакций. Когда я просматриваю без какого-либо статуса транзакции в поисковом фильтре, я получаю транзакции. Если я добавлю «transactionStatus.statusId» и явно установил его в 1, я вернусь к транзакциям. Если я явно установил его равным 2, я ничего не получаю, и executeUserSearchRequest возвращает null вместо действительного идентификатора поиска. –

+1

Эй, Дэвид. Если у аккаунта есть транзакции в нашей БД, вы наверняка получите ожидающие транзакции для этой учетной записи.Попробуйте использовать учетную запись dag и отредактируйте xml, чтобы иметь отложенные изменения в ней, а затем добавьте эту учетную запись dag, а затем попробуйте вытащить транзакцию для созданного элемента itemAccountId. Вы должны иметь возможность получать незавершенные транзакции. Чтобы узнать больше о dag, проверьте это -https: //developer.yodlee.com/Indy_FinApp/Indy_FinApp_Knowledgebase/Sample_Data/Dummy_Account_Generator – Shreyans

+0

Спасибо, это сработало для меня, как только я добавил еще один банк, ожидающий транзакций в базе данных. Есть ли какая-либо документация, по которой банки включают ожидающие транзакции, а какие нет? –

1

FYI: Я в настоящее время работает тесты, чтобы получить сегодняшних сделок (у нас есть серьезные проблемы с этим), и, хотя я до сих пор не удалось успешно сделать это я могу успешно получить обратно сделки без подачи От и До даты, как paramteters. Не уверен, что это помогает кому-либо другому.

Мой тест также показывает, какие форматы можно получить положительный результат

«ММ-ДД-ГГГГ» PASS - получить результат правильно отформатированный поиска с транзакций

«гггг-дд-MMTHH: мм : ss.000Z "FAIL - формат, поставляемый поддержкой yodlee. *
"YYYY-MM-ДДTчч: мм: ss.000Z" FAIL - ISO эквивалент формата поставляемой поддержки Yodlee **
"YYYY-MM-ДДTчч: мм: SSZ" FAIL - стандартный формат ISO с помощью Z подразумевает UTC - нет миллисекунды **
"YYYY-MM-ДДTчч: мм: сс + 00: 00" не FAIL - ISO стандартного формата - нет Z - нет миллисекунды **

* возвращает
{ "searchIdentifier":{},"numberOfHits":0 }

** возвращается

{"errorOccurred":"true","exceptionType":"com.yodlee.core.IllegalArgumentValueException","referenceCode":"_d87c92ac-0eed-449e- 
a14d-7ac78443c2fe","message":"Invalid argument value: Start date cannot be great than end date"} 
+0

Выполнение обновления (jsonsdk/Refresh/startSiteRefresh) и опроса для состояния обновления (jsonsdk/Refresh/getSiteRefreshInfo), а также не использования параметров даты, которые я смог получить в ходе транзакций с использованием поиска выполнения. Это даже при том, что быстрая ссылка, созданная потребителем, должна получать транзакции дней. Кстати, это не связано с документами, которые говорят, что даты являются обязательными (очевидно, это не так), поэтому они могут изменить поведение службы, чтобы сделать ее изменением. – RhysC

+0

Вы могли получить сегодняшние транзакции или транзакции, которые были опубликованы сегодня? Кажется, что все они собраны вместе в партии, поэтому я получаю дни, у которых есть 0 и дни, у которых есть сотни. Wish transactionDate был параметром по умолчанию. – socca1157

+0

, мы смогли получить транзакции, но с большим успехом и всплыванием с поддержкой yodlee. Изменения были сделаны в их задней части, и я считаю, что они, наконец, признали, что их обработка часового пояса неверна. Я бы рекомендовал нанести удар по вашему персоналу поддержки, поскольку API (или, по крайней мере, внутренняя реализация), скорее всего, изменится, поскольку это было опубликовано – RhysC

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