Programmatically Refresh Podcast Mirror Feeds

Our ping service will refresh your feeds as soon as you update it, ensuring your content will be available to users as soon as you upload it. If you have a WordPress site this can be done easily. If not, you can still use our service with some basic web development knowledge.

 

Adding ping service in WordPress

To add a ping service to your WordPress site, login to your WordPress and hover over Settings in the menu to the left of the page.

In the menu that appears to the right, select Writing.

 

Near the bottom of the page, you’ll see a text box labeled Update Services. Copy and paste our services URL (below) on a new line.

https://ping.podcastmirror.com/RPC2

Save your changes and you’re all set! WordPress will now ping our servers anytime you update your feed.

 

Ping options for developers

With a little know how, you can subscribe to our ping service without WordPress. There are two methods available: an XML-RPC POST request, or a GET query string request. If you make either of these requests to our server the feed will refresh.

Ping via GET query string requests

You can also use a GET request with the proper query string to implement the ping service.

All you need is the URL.

https://ping.podcastmirror.com/RPC2?url=https://example.com/path/to/feed

Replace the example.com URL in the query string with the URL to your podcast feed.  Making a GET request with this URL will prompt our servers to refresh your feed automatically.

Using extended ping XML-RPC requests

XML-RPC requests are used to ask remote servers to call some function and  return a value in specially formatted XML. We make use of this technology by allowing you to send us an XML-RPC request that will call a function that refreshes your feed.

Requests look something like this:

<?xml version="1.0"?>
<methodCall>
  <methodName>weblogUpdates.extendedPing</methodName>
  <params>
    <param>
      <value>Your Website Title</value>
    </param>
    <param>
      <value>http://example.com/</value>
    </param>
    <param>
      <value>http://example.com/path/to/feed/</value>
    </param>
    <param>
      <value>http://example.com/path/to/feed/</value>
    </param>
    <param>
      <value>optional tag</value>
    </param>
  </params>
</methodCall>

You will want to make this the body of your POST request to our ping service at https://ping.podcastmirror.com/RPC2/.

The parameters must be passed in the proper order so that the server knows what each parameter is. Each one is passed in through a value tag wrapped in a param tag.

The parameters:

  • Title of Website
  • URL to Website
  • URL to page that updated (usually the same as the URL to Website)
  • URL to RSS Feed (important)
  • Tag/Category name (optional)

If the request is formatted correctly, our server will refresh your feed.

Testing your feed

The request is a POST or a GET to our ping server. If you would like to test out how it works, you can use a web application called hurl.it.

GET query string requests

To test your query string request, simply type in the URL from above where it says Destination. Make sure that the dropdown next to the textbox reads GET.

XML-RPC requests

To test your XML-RPC request, type in the ping service URL (https://ping.podcastmirror.com/RPC2/) where it says Destination. Make sure the dropdown next to the textbox reads POST. Then, click + Add Body, and in the textbox that pops up, add your XML-RPC request to it.

 

The response

If there are no formatting errors, the response for either request will look like this:

<?xml version="1.0" encoding="utf-8"?>
<methodResponse>
  <params>
    <param>
      <value>
        <string>Thanks! Pingback was registered for http://example.com/path/to/feed.</string>
      </value>
    </param>
  </params>
</methodResponse>