In my application i'm running a cronjob daily in order to get a list of items from a set of providers.
Each item has an image, a title, and a url.
I want to create a Firebase dynamic link out of these parameters and then shorten it.
From the docs of Firebase i saw that it's possible to create the dynamic link offline, and then get the shorten version through a REST API(https://firebase.google.com/docs/dynamic-links/rest).
From what i see i have to send one request for each item. I was wondering if there is a way to get the shorten urls out of a list of items with a single request.
In alternative, other url shortener service suggested for this use case?
Related
I am currently looking into helping someone using Wordpress and Google Sheets. Essentially, they use Google Sheets data as a backend and Wordpress will display that as a table in a post.
The only issue is this data is refreshed every five mins by an add-on they are using. However, it would be best if the data was updated real time. I am a full stack developer, but not overly familiar with Word Press, is there a way to 1) get the table data to update in real time? Or 2) have the table data loaded on page refresh, like a typical UI to backend service call would?
You can use the wp_update_post() function or the REST API at any time to update the content of any page, or if the table is stored in an option, use update_option().
Then, it's just a matter of whether you want to scan for changes on the server side, or can send a webhook of some kind when the row is updated.
I can think of a few options.
Set up a Cron Job at the server level to check the google sheet for changes, and use either function above to update the table. I don't really recommend that for this because it won't be "live" updates, and may run more (or less) often than it needs to.
See if the "addon" can post the updated row to the WordPress REST api (or custom function handler)
Use one of the Sheets Triggers (onEdit?) in the sheet's Apps Script to fire a remote request to your site with the updated row's value (or the whole sheet?) and update it via the REST API or custom function handler with wp_update_post or update_option.
Use a third party "webhook tool" to hook the Sheet to your site. A tool like Zapier or IFTTT comes to mind.
I'd probably lean towards number 3 as it lets you tie straight into the Google Sheet with Apps Script, and POST just the updated row to your WordPress' site via the API, which provides the following benefits:
• Updates your site "live", as soon as an update is made to the sheet
• Doesn't require server-side set up
• Low amount of data transmitted over the wire
• No needless checks/requests
• No other third-party tools required
The Dynamic Links documentation states:
If you don't need to track click data and you don't care if the links are long, you can manually construct Dynamic Links using URL parameters
I'd prefer to use the long URLs (easier dynamic creation) but the above docs imply I'll lose click data. The campaign parameters can still be given to this URL, and the link is still hosted at Firebase, so it's not clear to me which analytics we'll lose here. Does anyone know the full details on this statement?
Firebase team responded that the UTM data is still recorded, it's just the click count which is lost in the Firebase console.
I'm using WP WooCommerce and I want to add custom product fields that shall be used in conjunction with the API Client Lib.
I followed this guide to the end and everything works fine, except for reading the data. Now, I'm using the API Client Library for processing the orders where I want to fetch this meta information of the products. But how to I access this information? Since my script does not run within the WP loop, I can't access any get_post_meta function or the like. It is also not listed in the product meta, I get from the API (and I don't understand why).
The only solution I see right now is to get the data directly from the wp_postmeta table in MySQL. Is this correct or is there any other, more elegant, way to get this data?
Thx for any help.
Edit: I use workaround for this problem now. Since there is seemingly no way to access the product meta data outside of the loop, I now use WP's native custom fields to retrieve that data. In contrary to the WC product meta data the WP custom field can be accessed via the WC API. The data sits in the parent of my product, so I can access it by making a second API call for the parent.
I am trying to write a program that extracts shipping container information from a specific site. I've had success with several shipping companies wbsites that use POST methods to submit searches. For these sites I have been using cURL, a PHP libary. However, this one site http://www.cma-cgm.com/eBusiness/Tracking/ has been very difficult to interact with. I have tried using cURL but all I retrieve is the surrounding html without the actual search results.
A sample container I am trying to track is CMAU1173561.
The actual tracking URL seems to be http://www.cma-cgm.com/eBusiness/Tracking/Default.aspx?ContNum=CMAU1173561&T=292012319448 where ContNum is the shipping container and T is a value constructed from current time.
I also noted the .aspx. What is the best approach for retrieving these search results programatically?
I found this site
http://www.shutterfly.com/documentation/api_OrderImage.sfly
but there are no examples of actually walking through the whole process. Does anyone have any good documentation on using this API to take a local photo and allow someone to order a print via shutterfly?
I went through these steps:
Sign up for an account
Sign up as a developer
Create an application (I called mine Test). Note the generated Application Id and Shared Secret
The Shutterfly API page has a list of references for various Domain-specific APIs:
Address Book
Album Data
Folder Data
Go To Shutterfly UE
Image Upload
Interactive Sign-in
Image Request
Order
Pricing
Seamless Sign-in
User Data
User Authentication
Each uses RESTful principles. The documentation looks pretty comprehensive to me, if you need some background, here's links for RESTful APIs and ROME you may find useful
There is also an API Explorer section on the same page that allows you to test the methods via a form on their site. For example this form for CRUD operations on the album data.
Based on your comment, for your requirements, you would:
Use the Album GET to list albums, then get the data for a specific album.
Use the Image Get request to retrieve the image data, so your friend can verify the image(s) they want to purchase.
Authenticate the user
Use the Pricing POST request to get the estimated pricing for the image.
User the Order POST to submit the order over https
Update: Found a page describing using a Greasemonkey script which adds Shutterfly print ordering capability to Flickr. This might provide the basis for a solution.
For Reference:
The original link above is a middle step of the Shutterfly Open API ordering procedure.
The whole process goes through a series of steps allowing you to control much more than just pushing photos into somebody's album in Shutterfly.
With this process, your application can actually carry out the entire procedure of:
specifying the images and the sizes and quantities, or other products
calculating shipping, taxes, and totals
paying, and
launching the processing
It also includes the ability to see when the packages will be delivered and arrive.
Thus if you have a solid application for mapping your images onto paper and products, you can pretty much control the entire process.
Once the order is submitted, it will appear on the user's account at Shutterfly who the order was associated with.
Kudos to Shutterfly for making such a powerful tool! It would be great if other printing facilities had similar tools.