Git Product home page Git Product logo

api's Introduction

The RetroBox's API

Github Actions

Requirement

  • Php 7.4 or higher
  • Mysql 5 or higher server
  • Jobatator to manage queue/jobs
  • Redis or a Redis compatible server like KeyValuer

Install

  • Clone this repo
  • Run composer install
  • Use .env.example to create your own .env
  • Start the api with php -S 127.0.0.1:8000 -t public

Debug setup

Recommended environment variables values:

  • In development: SENTRY_ENABLE=0 because you don't want to float sentry and APP_DEBUG=1 to get the nice pretty whoops guard web interface to debug.
  • In production: 'SENTRY_ENABLE=1' to get log to sentry and APP_DEBUG=0 to hide details of exception, but still if APP_DEBUG is false you will get some kind of details in JSON when the server fail

Description route API

1. Basics

Route Type Auth Params Description
/ GET No Affiche les infos générales sur l'api : env, version...
/ping GET No Pong !
/newsletter/subscribe POST No email Inscrire une adresse mail
/newsletter/event GET No Vérification si la route existe bien apr Mailchimp
/newsletter/event POST No Route appelée par Mailchimp, envoi un webhook Discord.

2. GraphQL

Route Type Auth Params Description
/graphql POST Yes (Bearer) yourBearerToken

To see all schema with all descriptions, you can check here.

This is a schema generated automatically by graphql-markdown (here).

Script command (add to your package.json) :

node ./src/index.js --header \"Authorization=Bearer yourToken\" https://api.retrobox.tech/graphql > schema.md

How to get your Bearer Token ?

  1. Be sure that you are well connected with your stail.eu account
  2. Press F12, go to the Console tab
  3. Write this function in the prompt getToken()
  4. Then it will return your unique Bearer token

3. Paiements

Route Type Auth Params Description
/stripe/execute POST Yes token items shipping_country shipping_method Appelée par le front avec un token Stripe
/stripe/create POST Yes token items shipping_country shipping_method Créer la session de paiement
/paypal/get-url POST Yes items shipping_country shipping_method Récuperer l'url fin de paiement
/paypal/execute GET No items shipping_country shipping_method Appelée par le front une fois redirigé par Paypal

⚠️ Deprecated :

Route Type Auth Params Description
/paysafecard/capture_payments POST No Appelée par PSC
/paysafecard/success GET No Redirection de l'utilisateur en cas de paiement réussi
/paysafecard/failure GET No Redirection de l'utilisateur en cas de d'un échec
/paysafecard/get_url GET No Récuperer l'url fin de paiement

4. Accounts Controller

Route Type Auth Params Description
/info GET Yes Récuperer les infos de l'user connecté actuellement
/login GET No Avoir l'url de stail.eu
/register GET No Avoir l'url de stail.eu
/login-desktop GET No Lien pour lier l'app desktop
/login-desktop POST Yes token Appelée par le front pour lier avec le compte
/execute GET/POST Yes code Executer une connexion stail.eu

5. Dashboard Controller

Route Type Auth Params Description
[/] GET Yes Renvoi les infos user, les commandes et les consoles
/upload POST Yes file Upload d'un rom (WIP)
/delete GET Yes Supprimer son compte

6. Shop Controller

Route Type Auth Params Description
/storage-prices GET No Avoir les différents prix d'une console
/shipping-prices GET No Avoir les prix des FDP en fonction du poids et du contry code
/{locale}/categories GET No Avoir les catégories en fonction des locales
/{locale}/item/{slug} GET No Avoir les nom des objets en fonction des locales
/cache/shop/generate GET No Regenerer le cache du shop

7. Others

Route Type Auth Params Description
/console/verify POST No console_id console_token Appelée par la console pour initialiser l'overlay
/downloads GET No Renvoyer les liens pour telechager l'app desktop
/docs/{locale}/{slug} GET No /deprecated\ Retourne le markdown en fonction de la locales
/websocket/connexions GET is-admin Retourne les différentes connexions ouvertes sur le serveur web-socket
/countries/{locale} GET No Retourne la liste de tous les pays dans la locale spécifiée
/health GET No Voir l'état des connexions avec les services externes (MySQL, Redis, Web-Socket, Jobatator)
/test-send-email-event GET No Envoyer un email de test
/dangerously-truncate-table GET No Fonctionne seulement dans l'env "test"

api's People

Contributors

lefuturiste avatar stoneset avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.