1+ # +----------------------------------------------------------------------------+
2+ # | CARDUI TECH v1.0.0
3+ # +----------------------------------------------------------------------------+
4+ # | Copyright (c) 2026 - 2026, CARDUITECH.COM (www.carduitech.com)
5+ # | Vanessa Reteguín <vanessa@reteguin.com>
6+ # | Released under the MIT license
7+ # | www.carduitech.com/license/
8+ # +----------------------------------------------------------------------------+
9+ # | Author.......: Vanessa Reteguín <vanessa@reteguin.com>
10+ # | First release: March 11th, 2026
11+ # | Last update..: March 16th, 2026
12+ # | WhatIs.......: Dog API (API connections exercise) - Main
13+ # +----------------------------------------------------------------------------++
14+
15+ # ------------ Resources / Documentation involved -------------
16+ # Dog API documentation: https://dogapi.dog/docs/api-v2
17+ # Star Wars API documentation: https://swapi.dev/documentation
18+ # SpaceX query launches API documentation: https://github.com/r-spacex/SpaceX-API/blob/master/docs/launches/v5/query.md
19+
20+ # -------------------------- Imports --------------------------
21+ from API_requester_class import API_Requester
22+
23+ # ------------------------- Variables -------------------------
24+ DogAPI_endpoint_facts = "https://dogapi.dog/api/v2/facts/"
25+ DogAPI_facts_breeds = {
26+ "limit" : "3"
27+ }
28+
29+ DogAPI_endpoint_breeds = "https://dogapi.dog/api/v2/breeds/"
30+ DogAPI_parameters_breeds = {
31+ "page[number]" : "1" ,
32+ "page[size]" : 2
33+ }
34+
35+ StarWars_endpoint_species = "https://swapi.dev/api/species/"
36+ StarWars_parameters_species = {
37+ "search" : "togruta"
38+ }
39+
40+ StarWars_endpoint_planets = "https://swapi.dev/api/planets/"
41+ StarWars_parameters_planets = {
42+ "search" : "naboo"
43+ }
44+
45+ SpaceX_endpoint_launches = "https://api.spacexdata.com/v5/launches/"
46+ SpaceX_parameters_launches = {
47+ "query" : {
48+ "upcoming" : True
49+ },
50+ "options" : {
51+ "limit" : 1 ,
52+ "sort" : {
53+ "flight_number" : "asc"
54+ }
55+ }
56+ }
57+
58+ # --------------------------- Code ----------------------------
59+ """
60+ dog_facts = API_Requester(endpoint=DogAPI_endpoint_facts, parameters=DogAPI_facts_breeds)
61+ dog_facts.fetch_data(show_url=True, show_status_code=True, show_json=True)
62+
63+ dog_breeds = API_Requester(endpoint=DogAPI_endpoint_breeds, parameters=DogAPI_parameters_breeds)
64+ dog_breeds.fetch_data(show_url=True, show_json=True)
65+ """
66+
67+ """
68+ starwars_species_facts = API_Requester(endpoint=StarWars_endpoint_species, parameters=StarWars_parameters_species)
69+ starwars_species_facts.fetch_data(show_url=True, show_status_code=True, show_json=True)
70+
71+ starwars_planets_facts = API_Requester(endpoint=StarWars_endpoint_planets, parameters=StarWars_parameters_planets)
72+ starwars_planets_facts.fetch_data(show_url=True, show_status_code=True, show_json=True)
73+ """
74+
75+ SpaceX_launches = API_Requester (endpoint = SpaceX_endpoint_launches , parameters = SpaceX_parameters_launches )
76+ launch_data = SpaceX_launches .fetch_data (show_url = True , show_status_code = True , show_json = False )
77+
78+ for i in range (0 , 4 ):
79+ print (f"""\n Mission data #{ i }
80+ Success: { launch_data [i ]['success' ]}
81+ Detail: { launch_data [i ]['details' ]}
82+ Article: { launch_data [i ]['links' ]['article' ]} """ )
0 commit comments