So verwenden Sie die neuesten Updates für die Marketplace-API

Die Envato-Marktplätze explodieren mit über 600.000 Mitgliedern und über 65.000 Dateien!

Eine großartige Ergänzung zu den Marktplätzen ist die API, die dank der neuesten Updates jeden Tag populärer wird! Unsere großartigen Marktentwickler hören ständig auf Feedback der Community und haben dem Edge-Release einige interessante Funktionen hinzugefügt!

Schauen Sie sich einige der Anwendungen an, die im Internet verfügbar sind - alle mit Envato API.

Heute werfen wir einen Blick auf die neuesten API-Funktionen! Komm mit mir nach dem Sprung!


Was ist eine API??

Eine Anwendungsprogrammierschnittstelle (Application Programming Interface, API) ist ein bestimmter Satz von Regeln und Spezifikationen, denen ein Softwareprogramm folgen kann, um auf die Dienste und Ressourcen zuzugreifen, die von einem anderen bestimmten Softwareprogramm bereitgestellt werden. Es dient als Schnittstelle zwischen verschiedenen Softwareprogrammen und erleichtert deren Interaktion, ähnlich wie die Benutzeroberfläche die Interaktion zwischen Mensch und Computer erleichtert.

Web-API

Web-APIs ermöglichen die Kombination mehrerer Dienste in neuen Anwendungen, so genannten Mashups.

Bei der Verwendung im Rahmen der Webentwicklung ist eine API normalerweise eine definierte Gruppe von HTTP-Anforderungsnachrichten (Hypertext Transfer Protocol) zusammen mit einer Definition der Struktur von Antwortnachrichten, die sich normalerweise in einer Extensible Markup Language (XML) oder in JavaScript befindet JSON-Format (Object Notation).

Während "Web-API" praktisch ein Synonym für Web-Service ist, hat sich der jüngste Trend von SOAP-basierten Diensten (Simple Object Access Protocol) hin zu einer direkteren Kommunikation im Repräsentationszustand (REST-Stil) entwickelt. Web-APIs ermöglichen die Kombination mehrerer Dienste zu neuen Anwendungen, die als Mashups bezeichnet werden.


Werden APIs viel verwendet??

Die meisten Entwickler werden die Antwort auf diese Frage kennen, für die anderen ist die Antwort jedoch durchschlagend JA.

APIs sind überall zu finden; Sie sind besonders beliebt im Bereich der sozialen Netzwerke! Die meisten großen Netzwerke, einschließlich Twitter und Facebook, bieten APIs für die Interaktion mit ihrem Dienst.


Neue API-Funktionen

In diesem Tutorial werden wir uns nur die neuen API-Funktionen ansehen. Wenn Sie mehr über die vorhandenen API-Funktionen erfahren möchten, lesen Sie das Tutorial von Drew zu diesem Thema.

Öffentlichkeit

  • Artikel - Details für ein einzelnes Element, angegeben durch die angegebene ID.
  • Artikelpreise - Geben Sie verfügbare Lizenzen und Preise für die angegebene Artikel-ID zurück.
  • Benutzerelemente nach Site - Zeigen Sie die Anzahl der Artikel, die ein Autor auf jeder Website zum Verkauf hat. Benötigt einen Benutzernamen, z. collis.

Privatgelände

  • Überprüfungskauf - Details eines Kaufs Erfordert einen Kaufcode, z. Überprüfungskauf: 550e8400-e29b-41d4-a716-446655440000.
  • Download-Kauf - URL zum Herunterladen des Kaufs Erfordert einen Kaufcode, z. Download-Kauf: 550e8400-e29b-41d4-a716-446655440000

Bedarf

Um mit der API zu beginnen, benötigen Sie ein Envato Marketplace-Konto und einen API-Schlüssel.

Sie können Ihren API-Schlüssel abrufen, indem Sie die Seite mit den Kontoeinstellungen aufrufen.

Wir verwenden eine PHP-Funktion namens json_decode; Dadurch können wir die API-Daten abrufen und in ein Array konvertieren. Diese Funktion ist in PHP 5> = 5.2.0 enthalten.

Bekam alles? Lass uns anfangen!


