Ping Server

The Moreover Ping Server enables a wide range of publishers, from major international news sites to personal Weblogs, to automatically notify Moreover when new content has been published. This ensures that your content is entered into the vast Moreover distribution network as quickly and as accurately as possible.

The Moreover Ping Server is used to automatically inform Moreover whenever you update content on your site. It is a server program that receives notification from your site that you have added new content. When Moreover receives this message, we send out a harvesting program to your site to collect the new content and post it to our vast distribution network.

Setting up Your Ping Server Interface

The Moreover Ping Server has two interfaces available: REST and XML-RPC. Both follow standard industry practices for ping server interfaces. You simply configure your blogging software to call the Moreover Ping Server anytime you publish new content.


The REST interface:

URL: http://api.moreover.com/ping
Parameters: u=
HTTP method: GET

Example:
http://api.moreover.com/ping?u=http://moreoaa1.miniserver.com/weblogs/stevesfirstweblog/index.rdf


The XML-RPC interface:

RPC endpoint: http://api.moreover.com/RPC2

Method name: weblogUpdates.ping

Parameters:
1. name of site (string)
2. URL of site or RSS feed (string)

Returns: Struct with two members:
1. flerror (Boolean) which is true if an error occurred
2. message (string) which contains “OK” (if successful) or the error message

Example

Here is sample perl code that will call the XML-RPC interface (it will only run if you have the Frontier::Client perl module installed which you can obtain from CPAN):-

 use Frontier::Client;
 my $xmlrpc_blog_ping_server_url = "http://api.moreover.com/RPC2";
 my $server = Frontier::Client->new( 'url' => $xmlrpc_blog_ping_server_url, 
 'encoding' => 'iso-8859-1', debug => 1 );
 my $weblogname = "Steves First Blog";
 my $weblogurl = "http://moreoaa1.miniserver.com/weblogs/stevesfirstweblog/";
 print localtime() . " - Making call to 
 $xmlrpc_blog_ping_server_url now...\n\n\n";
 my %response_hash  = %{$server->call("weblogUpdates.ping",
 $weblogname, $weblogurl)};
 print "\n\n" . localtime() . " - Finished making call now...\n\n";
 print qq!response_hash->{"flerror"} = ! . $response_hash{"flerror"} 
 . qq!\n\n!;
 print qq!response_hash->{"message"} = ! . $response_hash{"message"} 
 . qq!\n\n!;

A sample of a working XML-RPC request and response follow (taken from debug output of above sample perl program):-

 ---- request ----
 <?xml version="1.0" encoding="iso-8859-1"?>
 <methodCall>
 <methodName>weblogUpdates.ping</methodName>
 <params>
 <param><value><string>Steves First Blog</string></value></param>
 <param><value><string>
 http://moreoaa1.miniserver.com/weblogs/stevesfirstweblog/
 </string></value></param>
 </params>
 </methodCall>
 ---- response ----
 <?xml version="1.0" encoding="ISO-8859-1"?>
 <methodResponse>
 <params>
 <param><value><struct>
 <member><name>flerror</name><value><i4>0</i4></value></member>
 <member><name>message</name><value><string>
 Thanks for the ping! The update to Steves 
 First Blog has been updated in our database.
 We used parameters - 
 weblogname = Steves First Blog, 
 weblogurl = http://moreoaa1.miniserver.com/weblogs/stevesfirstweblog/, 
 changesurl = http://moreoaa1.miniserver.com/weblogs/stevesfirstweblog/, 
 categoryname = none
 </string></value></member>
 </struct></value>
 </param>
 </params>
 </methodResponse>