Integración

API DNI en PHP y Laravel — Integración completa

Consulta RENIEC desde PHP y Laravel con la API DNI de JSON.pe. Service class incluido.

Equipo Json.pe··5 min

PHP nativo

<?php
$token = getenv('JSONPE_TOKEN');
$ch = curl_init('https://api.json.pe/api/dni');
curl_setopt_array($ch, [
    CURLOPT_POST => true,
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_HTTPHEADER => [
        "Authorization: Bearer $token",
        'Content-Type: application/json',
    ],
    CURLOPT_POSTFIELDS => json_encode(['dni' => '27427864']),
]);
$data = json_decode(curl_exec($ch), true);

Laravel Service

namespace App\Services;

use Illuminate\Support\Facades\Http;

class JsonPeService
{
    public function consultarDni(string $dni): array
    {
        return Http::withToken(config('services.jsonpe.token'))
            ->post('https://api.json.pe/api/dni', ['dni' => $dni])
            ->throw()
            ->json();
    }
}

Configuración .env

JSONPE_TOKEN=tu_token_aqui

Regístrate en app.json.pe/signup para obtener tu token.