Initial commit: Horux Backend API
- API REST para gestion de facturas electronicas mexicanas (CFDI) - Laravel 9 con autenticacion OAuth 2.0 (Passport) - Integracion con Syntage, Clerk y Facturama - 30 modelos Eloquent, 39 controladores - Documentacion completa en /docs Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
142
routes/api.php
Normal file
142
routes/api.php
Normal file
@@ -0,0 +1,142 @@
|
||||
<?php
|
||||
|
||||
use App\Http\Controllers\controladorPrueba;
|
||||
use Illuminate\Http\Request;
|
||||
use Illuminate\Support\Facades\Route;
|
||||
use Laravel\Socialite\Facades\Socialite;
|
||||
use App\Http\Controllers;
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| API Routes
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| Here is where you can register API routes for your application. These
|
||||
| routes are loaded by the RouteServiceProvider within a group which
|
||||
| is assigned the "api" middleware group. Enjoy building your API!
|
||||
|
|
||||
*/
|
||||
|
||||
Route::post('/auth', function (Request $request) {
|
||||
// Realizar una petición POST con encabezados
|
||||
$response = Http::withHeaders([
|
||||
'Content-Type' => 'application/x-www-form-urlencoded',
|
||||
'Authorization' => 'Basic RXlhZlNidnIyZWNYQTh5azpza190ZXN0X1ZpVng2T3hxQ2RkTkZOckdhaDQyTTM5dDhCTVFIY2l4RWxWRDYwNGRXTw=='
|
||||
])->asForm()->post('https://exact-trout-82.clerk.accounts.dev/oauth/token', [
|
||||
'grant_type' => 'authorization_code',
|
||||
'code' => $request->code,
|
||||
'redirect_uri' => 'https://horuxfin.com/callback'
|
||||
]);
|
||||
|
||||
// Verificar si la petición fue exitosa
|
||||
if ($response->successful()) {
|
||||
// Manejar la respuesta exitosa
|
||||
$requestToken = Request::create("/oauth/token", "POST", [
|
||||
'grant_type' => 'social',
|
||||
'client_id' => config('app.client_id'),
|
||||
'client_secret' => config('app.client_secret'),
|
||||
'provider' => 'clerk',
|
||||
'access_token' => $response['access_token']
|
||||
]);
|
||||
$oauth = app()->handle($requestToken);
|
||||
return $oauth;
|
||||
} else {
|
||||
$response = Http::withHeaders([
|
||||
'Content-Type' => 'application/x-www-form-urlencoded',
|
||||
'Authorization' => 'Basic T0JlRk1lRzYwVVJHenFjVTpza190ZXN0X1ZpVng2T3hxQ2RkTkZOckdhaDQyTTM5dDhCTVFIY2l4RWxWRDYwNGRXTw=='
|
||||
])->asForm()->post('https://exact-trout-82.clerk.accounts.dev/oauth/token', [
|
||||
'grant_type' => 'authorization_code',
|
||||
'code' => $request->code,
|
||||
'redirect_uri' => 'http://localhost:3000/callback'
|
||||
]);
|
||||
|
||||
// Verificar si la petición fue exitosa
|
||||
if ($response->successful()) {
|
||||
// Manejar la respuesta exitosa
|
||||
$requestToken = Request::create("/oauth/token", "POST", [
|
||||
'grant_type' => 'social',
|
||||
'client_id' => config('app.client_id'),
|
||||
'client_secret' => config('app.client_secret'),
|
||||
'provider' => 'clerk',
|
||||
'access_token' => $response['access_token']
|
||||
]);
|
||||
$oauth = app()->handle($requestToken);
|
||||
return $oauth;
|
||||
} else {
|
||||
// Manejar la respuesta fallida
|
||||
return response()->json();
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
Route::get('/retenciones', [Controllers\InvoiceController::class, 'retenciones']);
|
||||
Route::group([
|
||||
'middleware' => 'throttle:custom-origin'
|
||||
], function() {
|
||||
Route::post('/invoice-endpoint', [Controllers\InvoiceController::class, 'invoiceEndpoint']);
|
||||
});
|
||||
|
||||
Route::group([
|
||||
'middleware' => 'auth:api'
|
||||
], function() {
|
||||
Route::post('/insertar-rfc', [Controllers\RfcController::class, 'insertarRfc']);
|
||||
Route::get('/obtener-rfcs', [Controllers\RfcController::class, 'obtenerRfcs']);
|
||||
|
||||
Route::get('/tipos-factura', [Controllers\InvoiceTypeController::class, 'get']);
|
||||
Route::get('/uso-factura', [Controllers\UsageController::class, 'get']);
|
||||
Route::get('/tipos-pago', [Controllers\PaymentTypeController::class, 'get']);
|
||||
Route::get('/metodos-pago', [Controllers\PaymentMethodController::class, 'get']);
|
||||
Route::get('/monedas', [Controllers\CurrencyController::class, 'get']);
|
||||
Route::get('/regimenes-fiscales', [Controllers\TaxRegimeController::class, 'get']);
|
||||
Route::get('/codigos-prod-serv', [Controllers\ProdServCodeController::class, 'get']);
|
||||
Route::get('/codigos-unidad', [Controllers\UnitCodeController::class, 'get']);
|
||||
Route::get('/impuestos', [Controllers\TaxController::class, 'get']);
|
||||
Route::get('/tasas-impuesto', [Controllers\TaxRateController::class, 'get']);
|
||||
|
||||
Route::get('/obtener-facturas', [Controllers\InvoiceController::class, 'obtenerFacturas']);
|
||||
Route::get('/endpoint-facturas', [Controllers\InvoiceController::class, 'endpointObtenerFacturas']);
|
||||
Route::get('/facturas-emitidas', [Controllers\InvoiceController::class, 'facturasEmitidas']);
|
||||
Route::get('/facturas-emitidas-conciliadas', [Controllers\InvoiceController::class, 'facturasEmitidasConciliadas']);
|
||||
Route::get('/facturas-recibidas', [Controllers\InvoiceController::class, 'facturasRecibidas']);
|
||||
Route::get('/facturas-recibidas-conciliadas', [Controllers\InvoiceController::class, 'facturasRecibidasConciliadas']);
|
||||
Route::post('/conciliar-facturas', [Controllers\InvoiceController::class, 'conciliarFacturas']);
|
||||
Route::get('/descargar-factura', [Controllers\InvoiceController::class, 'descargarFactura']);
|
||||
Route::get('/obtener-complementos-pago', [Controllers\InvoicePaymentController::class, 'obtenerComplementosPago']);
|
||||
Route::get('/obtener-contribuyente', [Controllers\TaxpayerController::class, 'obtenerContribuyente']);
|
||||
Route::get('/obtener-lineas-facturas', [Controllers\InvoiceLineController::class, 'obtenerLineasFacturas']);
|
||||
Route::get('/obtener-facturas-conceptos', [Controllers\InvoiceLineController::class, 'obtenerFacturasConceptos']);
|
||||
|
||||
Route::get('/ingreso-tipo-i', [Controllers\InvoiceController::class, 'ingresoTipoI']);
|
||||
Route::get('/gasto-tipo-i', [Controllers\InvoiceController::class, 'gastoTipoI']);
|
||||
Route::get('/ingreso-tipo-e', [Controllers\InvoiceController::class, 'ingresoTipoE']);
|
||||
Route::get('/gasto-tipo-e', [Controllers\InvoiceController::class, 'gastoTipoE']);
|
||||
Route::get('/gasto-tipo-n', [Controllers\InvoiceController::class, 'gastoTipoN']);
|
||||
Route::get('/ingreso-ppd', [Controllers\InvoicePaymentController::class, 'ingresoPpd']);
|
||||
Route::get('/gasto-ppd', [Controllers\InvoicePaymentController::class, 'gastoPpd']);
|
||||
Route::get('/adquisicion-pue', [Controllers\InvoiceController::class, 'adquisicionPue']);
|
||||
Route::get('/adquisicion-ppd', [Controllers\InvoicePaymentController::class, 'adquisicionPpd']);
|
||||
Route::get('/obtener-metricas', [Controllers\InvoiceController::class, 'obtenerMetricas']);
|
||||
Route::get('/obtener-metricas-mensuales', [Controllers\InvoiceController::class, 'obtenerMetricasMensuales']);
|
||||
|
||||
Route::post('/importar-facturas', [Controllers\InvoiceController::class, 'importarFacturas']);
|
||||
Route::post('/importar-lineas-facturas', [Controllers\InvoiceLineController::class, 'importarLineasFacturas']);
|
||||
Route::post('/importar-codigos-prod-serv', [Controllers\ProdServCodeController::class, 'importarCodigosProdServ']);
|
||||
Route::post('/importar-codigos-unidad', [Controllers\UnitCodeController::class, 'importarCodigosUnidad']);
|
||||
|
||||
});
|
||||
|
||||
Route::post('/consultarmetrica', [Controllers\MetricasController::class, 'consultarMetricas']);
|
||||
Route::post('/insertmetrica', [Controllers\MetricasController::class, 'store']);
|
||||
|
||||
Route::post('/consultarcomparativo', [Controllers\ComparativomensualController::class, 'consultarComparativo']);
|
||||
Route::post('/insertcomparativo', [Controllers\ComparativomensualController::class, 'store']);
|
||||
|
||||
Route::get('/obtener-ingresos', [Controllers\InvoiceController::class, 'ingresos']);
|
||||
Route::post('/obtener-egresos', [Controllers\InvoiceController::class, 'egresos']);
|
||||
Route::get('/ivaAFavor', [Controllers\InvoiceController::class, 'ivaAFavor']);
|
||||
Route::get('/utilidadBrutaVsIndustria', [Controllers\TaxpayerController::class, 'utilidadBrutaVsIndustria']);
|
||||
|
||||
|
||||
Route::post('/usuariosat', [Controllers\usuariossatController::class, 'store']);
|
||||
|
||||
Route::get('/risk', [Controllers\RiskController::class, 'consultarRisk']);
|
||||
Reference in New Issue
Block a user