Git Product home page Git Product logo

peru-consult-api's Introduction

API Consulta Ruc y Dni - Perú

Github Actions docker Docker Pulls GitHub issues
API para consultar el DNI y RUC - Perú, empleando peru-consult package.

Requerimientos

  • PHP 7.4 o superior.

Instalar

Docker

Usar la imagen desde Docker Hub

docker run -d -p 8080:8080 --name peru-consult -e API_TOKEN=your_key giansalex/peru-consult-api

Construir desde codigo fuente

git clone https://github.com/giansalex/peru-consult-api.git
cd peru-consult-api
composer install
php -S 0.0.0.0:8080 -t public

Ejemplos

GraphQL

Implementando soporte para graphql utilizar el endpoint /api/graph

query {
    person(dni: "48004836") {
    	dni
    	nombres
    },
    company(ruc: "20131312955") {
    	ruc
    	razonSocial
    }
}

Respuesta:

{
    "data": {
        "person": {
            "dni": "48004836",
            "nombres": "ROBERTO CARLOS"
        },
        "company": {
            "ruc": "20131312955",
            "razonSocial": "SUPERINTENDENCIA NACIONAL DE ADUANAS Y DE ADMINISTRACION TRIBUTARIA - SUNAT"
        }
    }
}

DNI

Ejecutar usando Curl.

curl -H "Accept: application/json" http://localhost:8080/api/v1/dni/48004836?token=abcxyz

Respuesta:

{
  "dni": "48004836",
  "nombres": "ROBERTO CARLOS",
  "apellidoPaterno": "SULCA",
  "apellidoMaterno": "BASILIO",
  "codVerifica": "4"
}

RUC

Ejecutar usando Curl.

curl -H "Accept: application/json" http://localhost:8080/api/v1/ruc/20131312955?token=abcxyz

Respuesta:

{
  "ruc": "20131312955",
  "razonSocial": "SUPERINTENDENCIA NACIONAL DE ADUANAS Y DE ADMINISTRACION TRIBUTARIA - SUNAT",
  "nombreComercial": "-",
  "tipo": "INSTITUCIONES PUBLICAS",
  "estado": "ACTIVO",
  "condicion": "HABIDO",
  "direccion": "AV. GARCILASO DE LA VEGA NRO. 1472",
  "departamento":"LIMA",
  "provincia":"LIMA",
  "distrito":"LIMA",
  "fechaInscripcion": "1993-05-04T00:00:00.000Z",
  "sistEmsion": "MANUAL/COMPUTARIZADO",
  "sistContabilidad": "COMPUTARIZADO",
  "actExterior": "SIN ACTIVIDAD",
  "actEconomicas": [
    "75113 - ACTIV. ADMINIST. PUBLICA EN GENERAL"
  ],
  "cpPago": [
    "FACTURA",
    "BOLETA DE VENTA",
    "NOTA DE CREDITO",
    "NOTA DE DEBITO",
    "GUIA DE REMISION - REMITENTE",
    "COMPROBANTE DE RETENCION",
    "POLIZA DE ADJUDICACION POR REMATE DE BIENES"
  ],
  "sistElectronica": [
    "FACTURA PORTAL                      DESDE 07/08/2013",
    "BOLETA PORTAL                       DESDE 01/04/2016"
  ],
  "fechaEmisorFe": "2013-08-07T00:00:00.000Z",
  "cpeElectronico": [
    "FACTURA (desde 07/08/2013)",
    "BOLETA (desde 01/04/2016)"
  ],
  "fechaPle": "2013-01-01T00:00:00.000Z",
  "padrones": [
    "Incorporado al Régimen de Agentes de Retención de IGV (R.S.037-2002) a partir del 01/06/2002"
  ],
  "fechaBaja": null,
  "profesion": ""
}

Consulta Validez Usuario SOL

Ejecutar usando Curl.

