Quantcast
Channel: Joomla! Forum - community, help and support
Viewing all articles
Browse latest Browse all 1575

Joomla! 4.x Coding • Help required with Joomla API connection

$
0
0
Dear Joomla! community,
I have a j!4.4.9 website using a popular events booking component.
I want to be able to display events from this "parent" website onto several other (joomla) websites.
Ideally i would do this using a module on each third party site.
Rather than writing a db connection to the parent site table, on every third party site to pull data, I would like to use an API.
I have tried the following method but cannot get the connection to work.
Created dir and files:
public_html/plugins/webservices/ontarget
-ontarget.php
-ontarget.xml

Zipped them and installed and enabled the plugin.

php code

Code:

<?phpdefined('_JEXEC') or die;use Joomla\CMS\Factory;use Joomla\CMS\Plugin\CMSPlugin;use Joomla\Input\Input;use Joomla\CMS\Application\WebApplication;class PlgWebservicesOntarget extends CMSPlugin{    protected $autoloadLanguage = true;    public function onWebserviceGetOntarget(Input $input, WebApplication $app)    {        try {                        $db = Factory::getDbo();                               $query = $db->getQuery(true)                        ->select('*')                        ->from($db->quoteName('#__eb_events'));            $db->setQuery($query);            $results = $db->loadObjectList();                       $app->setHeader('Content-Type', 'application/json', true);            echo json_encode(['status' => 'success', 'data' => $results]);            $app->close();        } catch (Exception $e) {                        $app->setHeader('Content-Type', 'application/json', true);            echo json_encode(['status' => 'error', 'message' => $e->getMessage()]);            $app->close();        }    }}
xml code

Code:

<?xml version="1.0" encoding="UTF-8"?><extension type="plugin" version="4.0" group="webservices" method="upgrade">    <name>PLG_WEBSERVICES_ONTARGET</name>    <author>OnTarget</author>    <creationDate>2024-12-04</creationDate>    <copyright>Copyright (C) 2024 OnTarget. All rights reserved.</copyright>    <license>GNU General Public License version 2 or later; see LICENSE.txt</license>    <version>1.0.0</version>    <description>Plugin to expose eb_events data via Joomla API.</description>    <files>        <filename plugin="ontarget">ontarget.php</filename>    </files></extension>
I then call up the API using
https://esci.ie/api/index.php/v1/ontarget

However the json return is:

Code:

{  "errors": [    {      "title": "Resource not found",      "code": 404    }  ]}
Unfortunately I cant find any documentation on how to do this and I'm not sure what my problem is - is joomla blocking the connection ?
I appreciate any guidance on this issue.

Statistics: Posted by ontarget — Wed Dec 04, 2024 9:02 am



Viewing all articles
Browse latest Browse all 1575

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>