eBay REST API getOffers no results but returns order array in Trading API - ebay-api

I am stuck on this issue for weeks and I didn't have any replies on the eBay forum.
I searched many places on web and found some people having the same problem as mine but no one got an answer to solution.
Just wondering if anyone is using eBay REST API and you are getting some results through the getOffers API, maybe you can see if I missed anything.
Things I confirmed through the Inventory API (REST)
I successfully created a couple of hundreds of inventory items through Inventory API.
I successfully created offers for all my items on eBay.
All items on eBay are showing the correct quantity and price.
Things I have done manually through the eBay website as a general customer
I searched my items and opened one of them
I purchased a few items.
I marked all purchases as payment sent.
Things I have done through the Fulfillment API (REST)
I sent the request to get all orders in the last 10 day.
The response header contains: rlogid:t6pithqauq%60%28ciudbq%60anng%7Fu2h%3F%3Cwk%7Dukqjtcpse*1423455-15fb2623e27-0xb8
The response body contains:
{
"href": "https://api.sandbox.ebay.com/sell/fulfillment/v1/order?filter=creationdate:%5B2017-10-01T08:25:43.511Z..%5D&limit=50&offset=0",
"total": 0,
"limit": 50,
"offset": 0,
"orders": []
}
Things I have done to find out if items are sold
I refreshed the item page and confirm that eBay website is displaying 2 sold just after I marked payment send on my purchase page.
I can see that all orders appear through the Trading API (XML).

"Note: The Fulfillment API covers only the transactions that have completed the checkout process. This includes both paid purchases and purchases that do not require upfront payment (such as COD). However, the API does not cover pending payment purchases that require upfront payment before shipment."
Copied from here: https://developer.ebay.com/api-docs/sell/fulfillment/overview.html
So PayPal is covered, COD or prepayment are not...
Better use Trading API.

Related

Recieve Steammarketprices of all CSGO Items

is there an API/elegant way to receive a full list of CSGO items that are listed on the Steam Market and their up to date prices?
I know there is this Method:
Steam Market API?
But this only gives you one Item at a time and blocks you if you send too many requests.
I've also seen the CSGOBackpack and BitSkins API but their data is deprecated by a few weeks.
Greetings,
ProfiHartzer

Retrieve "Shopify Payments" fees by Order # for reconciliation with Accounting + Bank Deposits?