curl http://localhost:8080/api/v1/user-sol/20000000001/GMABCI?token=abcxyz

Respuesta:

true

GraphiQL Tool

Para mejorar aún más nuestra experiencia en pruebas, sugerimos comenzar a utilizar el cliente GraphiQL. Es un Explorador de esquema GraphQL que puede descargar desde Chrome Store. Utilizar el endpoint /api/v1/graph, el editor tiene una función de autocompletar y contiene toda la información sobre el esquema actual en el lado derecho en la barra lateral de Documentos: GraphiQL Interface

peru-consult-api's People

Contributors

dependabot[bot] avatar giansalex avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

peru-consult-api's Issues

Desplegar el api en hosting

Saludos estimado @giansalex .
Estuve intentado desplegar el apli en mi cloud. pero no me funciona simplemente no agarra el index
Hay alguna ruta que hay que cambiar para que pueda funcionar en la nube ya que local me funciona correctamente.

Error with deploy in docker

Hola tengo este problema al desplegar en un contenedor de docker:

--
  | > ReactPHP HTTP Server for DriftPHP
  | > by Marc Morera (@mmoreram)
  | >
  | > Host: 0.0.0.0
  | > Port: 8080
  | > Environment: prod
  | > Debug: disabled
  | > Static Folder: /public/
  | > Adapter: App\AppKernelAdapter
  | > Workers: 8
  | > Exchanges subscribed: disabled
  | > Loaded bootstrap file: /var/www/html/config/bootstrap.php
  | > Allowed number of loop stops: 0
  | >
  |  
  |  
  | In Filesystem.php line 179:
  |  
  | Failed to remove file "/var/www/html/var/cache/prod/annotations.map": unlin
  | k(/var/www/html/var/cache/prod/annotations.map): Permission denied
  |  
  |  
  | run [--env [ENV]] [--dev] [--almost-quiet] [--static-folder [STATIC-FOLDER]] [--no-static-folder] [--debug] [--no-header] [--no-cookies] [--no-file-uploads] [--concurrent-requests [CONCURRENT-REQUESTS]] [--request-body-buffer [REQUEST-BODY-BUFFER]] [--adapter [ADAPTER]] [--allowed-loop-stops [ALLOWED-LOOP-STOPS]] [--workers [WORKERS]] [--]

-------------------------- Me imagino que tiene que ver con la imagen del docker.

Espero pueda ayudarme gracias.
Docker Image: giansalex/peru-consult-api:latest

Error al hacer el build en docker

Hola Giancarlos:

Estoy tratando de construir el contenedor pero al momento que se ejecuta estas dos líneas en el Dockerfile:
17 RUN git apply docker/drift-kernel.patch
18 RUN git apply docker/drift-adapter.patch

Hay un error que retorna: [nonzero return code 128']
pero si comento estas dos líneas o las borro sí se logra construir el contenedor. El problema es que luego no puede ejecutarlo.

Hay alguna actualización pendiente en tu repositorio?

Gracias de antemano por tu respuesta.

Habilitar CORS

Hola, @giansalex hay alguna forma de habilitar CORS, quiero hacer una solicitud y sale que están bloqueadas las solicitudes. Estoy intentando hacer un ajax. Muchas gracias

Jne DNI

Hola Gian, al actualizar vendor peru-consult con el último commit se corrige también aquí en el proyecto API. ?

Error al ejecutar consulta RUC

Se presenta un error al probar el api.

http://localhost:8080/api/v1/ruc/20131312955?token=abcxyz

TypeError:
Return value of App\Kernel::handle() must be an instance of Symfony\Component\HttpFoundation\Response, null returned

at src/Kernel.php:56
at App\Kernel->handle()
(public/index.php:20)

PHP v7.4

Revisando el código encuentro que en peru-consult-api/src/Controller/RucController.php:

esta función retorna null

public function index($ruc): PromiseInterface
{
return $this->service
->get($ruc)
->then(function (?Company $company) {

            if (!$company) {
                throw new BadRequestHttpException();
            }
            return new JsonResponse($company);
            
        });
}

Mayores de edad recien cumplidos

Estimado GianCarlo, como te va tenia una duda, el dia de ayer me paso un caso peculiar, ya que en la busqueda de DNI puse un DNI de una persona que recien habia cumplido años en enero y aun no figuraban sus datos, el DNI es 70543071, y eso que ya contaba con el DNI azul fisico, alguna sugerencia?

direccion de personas naturales

de todas las personas naturales con negocio (los que empiezan con ruc 10) siempre la direccion sale como : '-' esto es asi siempre o es algun fallo ?

error al consultar DNI

hoy realice unas pruebas y la consulta de DNI dejo de funcionar, dias atras estuvo normal, la consulta RUC esta normal:
el error es este:
22
h1

Consulta de RUC no funciona

Al consultar el RUC de la siguiente forma:
http://localhost:8080/api/v1/ruc/20209443237?token=abcxyz

Se dispara el siguiente error la mayoría de las veces:

Symfony\Component\HttpKernel\Exception\BadRequestHttpException:

at src/Controller/RucController.php:41
at App\Controller\RucController->App\Controller{closure}()
(vendor/react/promise/src/FulfilledPromise.php:28)
at React\Promise\FulfilledPromise->then()
(vendor/react/promise/src/Promise.php:134)
at React\Promise\Promise::React\Promise{closure}()
(vendor/react/promise/src/Promise.php:168)
at React\Promise\Promise->settle()
(vendor/react/promise/src/Promise.php:231)
at React\Promise\Promise::React\Promise{closure}()
(vendor/react/promise/src/FulfilledPromise.php:42)
at React\Promise\FulfilledPromise->done()
(vendor/react/promise/src/Promise.php:135)
at React\Promise\Promise::React\Promise{closure}()
(vendor/react/promise/src/Promise.php:168)
at React\Promise\Promise->settle()
(vendor/react/promise/src/Promise.php:231)
at React\Promise\Promise::React\Promise{closure}()
(vendor/react/promise/src/FulfilledPromise.php:42)
at React\Promise\FulfilledPromise->done()
(vendor/react/promise/src/Promise.php:66)
at React\Promise\Promise::React\Promise{closure}()
(vendor/react/promise/src/Promise.php:168)
at React\Promise\Promise->settle()
(vendor/react/promise/src/Promise.php:231)
at React\Promise\Promise::React\Promise{closure}()
(vendor/react/promise/src/FulfilledPromise.php:42)
at React\Promise\FulfilledPromise->done()
(vendor/react/promise/src/Promise.php:135)
at React\Promise\Promise::React\Promise{closure}()
(vendor/react/promise/src/Promise.php:168)
at React\Promise\Promise->settle()
(vendor/react/promise/src/Promise.php:231)
at React\Promise\Promise::React\Promise{closure}()
(vendor/react/promise/src/Deferred.php:36)
at React\Promise\Deferred->resolve()
(vendor/react/http/src/Io/Transaction.php:90)
at React\Http\Io\Transaction->React\Http\Io{closure}()
(vendor/react/promise/src/FulfilledPromise.php:28)
at React\Promise\FulfilledPromise->then()
(vendor/react/promise/src/Promise.php:134)
at React\Promise\Promise::React\Promise{closure}()
(vendor/react/promise/src/Promise.php:168)
at React\Promise\Promise->settle()
(vendor/react/promise/src/Promise.php:231)
at React\Promise\Promise::React\Promise{closure}()
(vendor/react/promise/src/FulfilledPromise.php:42)
at React\Promise\FulfilledPromise->done()
(vendor/react/promise/src/Promise.php:135)
at React\Promise\Promise::React\Promise{closure}()
(vendor/react/promise/src/Promise.php:168)
at React\Promise\Promise->settle()
(vendor/react/promise/src/Promise.php:231)
at React\Promise\Promise::React\Promise{closure}()
(vendor/react/promise/src/FulfilledPromise.php:42)
at React\Promise\FulfilledPromise->done()
(vendor/react/promise/src/Promise.php:66)
at React\Promise\Promise::React\Promise{closure}()
(vendor/react/promise/src/Promise.php:168)
at React\Promise\Promise->settle()
(vendor/react/promise/src/Promise.php:231)
at React\Promise\Promise::React\Promise{closure}()
(vendor/react/promise/src/FulfilledPromise.php:42)
at React\Promise\FulfilledPromise->done()
(vendor/react/promise/src/Promise.php:135)
at React\Promise\Promise::React\Promise{closure}()
(vendor/react/promise/src/Promise.php:168)
at React\Promise\Promise->settle()
(vendor/react/promise/src/Promise.php:231)
at React\Promise\Promise::React\Promise{closure}()
(vendor/react/promise/src/FulfilledPromise.php:42)
at React\Promise\FulfilledPromise->done()
(vendor/react/promise/src/Promise.php:135)
at React\Promise\Promise::React\Promise{closure}()
(vendor/react/promise/src/Promise.php:168)
at React\Promise\Promise->settle()
(vendor/react/promise/src/Promise.php:231)
at React\Promise\Promise::React\Promise{closure}()
(vendor/react/promise-stream/src/functions.php:75)
at React\Promise\Stream{closure}()
(vendor/evenement/evenement/src/Evenement/EventEmitterTrait.php:123)
at Evenement\EventEmitter->emit()
(vendor/react/http/src/Io/ReadableBodyStream.php:50)
at React\Http\Io\ReadableBodyStream->close()
(vendor/react/http/src/Io/ReadableBodyStream.php:151)
at React\Http\Io\ReadableBodyStream->handleEnd()
(vendor/react/http/src/Io/ReadableBodyStream.php:33)
at React\Http\Io\ReadableBodyStream->React\Http\Io{closure}()
(vendor/evenement/evenement/src/Evenement/EventEmitterTrait.php:123)
at Evenement\EventEmitter->emit()
(vendor/react/http/src/Client/Request.php:163)
at React\Http\Client\Request->handleData()
(vendor/evenement/evenement/src/Evenement/EventEmitterTrait.php:123)
at Evenement\EventEmitter->emit()
(vendor/react/stream/src/Util.php:71)
at React\Stream\Util::React\Stream{closure}()
(vendor/evenement/evenement/src/Evenement/EventEmitterTrait.php:123)
at Evenement\EventEmitter->emit()
(vendor/react/stream/src/DuplexResourceStream.php:196)
at React\Stream\DuplexResourceStream->handleData()
(vendor/react/event-loop/src/StreamSelectLoop.php:245)
at React\EventLoop\StreamSelectLoop->waitForStreamActivity()
(vendor/react/event-loop/src/StreamSelectLoop.php:212)
at React\EventLoop\StreamSelectLoop->run()
(src/Kernel.php:54)
at App\Kernel->handle()
(public/index.php:20)

obtener variables del json

amigo intente obtener solo rasonsocial,ruc,direcion convirtiendo el json
var_dump(json_decode($json));
var_dump(json_decode($json, true));

$company['razonSocial'];
$company['ruc'];
$company['direccion'];

pero no me convierte
Uncaught Error: Cannot use object of type Peru\Sunat\Company as array in

api dni caido

hola, al hacer una solicitud para el din obtengo el siguiente error

{
"$id": "1",
"Message": "An error has occurred."
}

tengo el curl que facilitaron oar hacer la consulta a traves del jne y obtengo ese error

Como desplegar en cpanel

Buenas tardes, intengo hacer despliegue en cpanel pero no me deja, alguna orientacion especifica?

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.