Get transaction by item account id - yodlee

Hi I am using rest api to access yodlee aggregation services. i am not able to search transaction by item account id. My rest query is as follows
parameters = {
'transactionSearchRequest.searchFilter.itemAcctId'=>itemId,
'cobSessionToken'=>cobSessionToken,
'userSessionToken'=>userSessionToken,
'transactionSearchRequest.containerType'=>con_name,
'transactionSearchRequest.lowerFetchLimit'=>0,
'transactionSearchRequest.resultRange.endNumber'=>500,
'transactionSearchRequest.higherFetchLimit'=>500,
'transactionSearchRequest.resultRange.startNumber'=>1,
'transactionSearchRequest.ignoreUserInput'=>'true',
'transactionSearchRequest.searchFilter.transactionSplitType.splitType'=>"A"
}
The response is always all the transactions for the user instead of transactions for a particular item account id.
Any help is appreciated

You are passing ItemId but the parameter passed should be ItemAccoutnId.
Difference between ItemId and ItemAccountId -
when you link a site say "Citibank" then an itemId is created and then say you have a saving and a checking account under Citibank then both these accounts will have an unique identifier called itemAccountId.
Hence the transaction search takes itemAccountId as the parameter and will return transaction only for that account.
Please use below API to get ItemAccountId and pass it to the transaction Search.
https://developer.yodlee.com/Aggregation_API/Aggregation_Services_Guide/Aggregation_REST_API_Reference/getItemSummaryForItem1

Related

Getting store id from ebay api

I can get orders of any users using oauth2 via ebay api. When users authorize our app to connect and get his orders , I add a new record including access key and refresh token to my db . But when this user re-authorize our app , a new record which is identical with the previous one is added. How can I get identifier like storeId in ebay api. Store name can be retrieved via GetStore but it can be changed by shop owner, so I think it can not be identifier
Use empty GetUser call.
As mention in Docs:
UserID - Specify the user whose data you want returned by the call. If not specified, eBay returns data pertaining to the requesting user (as specified with the eBayAuthToken value).

Retrieve customer related to payment

Anyone know if it's possible to retrieve the customer name related to a transaction from the API?
I see it under "Paid by" if I follow the "payment_url" in the connect v1 https://connect.squareup.com/v1/{{location_id}}/payments/{{payment_id}} endpoint but can't see to find it anywhere else
Background: I'm working on a ticketing system that breaks out items by item_category so a kitchen gets only food items and the bar gets only drink items.
I have queues and itemized tickets by category BUT I can't seem to find the customer's name anywhere
You'll need to utilize the V2 Transactions API. When you call ListTransactions or RetrieveTransaction (ListTransactions), the Transaction object will have an array of Tenders, tenders, which has a field called customer_id. With this id, you will be able to pass it to RetrieveCustomer (RetrieveCustomer) to find out their name. Note that if you're not explicitly filling out their name, the name might not be available (an "instant profile" (Instant Profiles) will be created with whatever information can be retrieve from the card used to pay).
Update: Alternatively, as suggested by #Dan, would be to strip the payment_url from a V1 RetrievePayment (RetrievePayment) which includes the transaction_id at the end of the URL: https://squareup.com/dashboard/sales/transactions/TRANSACTION_ID. This is more efficient as you won't need to loop through transactions, and allow you to send it straight to RetrieveTransaction.

Is it possible to retrive the 'account' associated with a xero bank transaction

I'm using Xero's private API to export bank transactions (so I can automate a bunch of financial reporting).
Retrieving the transactions works well (as documented here https://developer.xero.com/documentation/api/banktransactions) but this endpoint doesn't return the account field associated with each transaction, which I want to use to group the transactions into e.g. "Cost of sale", "Operating expenses" and so on.
Does anyone know of a way to find the account for a given transaction via the API?
Further info:
If the transaction contains line items, then the account associated with each line item is returned by the endpoint above. I'm mostly interested in transactions that do not include line items (the LineItems field is an empty array)
Most of the transactions i'm working with are of the "Spend Money" type
I'm currently using pyxero SDK, but open to other options
The account field is present in Xero's web interface, and on the CSV export available from the web interface.
Our contacts in Xero don't have default accounts.
It is the LineItems of Bank Transactions that have AccountCodes associated with them and I've not been able to find a bank transaction record without a line item in the data I have available to me.
Is it possible that you are not implementing paging? From the bank transactions documentation you linked to above:
Paging BankTransactions (recommended)
To utilise paging, append a page parameter to the URL e.g. ?page=1. If there are 100 records in the response you will need to check if there is any more data by fetching the next page e.g ?page=2 and continuing this process until no more results are returned.
By using paging all the line item details for each bank transaction are returned which may avoid the need to retrieve each individual bank transaction.
I'm not familiar with the pyXero implementation, but it looks like they support Xero paging. From the pyXero readme:
# Grab 100 invoices created after 01-01-2013
xero.invoices.filter(since=datetime(2013, 1, 1), page=1)

Yodlee - How I can identifying the itemAccountId for a specific account number

As per the api description the call : getItemSummaryForItem1 should be used to fetch the itemAccountIds for a site account. The response of this call has only last four digits of the account number. I need to identify which item summary corresponds to which account in the list of bank accounts under this site account. Is comparing the last 4 digits alone is sufficient?
Thanks.
You need not call getItemSummaryForItem1 to get itemAccountIds for a site account as Yodlee has enhanced the response of getItemSummariesForSite which now returns both itemID and itemAccountId hence you need not worry about any mapping.
Just to answer the last part - Yes the last 4 digits of the account number is enough.

Yodlee - how to get only new transactions

I am looking for a way to get only 'new' transactions from specific account item. I.e. only transactions that was posted to account after I made previous transactions fetch/search.
For example I have the following scenario:
I have add item to consumer. Lets say consumer have 1 account item named 'BankAccount1'.
I fetch/search ALL transactions for some BankAccount1 and store transactions locally.
Now I need a way to get only new transactions on periodic basis. I.e. only transactions that was posted to 'BankAccount1' after previous fetch/search call. Is it possible to do this or I need to get all transactions every time and just skip transactions with Id which already present locally? If transaction Id is unique and incremental (did they?) maybe its possible to save last fetched transaction Id, and on next time get only transactions with Id > prevFetchId (what API to use if its possible)?
p.s.
I am using container based approach REST API.
As per your question, I can infer that you are going to store transactions locally in your DB. In that case Yodlee recommend to use Procedural Data Extracts, using which you can keep your DB in sync with Yodlee Cloud. You can find more details about it here.
Yodlee recommends you to pass date range in the executeUserSearchRequest API to get the transactions for any specific duration,as getting only new transactions may cause some issues. This is why Yodlee recommends to have few days of overlap, this will help you in not missing any transaction.
Transaction ID would be unique but it may not be incremental.