pabon/camara-comercio-bogota-sdk

Installs: 5

Dependents: 0

Suggesters: 0

Security: 0

Stars: 0

Watchers: 0

Forks: 0

Open Issues: 0

pkg:composer/pabon/camara-comercio-bogota-sdk

1.0 2025-12-10 00:04 UTC

This package is not auto-updated.

Last update: 2025-12-24 19:24:35 UTC


README

SDK PHP para consultar información empresarial en la Cámara de Comercio de Bogotá utilizando los servicios de PlacetoPay.

Instalación

Agrega el repositorio privado de PlacetoPay a tu composer.json:

{
    "repositories": [
        {
            "type": "composer",
            "url": "https://dev.placetopay.com/repository"
        }
    ]
}

Instala el paquete:

composer require placetopay/camara-comercio-bogota-sdk

Configuración Básica

use PlacetoPay\Base\Entities\Person;
use Placetopay\CamaraComercioBogotaSdk\Gateway;
use Placetopay\CamaraComercioBogotaSdk\Entities\ConsultInformationTransaction;

$gateway = new Gateway([
    'username' => 'your-service-username',
    'password' => 'your-service-password',
    'url' => 'https://api.camaracomercio.gov.co',
    'simulatorMode' => false, // Habilítalo durante el desarrollo
]);

$transaction = new ConsultInformationTransaction([
    'person' => new Person([
        'document' => '9012703752',
        'documentType' => 'NIT', // Ver mapeo de tipos de documento
    ]),
]);

$response = $gateway->consultInformation($transaction);

if ($response->status()->isSuccessful()) {
    $company = $response->company(); // Información ya normalizada y filtrada
}

Mapeo de tipos de documento

El API de la Cámara de Comercio espera valores numéricos para el tipo de identificación. El SDK incluye el DocumentTypeMapper para hacer esta conversión automáticamente.

Tipo entrada Valor enviado al API
CC 1
NIT 2
CE 3
PASSPORT / PA 4
TI 5
1 - 5 Se envían tal cual

Cualquier otro valor generará una excepción antes de hacer la petición.

Transformación de la respuesta

El SDK estandariza la respuesta del servicio externo mediante CompanyDataTransformer:

  • Normaliza y limpia los campos (trim, remueve valores como Sin dato y entradas vacías).
  • Traduce claves a inglés y agrupa secciones (identification, registry, legal, contacts, financials, etc.).
  • Convierte los valores numéricos a float.
  • Elimina secciones vacías para entregar un objeto limpio y fácil de consumir.

Pruebas

Se incluye una suite de pruebas que cubre:

  • Flujo completo de consulta (tests/Feature/ConsultInformationTest.php).
  • Resolución de configuración (tests/Unit/SettingsResolverTest.php).
  • Clases auxiliares (DocumentTypeMapper y CompanyDataTransformer).

Ejecuta todas las pruebas con:

composer test

o directamente:

vendor/bin/phpunit