Schritt 1 - Aufbau unserer Klasse

Beginnen wir mit dem Aufbau einer einfachen PHP-Klasse, die es uns ermöglicht, Daten von der API abzurufen.

Erstellen Sie einen neuen Projektordner und ein anderes Verzeichnis mit dem Namen Klassen, alles organisiert halten. Fügen Sie in diesem Ordner eine neue PHP-Datei hinzu envato.api.class.php

Zuerst konstruieren wir das Grundgerüst unserer Klasse:

 

Schritt 2 - Globale Variablen

Wir brauchen einige Variablen in unserer Klasse, um sie flexibel zu gestalten. Um herauszufinden, welche Variablen wir benötigen, müssen wir uns die API-URL-Formatierung ansehen.

  • Öffentlichkeit - http://marketplace.envato.com/api/edge/set.json
  • Privatgelände - http://marketplace.envato.com/api/edge/username/api-key/set.json

Wie Sie sehen, benötigen wir insgesamt vier Variablen:

  • API-URL
  • einstellen
  • Nutzername
  • API-Schlüssel

Erstellen Sie diese privaten Variablen wie folgt:

 Klasse envatoAPI private $ api_url = 'http://marketplace.envato.com/api/edge/'; // Standard-URL private $ api_set; // Dies wird die gewählte API wie "user-items-by-site" enthalten. Private $ username; // Der Benutzername des Autors benötigt nur für den Zugriff auf die privaten Sets private $ api_key; // Der API-Schlüssel des Autors war nur für den Zugriff auf die privaten Sets erforderlich.

Schritt 3 - Setter & Getter-Methoden

Ich benutze gerne Setter- und Getter-Methoden, wenn Sie Klassen in PHP erstellen. Was genau sind diese Methoden? Ich habe unten ein kleines Beispiel gemacht:

 $ API = new envatoAPI (); $ API-> api_url = 'http://nettuts.com'; echo $ API-> api_url;

Der obige Code funktioniert nicht und sollte den folgenden Fehler zurückgeben:

Schwerwiegender Fehler: Zugriff auf die private Eigenschaft envatoAPI :: $ api_url nicht möglich

Da die Variable auf privat gesetzt ist, können wir nicht darauf zugreifen oder sie ändern. Wenn Sie die API-URL ändern müssen, ohne die Klassendatei zu bearbeiten, können Sie Folgendes tun:

 $ API = new envatoAPI (); $ API-> set_api_url ('http://nettuts.com'); echo $ API-> get_api_url ();

Wechseln Sie nun wieder zur PHP-Klasse und fügen Sie die Funktion hinzu, set_api_url.

 / ** * set_api_url () * * Legt die API-URL fest * * @access public * @param string * @return void * / public function set_api_url ($ url) $ this-> api_url = $ url; 

Da diese Funktion innerhalb unserer Klasse liegt, können wir auf die private Variable api_url zugreifen und diese ändern. In diesem Lernprogramm brauchen wir nicht wirklich Getter, aber wir erstellen noch einen, um Ihnen ein besseres Verständnis des Konzepts zu vermitteln.

 / ** * get_api_url () * * Liefert die API-URL * * @access public * @return string * / public function get_api_url () return $ this-> api_url; 

Wie Sie zu diesem Zeitpunkt bereits abgeleitet haben, benötigen wir beispielsweise keine Get-Funktion für den API-Schlüssel. Dies macht unsere Klasse sicherer.


Schritt 4 - Fertigstellung der restlichen Setzer

Wir haben bereits einen Setter fertiggestellt, also sind noch drei übrig und alle haben dieselbe Struktur.

Set Benutzername

 / ** * set_username () * * Setze den Benutzernamen * * @access public * @param string * @return void * / public function set_username ($ username) $ this-> username = $ username; 

Stellen Sie den API-Schlüssel ein

 / ** * set_api_key () * * Legt den API-Schlüssel fest * * @access public * @param string * @return void * / public function set_api_key ($ api_key) $ this-> api_key = $ api_key; 

Set API Set

 / ** * set_api_set () * * Setet das API-Set * * @access public * @param string * @return void * / public function set_api_set ($ api_set) $ this-> api_set = $ api_set; 

