Customer service will leave you high and dry
-
I never write bad reviews because I’m a small business owner. However, I’ve been frustrated since I started paying for this plugin over a year ago.
The software works, and I’m very thankful for it. The problem is that when I have questions or issues with it, customer support takes weeks to respond, and when they do, they might ask a silly question instead of trying to help. I often feel like their support is handled by troll bots, it’s that bad. Not ideal for something that can leave all your software unusable in a moment.
Maybe I’ll try this forum for support instead, they seem to actually respond here, maybe because it’s public.
-
Hello DataLife,
Thank you for sharing your experience with us. I’m truly sorry to hear about the frustrating interactions you’ve had with our customer support team. Your feedback is really important, and I understand how critical timely assistance is, especially when it comes to software that your business relies on.
I’d like to clarify that our support team does not operate on Friday and Saturday, as those are our weekends. This can sometimes lead to delays in response times for requests submitted on Thursdays. However, we are actively working to improve our response times and overall support experience.
If you could provide me with some details about your specific questions or concerns, I’d be happy to escalate them for a quicker resolution.
Thank you for your patience, and I appreciate your understanding as we work to enhance our support.
Thank you. We were waiting 3 weeks for basic questions, so we tried on our own and the plugin update took down our desktop software down, and for several hours our user’s desktops would freeze when opening our app.
This is because when we updated the Serial Numbers Pro plugin on our website, the API endpoints changed without our knowledge. I figured there’s no way a company would change a mission-critical API without some kind of versioning/compatibility layer. I trust you have a good explanation for this?
We’re looking for a simple solution to bridge this gap server-side, as it’s impossible to force all our users to update our desktop software simultaneously. Specifically, we need a way to allow our existing desktop software, which uses your legacy API, to work with the new API structure.
We’ve attempted to implement a solution using the following script:
add_action( 'woocommerce_api_serial-numbers-api', 'WCSN_change_action', 1); function WCSN_change_action() { global $wp; if (isset( $wp->query_vars['request'] ) && $wp->query_vars['request']=="check") { $wp->query_vars['request']="validate"; } }
This script allowed our legacy API calls to work with the new API structure for validation. However, our software would still not validate, maybe because of how interpreted the response, even though there is no documented change to the responses. So we had to roll back to SN Pro Version 1.2.0.
Could you please:
- Confirm if this script should work.
- Confirm if there have been any changes to the API response structure or content, even if subtle?
- Provide guidance on implementing a comprehensive solution that ensures full compatibility between our legacy software and the updated plugin?
We’re open to any solution, whether it’s modifying our current script, implementing a more comprehensive compatibility layer, or any other method you recommend.
Thank you for your assistance.
Thank you for your detailed response and for bringing your specific challenges to our attention.
Regarding your concerns about the API changes, our previous system was based on WooCommerce’s legacy API, which they have since deprecated. Unfortunately, this means we can’t maintain compatibility with the old API since WooCommerce no longer supports it. We have introduced REST API to solve the issue that operates similarly to the previous version, and you can learn more about it?here.
To facilitate a smooth transition for your existing clients, I recommend setting up server-side redirection. By redirecting requests from the legacy API to the new endpoint, you can ensure that your users can continue their operations without interruption.
We are dedicated to supporting you throughout this process and are here to provide any guidance you may need to make this transition as seamless as possible. Your satisfaction is our top priority, and we hope that with these solutions in place, you can fully experience the benefits of our plugin.
If you find this information helpful, we would greatly appreciate it if you could reconsider your review. Positive feedback motivates us to keep improving and providing quality service.
Thank you for your understanding and support!
- This reply was modified 2 months ago by Sultan Nasir Uddin.
You just repeated the problem back to me, and ignored my questions, which I laid out very clearly in a numbered list.
If I can explain things more clearly, please let me know. Again, we need help with our server-side redirection script, because it didn’t work when we tried it, and we’ve read all the documentation.
- This reply was modified 2 months ago by DataLife.
Is this better?
// Intercept requests to the old API endpoint
add_action('init', 'intercept_old_api_requests', 1);
function intercept_old_api_requests() {
if (isset($_GET['wc-api']) && $_GET['wc-api'] === 'serial-numbers-api') {
add_action('woocommerce_api_serial-numbers-api', 'translate_api_request', 1);
}
}
function translate_api_request() {
if (isset($_GET['request'])) {
// Change 'check' to 'validate', keep other endpoints as they are
$endpoint = ($_GET['request'] === 'check') ? 'validate' : $_GET['request'];
// Construct new URL for all endpoints
$new_url = home_url("/wp-json/wcsn/{$endpoint}");
// Preserve all original parameters
$params = $_GET;
// Remove 'wc-api' and 'request' as they're not needed in the new URL structure
unset($params['wc-api'], $params['request']);
// Redirect to the new API endpoint
wp_redirect(add_query_arg($params, $new_url));
exit;
}
wp_die('Invalid API request', 'API Error', ['response' => 400]);
}Actually, perhaps the actual problem is not the URL, but the response schema of the API. Meaning that the data within the response is accessed differently compared to the older plugin version. The old plugin responds with flat json object, whereas the new plugin seems to respond with multi-level nested data, and our software stumbles and freezes. This is why I asked if there was any change in the response —?are we on to something?
- This reply was modified 2 months ago by DataLife.
I did not ignore your question. Instead, I answered all your inquiries in a single response. As I mentioned, the only change is the endpoint; previously, it was query argument-based, and now it follows a REST API structure. However, I apologize if that was not clear to you.
After reviewing this conversation, I believe it would be beneficial to create a standalone plugin for the legacy API feature. I have developed a plugin that you can find here:?Legacy API Plugin. Simply download and activate this plugin, and it will restore the legacy API feature that was removed from the original plugin.
Your code should work as intended. However, if it’s not functioning correctly, it may be related to the redirect issue. The software might not be processing requests properly due to the redirect. I believe that using the plugin I mentioned earlier will resolve all the issues.
That’s very nice of you to make the script for me! I will send this to my dev.
Ideally all my future products would use the new API without the layer. So I wonder if this plugin can redirect only requests from a certain user-agent / software? In other words, filter/keep requests from one particular software of mine.
- This reply was modified 2 months ago by DataLife.
Also, is there a downside to using this redirect script for all products, forever?
It would save me money and time in the short-term. However, you mentioned “security” as being a reason PluginEver doesn’t officially offer backwards compatibility with the Legacy API. So should I be concerned using the Legacy API forever?
Sorry for the multiple posts, but it won’t let me edit.
I realized it wasn’t you who mentioned security, but another customer support agent. But my question still stands about any downsides.
Lastly, can you link to the legacy API documentation so I can give it to future developers?
- This reply was modified 2 months ago by DataLife.
Since it is deprecated, no future bugs or issues will be resolved, which might introduce new problems over time. That’s why it’s always better to use the latest code. You can use the Legacy API for now; however, it would be better to migrate to the new REST API. Regarding the legacy API documentation, we do not have any live link to the legacy documentation at this time.
Another support agent sent me the documentation.
Can I edit my review?
If you have the option to ‘edit your review’ available on your end, you should be able to modify your review.
I don’t, unfortunately. It doesn’t let you edit your reviews after a certain amount of minutes. Otherwise I wouldn’t have needed to triple post earlier :/
- You must be logged in to reply to this review.