Reconciling deposits, within an accounting system, coming into a Shopify User's bank account from a Shopify store running Shopify Payments (or otherwise) appears to be one of the things people frequently stumble on — based on the number of requests about the topic on Shopify's Support Community Forums, for example: https://community.shopify.com/c/Shopify-APIs-SDKs/Fees-charged-by-Shopify-via-API/m-p/265261/
The issue (for accounting) is that Shopify Payments removes the Fee Amount (for a full list of fees see: https://www.shopify.com/pricing) prior to depositing the balance of the transaction into a Store Owner's bank account.
Shopify Fees generally look something like: 2.6% of transaction value + $0.30
Calculation of the fees that should be taken out based on the above is pretty simple (hard code the fee schedule), until those fees change at some point in the future.
How does this impact Integrations?
For many of the available simple integrations this causes a discrepancy between the invoice amount of money hitting the bank account and the amount of money we 'Expect' to hit the bank account based on the Shopify Invoice Amount that is readily retrieved via Shopify's API by many such solutions.
That discrepancy means that it is necessary for an Accounting based user to manually deduce which Shopify Invoice is associated with which incomming bank deposit — and then manually add a negative line item to account for the difference / balance the books.
This is the suggested methodology coming from several different Accounting System / Software vendors (specifically Xero and Quickbooks) when asked how their customers solved the above issue.
I know that there are solutions out there that attempt to solve all of the above problems (with varying degrees of success), but due to the amount of Kitting that my current situation involves none of them adequately solve the other required functionality for our business.
We need to be able to find the fees (or alternately calculate them ourselves) and add those fees to the invoice so our accounting system is expecting the correct amount of funds to hit our bank account — hence the question: How can we retrieve the current accounts "Shopify Payments" fees / rates.
Ideally I want to avoid hard coding this information since Shopify likely does change the fees (potentially with only minor notification) meaning that at that point our integration would break. It would be much better to be able to retrieve the fee schedule for a given account via API request thereby avoiding issue if the fees change.
I have multiple clients who are also facing the same issue — so I figured it was worth checking to see if anyone has faced / solved the problem, and discuss my current solution
What does Shopify Say?
Generally their comment is that there is no road map to including the fees deducted from an invoice when responding to an API Request as taken from: https://community.shopify.com/c/Shopify-APIs-SDKs/Fees-charged-by-Shopify-via-API/m-p/265261/ (which seems strange) — meaning that 'wont do' is the best classification for the feature request that would provide this information with simple / readily available calls to the currently available API Endpoints.
Without access to Fee amounts on a per order basis I am not sure how Shopify Stores are currently interfacing with their account systems.
I would love to hear solutions from any Shopify user who may have encountered this issue previously! I opened a ticket request with support so I will see what I get back over there as well and post back.
OK so this isn't a total solution but I am updating as I go and will continue to edit this answer until I find a full solution (or until someone who has one adds an answer).
Whitelist / API Endpoint Approval Required
I found a Shopify API endpoint that should give the information I am looking for over here: https://help.shopify.com/en/api/reference/shopify_payments/transaction
According to the Shopify API docs the response should contain the Fee Amount and the API Endpoint would be:
/admin/shopify_payments/balance/transactions.json
That would get me exactly what I need, except that sending a properly formatted request to the avoid Endpoint gives the following response:
{
"errors": "[API] This action requires merchant approval for read_shopify_payments_payouts scope."
}
Basically it seems like it needs to be approved per merchant making it a less than ideal solution for you guys as an App. I requested the functionality and will add to this if it makes something easier (when / if it's granted to our account).
Public Access to Similar Fee Data
While playing around with some of the other endpoints I ran into this one (which IS public and accessible for Apps — I am a partner / develop Shopify Apps myself) which seems to provide similar functionality:
https://help.shopify.com/en/api/reference/orders/transaction
When making a call (and receiving the "kind": "sale" result for a given Order Id) I get the following pieces of JSON that are interesting:
"gateway": "shopify_payments",
"status": "success",
and more importantly:
"balance_transaction": {
"id": "XXXXXXXXXX",
"object": "balance_transaction",
"amount": 12881,
"available_on": 1553040000,
"created": 1552943224,
"currency": "usd",
"description": "XXXXX#outlook.com",
"exchange_rate": null,
"fee": 339,
"fee_details": [
{
"amount": 339,
"application": "ca_1vQrdCwnvOuC2Ypn5R9whwXkGxb4XJjx",
"currency": "usd",
"description": "Shopify Payments application fee",
"type": "application_fee"
}
],
Where the JSON 'amount; property corresponds to the invoice sales amount (including shipping) as a decimal free value.
The "fee": 339 appears to indicate the fee amount deducted by Shopify Payments (based on the JSON idicator attached: description": "Shopify Payments application fee").
Yep. That's the Fee.
After checking the Shopify Account tier (in this case Advanced) the fees deducted should be: 2.4% + 30¢ meaning that the total does match — 2.4% * $128.81 = $3.09144 + 30 cents (per transaction) = $3.39.
So basically everything exists (with no whitelisting required) to get the fee amounts on a per order basis for Shopify Payments users. This probably includes the Shopify Fees charged to external gateways as well although I don't use one so I can't say for sure.
That endpoint functionality means Shopify Fees likely COULD be added to any Shopify App that integrates with an accounting system — but also means it is relatively easy to pull in after the fact if the integration you are working with deposits the Invoiced amount into accounting but DOES NOT add a negative line item associated with the Shopify Fees — like mine does.
Still leaves me with some questions but at least the initial 'How do I find the Shopify Fees?' question is taken care of.
Previously my scripts that handle our accounting had used the Shopify API. As one commenter mentioned this API no longer works (or has changed in some way I have not found a solution to)
For everyone who is now having trouble with the API changes and doesn't mind a slightly manual solution to grab all Shopify payouts information you can dump a CSV out of the Shopify Payouts view, and then load that into your script (or alternately into Google Drive, and then hit that as a database... for example with Autocode's Standard Library).
To export Shopify Payouts data in CSV:
Go to the Shopify Payouts page for your Shopify store: https://XXX-YOURURL-XXX.myshopify.com/admin/payments/payouts
Set your date range / filter range to make sure you are exporting the correct payout date range.
Click the Export button in the top right hand corner, to the left of Documents and Transactions.
Shopify will email you the exported Transaction CSV which you can then do with what you like. This process won't work so well for anyone who is attempting to use a daily payout reconciliation strategy within their accounting system, but for the rest of us peons who are further behind on reconciliation it works well.

eBay Trading API - How to get shipping label for an order to be shipped?

I am able to get the orders for a seller through eBay GetSellerList (Trading API) and GetOrders (Fulfillment API) calls. I also found an API
CompleteSale for processing the orders but could not find any API for generating the shipping label like this sample Label.
Any help is appreciated.
TIA

Not getting 'Pending' payments in GetSellerPayments for half.com API

Posted this on the eBay API developer forum several weeks ago with no useful answers. I am working with the GetSellerPayments API for half.com. Getting an API response back on "Paid" payments works fine but I am looking to get "Pending" payments as documented here: Half.com API GetSellerPayments API Documentation working as well.
Using API levels 913 thru 933 all same no joy behavior.
Simple request change of XML tag PaymentStatus from Paid to Pending:
<PaymentStatus>Pending</PaymentStatus>
With "Paid" things work fine, with Pending no records found. I have manually verified the seller account does in fact have pending payments at half.com. And I have manually verified the date range for the payment period is correct and works at the half.com website.
Anyone have experience with this specific call on half?
This started working in API level 941

Make a single request containing many requests to eBay API

I send a request to eBay API to get my eBay buying. I also want to get some extra information about each item, let's say that's itemCondition and itemCategory (parent and child). GetMyeBayBuyingResponse doesn't contain these fields. So I have to call GetItemRequest for each returned item to get them.
But it's very bad, it would take much more traffic and time. Is there any more efficient way do it?
I also read somewhere at eBay that there was a kind of ability to pack many requests to one request and then send it to reduce traffic and effort. Is it true?
P.S. Note that I'm not asking about itemCondition and itemCategory fields only. There might be any other fields. The goal is make only one request containing many calls.
There are calls with item data:
If you're the seller of the items, ebay proposes to use GetSellerList.
If you want all items you recently bid on / bought, you can use GetBidderList.
For sellers with many products, ebay offers LMS (Marge Merchant Services), but i thinks this is mostly applicable for sellers, I think there are no calls to retrieve bought items.