Following on from the re-indexing post, here is some code we've used to create blog post entries within Perch CMS
include('perch/runtime.php');
$API = new PerchAPI(1.0, 'perch_blog');
$Posts = new PerchBlog_Posts($API);
$Template = $API->get('Template');
$Template->set('blog/post.html', 'blog');
$post['postTitle'] = "TEST POST";
$post['postDateTime'] = date('Y-m-d H:i:s');
$post['postStatus'] = 'Draft';
$post['postDescRaw'] = "Stuff\nMore stuff";
$post['postDescHTML'] = "Stuff
More stuff
";
// JSON encoded fields
$fields=array();
$fields['excerpt']['raw'] = "This is the excerpt";
$fields['excerpt']['processed'] = "This is the excerpt
";
$fields['image']['_default'] = "/perch/resources/june14-1.jpg";
$fields['image']['path'] = basename("/perch/resources/june14-1.jpg");
$fields['image']['bucket'] = "default";
$fields['image']['sizes']['thumb']['w'] = 100;
$fields['image']['sizes']['thumb']['path'] = $fields['image']['path'];
$fields['image']['sizes']['thumb']['mime'] = "image\/jpeg";
$post['postDynamicFields'] = PerchUtil::json_safe_encode($fields);
$Post = $Posts->create($post, $Template);
$Post->index();
Hopefully the above may be useful to someone else