Wir können jetzt alle Variablen so setzen:

 set_api_url (); - Wir müssen die API-URL nicht ändern. // $ API-> set_api_key ('ahdio270410ayap20hkdooxaadht5s'); - Wir müssen nur den API-Schlüssel festlegen, um Daten aus dem privaten Satz abzurufen. // $ API-> set_username ('JohnDoe'); // - Wir müssen nur den Envato Marketplace-Benutzernamen festlegen, um Daten aus der privaten Gruppe abzurufen. $ API-> set_api_set ('popular: codecanyon'); // Setze die API auf request?>

Schritt 4 - Daten anfordern

Lassen Sie uns eine Funktion erstellen, die die Daten von der Envato Marketplace-API anfordert. Wir beginnen mit dem Erstellen einer neuen öffentlichen Funktion namens anfordern.

 / ** * request () * * Daten von der API anfordern * * @access public * @param void * @return array * / public function request () 

Wir können dieselbe Technik verwenden, die im vorherigen Tutorial verwendet wurde. Um die Daten von der API anzufordern, können wir cURL verwenden. Beginnen wir mit dem Erstellen der API-URL. Wenn Benutzername und API-Schlüssel festgelegt sind, benötigen wir eine andere URL.

 if (! empty ($ this-> username) &&! empty ($ this-> api_key)) // Erstellen Sie die private URL $ this-> api_url. = $ this-> username. '/' .$this->api_key.'/ '.$this->api_set. '.json'; // Beispiel: http://marketplace.envato.com/api/edge/JohnDoe/ahdio270410ayap20hkdooxaadht5s/popular:codecanyon.json else // Erzeuge die öffentliche URL $ this-> api_url. = $ This-> api_set. '.json'; // Beispiel: http://marketplace.envato.com/api/edge/popular:codecanyon.json

Wir senden eine Anfrage mit cURL an die API:

 $ ch = curl_init ($ this-> api_url); // Eine cURL-Sitzung initialisieren und die API-URL einstellen curl_setopt ($ ch, CURLOPT_CONNECTTIMEOUT, 5); // Die Anzahl Sekunden, die gewartet werden soll, während versucht wird, eine Verbindung herzustellen. Curl_setopt ($ ch, CURLOPT_RETURNTRANSFER, true); // Die Übertragung als String zurückgeben, anstatt sie direkt auszugeben. $ ch_data = curl_exec ($ ch); // Eine cURL-Sitzung durchführen curl_close ($ ch); // Eine cURL-Sitzung schließen

Wir haben jetzt eine Variable namens $ ch_data die eine JSON-formatierte Zeichenfolge enthält. Bevor wir damit etwas anfangen können, müssen wir es in ein Array decodieren.

 // Prüfen Sie, ob die Variable Daten enthält if (! Empty ($ ch_data)) return json_decode ($ ch_data, true); // Dekodiere die angeforderten Daten in ein Array else return ('Wir können keine Informationen von der API abrufen.'); // Fehlermeldung zurückgeben

Die Funktion in ihrer Gesamtheit sieht so aus:

 public function request () if (! empty ($ this-> username) &&! empty ($ this-> api_key)) // Erstellen Sie die private URL $ this-> api_url. = $ this-> username. '/' .$this->api_key.'/ '.$this->api_set. '.json';  else // Erzeuge die öffentliche URL $ this-> api_url. = $ this-> api_set. '.json';  $ ch = curl_init ($ this-> api_url); // Eine cURL-Sitzung initialisieren und die API-URL einstellen curl_setopt ($ ch, CURLOPT_CONNECTTIMEOUT, 5); // Die Anzahl Sekunden, die gewartet werden soll, während versucht wird, eine Verbindung herzustellen. Curl_setopt ($ ch, CURLOPT_RETURNTRANSFER, true); // Die Übertragung als String zurückgeben, anstatt sie direkt auszugeben. $ ch_data = curl_exec ($ ch); // Eine cURL-Sitzung durchführen curl_close ($ ch); // Eine cURL-Sitzung schließen // Prüfen, ob die Variable Daten enthält if (! Empty ($ ch_data)) return json_decode ($ ch_data, true); // Dekodiere die angeforderten Daten in ein Array else return ('Wir können keine Informationen von der API abrufen.'); // Fehlermeldung zurückgeben

