ZohoDeluge: eBay marketplace account deletion/closure notifications
- Category: Zoho
- Hits: 38292
eBay allows users to request the deletion of their personal data from eBay's own systems, as well as from the systems of all partners who store or display that data, including third-party developers integrated with eBay APIs through the eBay Developers Program.
To help third-party developers comply with these requests, eBay has implemented a push notification system. This system alerts all eBay Developers Program applications when a user has requested the deletion of their personal data and closure of their eBay account. This article explains the process third-party developers must follow to subscribe to, receive, respond to, and validate these notifications.
Why?
As quoted from the page: https://developer.ebay.com/marketplace-account-deletion
"Existing Developers: The August 31, 2021 deadline for existing developers to subscribe to or opt out of eBay marketplace account deletion/closure notifications has passed. Failure to comply with this requirement will result in termination of your access to the Developer Tools, and/or reduced access to all or some APIs.
New Developers: All new third-party developers coming to the platform must subscribe to or opt out of eBay marketplace account deletion/closure notifications before they make their first API call. Once the new developer's application is subscribed to eBay marketplace account deletion/closure notifications or they have successfully opted out of the notifications, the keyset/App ID is activated, and they can begin making API calls."
How?
Let's cover the first preamble points here:
- While completing the form, the developer subscribes to eBay marketplace account deletion/closure notifications by saving an endpoint URL and verification token, eBay sends a unique challenge code via a GET request (e.g., GET https://
?challenge_code=123 ). The provided endpoint URL must use the 'https' protocol and cannot include internal IP addresses or 'localhost'. - Upon receiving the unique challenge code, the endpoint must hash the challengeCode, verificationToken, and endpoint URL (in that exact order), and respond to eBay with an HTTP 200 OK status, including the hashed result in JSON format within the challengeResponse field. The response's Content-Type header must be set to application/json.
Zoho CRM: Remove Duplicate Product Records
- Category: Zoho
- Hits: 19281
An article on removing duplicate products within ZohoCRM.
Why?
Product duplicates are a common issue during development, especially when we have products imported via a feed or API or simply by staff and their spreadsheets. There is a deduplication feature for leads and contacts but not for products.
How?
There may be a better way of doing this. What I'm trying to have is a generic function that will work on any CRM and possibly be quick to adapt to a module other than products.
This function will also try to delete the duplicate but if the duplicate is the one used in a transactional module record (eg. quotes, sales orders, invoices, purchase orders), then it will delete the older one (referred to as keep ID).
Another point is that this is using COQL to sort the records and tries to keep the first version of the record (sorted by ID ascending) and will attempt to delete the other records which match on product name.
I would recommend commenting out the delete commands and leaving the info commands to preview what records it will delete. I also recommend doing a data backup beforehand.
Zoho CRM: searchRecords with sorted results
- Category: Zoho
- Hits: 26044
This is an article to document how to use the searchRecords function in CRM and to sort the results response.
Why?
This is unclear and not always working as coded below since each system (CRM, Creator, Books) seems to interpret this sorting feature differently. This article is an effort to find clear and working solutions. It is working again as of 2022-02-10.
How?
Two methods listed here, the standard searchRecords() and then the getRecords() functions:
Zoho Deluge: Using Remove Key on a Map and Copying Record Tags
- Category: Zoho
- Hits: 21605
A quick article on how to use remove() on a map variable as well as a snippet of code to copy tags from a contact to a deal record.
Why?
Anything that stumps me for 30 minutes is worth writing a quick article on. In this case, I had a function querying tags on a contact record which needed to be copied to a deal record. I wanted to copy over the tag but apparently, the ID of the tag is not allowed to be copied over.
The official documentation says to use remove() to remove a key from a map. In this case, the ID key and value pair. It would then tell me the list was null when I thought I was adding the map with the ID removed back into a list. The map itself was null.
How?
We are using an API action called "Add_Tags". I'm going to get the tags of the contact record using an invokeurl because shortcode only gives me name and ID; but I want the color code field as well which I only seem to get with an InvokeURL. I'm then going to create a list map of tags and add these to the deal record.
Zoho Creator: Receive eBay Notification and Create Shopify Order
- Category: Zoho
- Hits: 11894
This is an article documenting how to parse the notification from eBay and using it to create an order in Shopify.
Why?
Previously, we would receive an eBay notification and create an order record in Zoho Creator. We did the same for when Shopify would process an order. You can see my following articles for more information on these:
- Zoho Creator: Receive eBay Order Notifications via Webhook
- Zoho Creator: Receive JSON via a Shopify Webhook
How?
I'm going to show you the code first of how to parse the eBay Transaction data and then the code to create a Shopify Order:
Zoho Creator: eBay: Get Item Transaction
- Category: Zoho
- Hits: 14976
This is the function to get the line item order/transaction from eBay if you give it the eBay Item ID as a parameter.
Why?
Mostly for debugging but here's the code that will quickly get the XML of a GetItemTransactions request to eBay.
How?
You'll need an access token for eBay which I documented on how you can generate one in my article: Zoho Creator: Push to eBay Listings. Then you can use the following code, note that the parameter is the eBay Item ID:
ZohoCRM: ZDK Client Script to retrieve Contact Email
- Category: Zoho
- Hits: 24458
An article on one of my first client scripts for ZohoCRM. This retrieves and populates an email field based on when a contact is selected in a lookup field.
Why?
I could do a normal automation/workflow on save of the record, but the client wants the email to be prefilled in the field as soon as a contact is selected.
How?
This needs to behave like a formula field which changes and displays before saving the record. At time of print however, I can't get a formula field to retrieve a field from another CRM record.
ZCRM Client Script: Correct Decimal Fields OnLoad
- Category: Zoho
- Hits: 26479
This is an article detailing the client script to fix any fields which exceed their decimal places limit in ZohoCRM.
Why?
So we have a customer that has some decimal fields on the products module that are calculated and will sometimes return numbers with more than 6 decimal places. As this is more than specified on the ZohoCRM field properties, as soon as the staff user tries to save the record, they will get a validation error on the decimal field even if that's not the field that is being changed:
Decimal places for the Unit Price field should be less than or equal to 6.

How?
The workaround for staff is to round this up manually and then save the record. But this can be an annoying overhead, especially if it can be auto-corrected with a client script.
Page 4 of 25
Credit where Credit is Due:
Feel free to copy, redistribute and share this information. All that we ask is that you attribute credit and possibly even a link back to this website as it really helps in our search engine rankings.
Disclaimer: Please note that the information provided on this website is intended for informational purposes only and does not represent a warranty. The opinions expressed are those of the author only. We recommend testing any solutions in a development environment before implementing them in production. The articles are based on our good faith efforts and were current at the time of writing, reflecting our practical experience in a commercial setting.
Thank you for visiting and, as always, we hope this website was of some use to you!
Kind Regards,
Joel Lipman
www.joellipman.com
Latest Articles
Accreditation



Donate & Support
If you like my content, and would like to support this sharing site, feel free to donate using a method below:

bc1qf6elrdxc968h0k673l2djc9wrpazhqtxw8qqp4
0xb038962F3809b425D661EF5D22294Cf45E02FebF
Paypal:

Bitcoin:

Ethereum:
