wearepixel/laravel-facebook-feed

Laravel Facebook Feed

Maintainers

Package info

github.com/wearepixel/laravel-facebook-feed

pkg:composer/wearepixel/laravel-facebook-feed

Statistics

Installs: 1 979

Dependents: 0

Suggesters: 0

Stars: 0

Open Issues: 0

2.0.0 2024-01-07 23:27 UTC

This package is auto-updated.

Last update: 2026-04-10 22:42:30 UTC


README

Latest Version on Packagist Tests PHP Version Total Downloads License

A simple package to easily create an XML feed for the Facebook Catalog API to parse and retrieve your products.

We recommend adding this to an API controller and generating it on the fly so your feed is always up to date.

Requirements

  • PHP 8.4+
  • Laravel 10, 11, or 12

Installation

composer require wearepixel/laravel-facebook-feed

Usage

use Wearepixel\LaravelFacebookFeed\LaravelFacebookFeed;

$feed = LaravelFacebookFeed::init(
    title: 'My Store',
    description: 'My store product feed',
    link: 'https://mystore.com',
);

$feed->addItem([
    'id'         => 'item_001',
    'title'      => 'Blue Nikes',
    'link'       => 'https://mystore.com/products/blue-nikes',
    'price'      => '29.99 AUD',
    'image_link' => 'https://mystore.com/images/blue-nikes-001.jpg',
]);

return $feed->generate();

Required item fields

Field Description
id Unique product identifier
title Product name
link URL to the product page
price Price including currency code (e.g. 29.99 AUD)
image_link URL to the main product image

Any additional fields supported by the Facebook Product Feed Specification can be passed alongside the required fields.

Methods

LaravelFacebookFeed::init(string $title, string $description, string $link): static

Creates a new feed instance with channel metadata.

$feed->addItem(array $item): void

Adds a product to the feed. Throws MissingRequiredFieldException if any required field is absent.

$feed->toXml(): string

Returns the feed as an XML string.

$feed->generate(): Response

Returns an HTTP response with the XML content and application/rss+xml content type. Suitable for returning directly from a controller.

Testing

composer test

License

MIT