Schritt 5 - Testen der Funktion

Probieren Sie unsere Klasse aus und fordern Sie Daten von der API an:

 set_api_url (); // $ API-> set_api_key ('ahdio270410ayap20hkdooxaadht5s'); // $ API-> set_username ('JohnDoe'); // Envato Benutzername $ API-> Set_api_set ('popular: codecanyon'); // Setze die API, um Echo anzufordern '
'; print_r ($ API-> request ()); Echo '
'; ?>

Schritt 6 - Testen Sie die neuen Funktionen der öffentlichen API

Nun, da unsere Klasse funktioniert, ist es an der Zeit, einige Beispiele mit den neuen API-Funktionen zu erstellen.

Artikel

Um Informationen zu einem Marktplatzartikel anzufordern, müssen wir der API eine Artikel-ID zur Verfügung stellen. Sie finden die Artikel-ID in der URL des Marktplatz-Artikels.

Nun, da wir unsere ID haben, fordern wir die Artikelinformationen an:

 set_api_set ('item: 147510'); // Setze die API, um Echo anzufordern '
'; print_r ($ API-> request ()); Echo '
'; ?>

Folgende Daten sollten zurückgegeben werden:

 Array ([item] => Array ([sales] => 16 [rating] => 5 [cost] => 25.00 [user] => Philo01 [uploaded_on] => Di Dec 21 03:13:24 +1100 2010 [ url] => https://codecanyon.net/item/wordpress-car-dealer/147510 [live_preview_url] => images_26_4 / aktuellste-updates-to-the-marketplace-api_3.jpg thumbnail] => http://s3.envato.com/files/1410780/Car_dealer_avatar.jpg [tags] => einfach zu verwenden, einfach einzurichten, Autoinventar, Autohändler, Autohaus, 2 eingebaute Schieberegler, nativer Post-Typ und Taxonomien, über 35 Einstellungen, alle Ihre Autos auflisten, Inventarsystem [id] => 147510 [item] => WordPress-Autohändler))

Lassen Sie uns nun eine einfache Seite erstellen, auf der die obigen Informationen so angezeigt werden, dass sie von anderen Benutzern verstanden wird. Zunächst müssen wir die API-Daten einer Variablen zuweisen:

 $ API = new envatoAPI (); $ API-> set_api_set ('item: 147510'); // Setze die API auf $ data = $ API-> request ();

Wir können jetzt Daten aus der API im folgenden Format anzeigen: $ data ['item'] ['key'].

 set_api_set ('item: 147510'); // Setze die API auf $ data = $ API-> request (); ?> 

">

Durch , nur für verfügbar !

Der HTML-Code nach dem PHP wird analysiert:

 

WordPress-Autohändler

Von Philo01 nur für 25.00 Uhr erhältlich!

Artikelpreise

Anstatt eine neue API-Anfrage zu erstellen, um mehr über den Artikelpreis und die Lizenz zu erfahren, können wir sie einfach dem aktuellen API-Satz hinzufügen.

 $ API = new envatoAPI (); $ API-> set_api_set ('item: 147510 + Artikelpreise: 147510'); // Setze die API auf $ data = $ API-> request ();

Die Antwort der API ist unten:

 [item-prices] => Array ([0] => Array ([Lizenz] => reguläre Lizenz [Preis] => 25.00) [1] => Array ([Lizenz] => Erweiterte Lizenz [Preis] => 175.00 ))

Jetzt können wir diese zurückgegebenen Informationen auf unserer Artikelseite verwenden.

 

">

Durch

Preisgestaltung:

    '. $ p ['Lizenz']. '- $'. $ p ["Preis"]. ''; ?>

Benutzerelemente nach Site

Zum Abschluss fügen wir die Anzahl der Elemente hinzu, die der Benutzer hat. Wir können es einfach zum API-Set hinzufügen.

 $ API-> set_api_set ('item: 147510 + item-prices: 147510 + user-items-by-site: Philo01');

Und die Antwort:

 [user-items-by-site] => Array ([0] => Array ([Site] => ThemeForest [Elemente] => 1) [1] => Array ([Site] => CodeCanyon [Elemente] = > 5))

Fügen wir diese Informationen unserer Seite hinzu.

 

">

Durch

Preisgestaltung:

    '. $ p ['Lizenz']. '- $'. $ p ["Preis"]. ''; ?>

hat mehr Artikel auf dem Envato Marketplace

    '. $ p ['items']. ' beim ' . $ p ['Site']. ''; ?>

Schritt 7 - Testen der neuen Funktionen der privaten API

Um die privaten API-Funktionen nutzen zu können, benötigen Sie ein Marktplatzkonto und einen Kaufcode von einem Ihrer Kunden. Wir müssen zuerst diese Informationen definieren.

 $ API-> set_api_key ('ahdio270410ayap20hkdooxaadht5s'); $ API-> set_username ('JohnDoe');

Überprüfungskauf

Dadurch wird die API-URL automatisch von "public" in "private" geändert. Um die Dinge dynamischer zu gestalten, können wir ein kleines Formular erstellen, in das der Benutzer Informationen eingeben kann, um seinen Einkauf zu bestätigen.

Hinweis: Verwenden Sie beim Erstellen Ihrer eigenen Website keine Inline-Stile wie diese!

  

Kauf bestätigen

Dies gibt uns eine Grundform wie folgt:

Kommen wir nun zum PHP-Teil.

Zuerst müssen wir überprüfen, ob das Formular mit den erforderlichen Feldern ausgefüllt wurde. Wenn Sie dies auf einer Live-Website verwenden, denken Sie daran, mehr Validierung hinzuzufügen, um die Sicherheit zu erhöhen.

 if (isset ($ _ POST ['submit'])) // Weisen Sie den Variablen $ username = $ _POST ['username'] Daten zu. $ item_id = $ _POST ['item_id']; $ purchase_code = $ _POST ['purchase_code']; // Prüfen Sie, ob alle Felder ausgefüllt sind if (! Empty ($ username) &&! Empty ($ item_id) &&! Empty ($ purchase_code)) // API Request

Und jetzt die API-Anfrage.

 if (isset ($ _ POST ['submit'])) // Weisen Sie den Variablen $ username = $ _POST ['username'] Daten zu. $ item_id = $ _POST ['item_id']; $ purchase_code = $ _POST ['purchase_code']; // Prüfen Sie, ob alle Felder ausgefüllt sind if (! Empty ($ username) &&! Empty ($ item_id) &&! Empty ($ purchase_code)) $ API = new envatoAPI (); $ API-> set_api_key ('ahdio270410ayap20hkdooxaadht5s'); $ API-> set_username ('JohnDoe'); $ API-> set_api_set ('verify-purchase:'. $ Purchase_code); $ data = $ API-> request (); 

Eine gültige API-Antwort sieht so aus:

 Array ([verify-purchase] => Array ([Lizenz] => reguläre Lizenz [item_id] => 147510 [Käufer] => EnvatoDemo [created_at] => Do 31.12. 08:28:03 +1100 2009 [item_name] = > WordPress-Autohändler))

Wenn die Anforderung ungültig ist, gibt die API ein leeres Array zurück. Wenn wir eine Antwort von der API erhalten, bedeutet dies, dass der Kaufcode korrekt ist. Um es sicherer zu machen, stimmen wir es mit der eingegebenen Artikel-ID und dem Benutzernamen ab.

 if (isset ($ _ POST ['submit'])) // Weisen Sie den Variablen $ username = $ _POST ['username'] Daten zu. $ item_id = $ _POST ['item_id']; $ purchase_code = $ _POST ['purchase_code']; // Prüfen Sie, ob alle Felder ausgefüllt sind if (! Empty ($ username) &&! Empty ($ item_id) &&! Empty ($ purchase_code)) $ API = new envatoAPI (); $ API-> set_api_key ('ahdio270410ayap20hkdooxaadht5s'); $ API-> set_username ('JohnDoe'); $ API-> set_api_set ('verify-purchase:'. $ Purchase_code); $ data = $ API-> request (); if (! empty ($ data)) // Wir haben eine gültige API-Antwort erhalten. Passen Sie die Element-ID und den Benutzernamen an. if ($ data ['verify-purchase'] ['item_id'] == $ item_id && $ data [ 'verify-purchase'] ['seller'] == $ username) // Alles scheint richtig zu sein! Kauf bestätigt! // Zeige einige Informationen wie Kaufdatum und Lizenz-Echo '

Sie haben den Artikel am gekauft. $ data ['verify-purchase'] ['created_at']. ' mit dem ' . $ data ['verify-purchase'] ['Lizenz']. '!

'; else // Die Antwort von der API war leer.

Leider können wir Ihren Kauf nicht bestätigen.

';

Download-Kauf

Mit dem Download-Kauf-Set können Sie Ihre eigenen Einkäufe herunterladen, ohne den Marktplatz zu besuchen.

Hinweis: Der Download-Kauf funktioniert nur, wenn Sie Ihren eigenen API-Schlüssel und den Kaufcode eines von Ihnen erworbenen Produkts verwenden.

 

Artikel herunterladen

Jetzt, da wir unser Kontrollkästchen haben, nehmen wir einige Änderungen am Überprüfungsprozess vor.

Wir beginnen mit dem Erstellen einer neuen Variablen.

 // Daten den Variablen zuweisen $ username = $ _POST ['username']; $ item_id = $ _POST ['item_id']; $ purchase_code = $ _POST ['purchase_code']; $ download = (isset ($ _ POST ['download']))? $ _POST ['download']: ";

Wir müssen auch einige Änderungen am restlichen Code vornehmen:

 if (isset ($ _ POST ['submit'])) // Weisen Sie den Variablen $ username = $ _POST ['username'] Daten zu. $ item_id = $ _POST ['item_id']; $ purchase_code = $ _POST ['purchase_code']; $ download = (isset ($ _ POST ['download']))? $ _POST ['download']: "; // Prüfen Sie, ob alle Felder ausgefüllt sind if (! Empty ($ username) &&! Empty ($ item_id) &&! Empty ($ purchase_code)) $ API = new envatoAPI () $ API-> set_api_key ('ahdio270410ayap20hkdooxaadht5s'); $ API-> set_username ('JohnDoe'); // Wenn Download aktiviert ist, wird der Download-Kauf-Satz aufgerufen, wenn (! Empty ($ download)) $ API-> set_api_set ('download-purchase:'. $ purchase_code); $ data = $ API-> request (); // Setzt die Headerposition auf die Download-URL, die vom API-Header bereitgestellt wird ("Location:". $ data ['download- purchase '] [' download_url ']); else // Das Kontrollkästchen für das Herunterladen wurde nicht aktiviert. Überprüfen Sie daher die Anfrage zum Kauf von $ API-> set_api_set (' verify-purchase: '. $ purchase_code); $ data = $ API-> (); if (! empty ($ data)) // Wir haben eine gültige API-Antwort. Passen wir die Element-ID und den Benutzernamen an. if ($ data ['verify-purchase'] ['item_id'] == $ item_id && $ data ['verify-purchase'] ['buyers'] == $ username) // Alles scheint korrekt zu sein! Kauf verifiziert! // Informationen wie Kaufdatum und Lizenz-Echo anzeigen '

Sie haben den Artikel am gekauft. $ data ['verify-purchase'] ['created_at']. ' mit dem ' . $ data ['verify-purchase'] ['Lizenz']. '!

'; else // Die Antwort von der API war leer.

Leider können wir Ihren Kauf nicht bestätigen.

';

Mit diesen Änderungen sollte die Antwort so aussehen:

 Array ([download-purchase] => Array ([download_url] => http: //download/ourfile.zip? AWSAccessKeyId = 12345 & Expires = 6789 & Signature = HAoYF962% 53faf))

Fazit

Ich hoffe, Sie haben etwas über die Marktplatz-API von Envato gelernt. Wenn ja, dann nutzen Sie dieses Wissen und bauen Sie einige nette Anwendungen auf! Vielen Dank für das Lesen und lassen Sie uns wissen, wenn Sie Fragen oder Bedenken haben.