承接 msweb/copomex-php-client 相关项目开发

从需求分析到上线部署,全程专人跟进,保证项目质量与交付效率

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

msweb/copomex-php-client

Composer 安装命令:

composer require msweb/copomex-php-client

包简介

Cliente PHP para la API de Copomex — códigos postales de México

README 文档

README

Copomex

copomex-php-client

Cliente PHP para la API de Copomex — consulta de códigos postales, colonias, municipios, estados, localidades, vialidades y geocoding de México.

  • PHP 8.1+
  • Sin dependencias externas (usa cURL nativo)
  • PSR-4 autoloading
  • Cubre los 24 endpoints disponibles

Instalación

composer require msweb/copomex-php-client

Inicio rápido

use Copomex\Copomex;

$client = new Copomex('TU_TOKEN');

$info = $client->infoCp('06600', simplified: true);
print_r($info);

Puedes usar 'pruebas' como token para hacer pruebas sin costo ni registro. Los datos devueltos son aleatorios pero la estructura es real.

Manejo de errores

use Copomex\Copomex;
use Copomex\Exception\CopomexAPIException;
use Copomex\Exception\CopomexHTTPException;

$client = new Copomex('TU_TOKEN');

try {
    $result = $client->infoCp('99999');
} catch (CopomexAPIException $e) {
    echo "Error de API [{$e->apiCode}]: {$e->apiMessage}";
} catch (CopomexHTTPException $e) {
    echo "Error HTTP: {$e->statusCode}";
}
Clase Cuándo se lanza
CopomexAPIException La API devuelve error: true. Tiene ->apiCode y ->apiMessage.
CopomexHTTPException Respuesta HTTP no exitosa (4xx, 5xx). Tiene ->statusCode.
CopomexException Clase base de las dos anteriores.

Referencia de métodos

Constructor

new Copomex(string $token, int $timeout = 10)
Parámetro Descripción
$token Tu token de acceso. Usa 'pruebas' para desarrollo.
$timeout Timeout de la petición en segundos (default: 10).

Códigos postales

infoCp(string $cp, bool $simplified = false): array

Información completa de un código postal.

Sin $simplified, devuelve un array de arrays (una entrada por colonia). Con true, devuelve un array con datos agregados.

$colonias = $client->infoCp('06600');                    // array[]
$info     = $client->infoCp('06600', simplified: true);  // array

searchCp(string $texto, ?int $limit = null): array

Búsqueda por coincidencia parcial de código postal.

$client->searchCp('066');
$client->searchCp('066', limit: 10);

getColoniaPorCp(string $cp): array

Colonias asociadas a un código postal.

$client->getColoniaPorCp('06600');

getCpPorEstado(string $estado): array

Todos los códigos postales de un estado.

$client->getCpPorEstado('Jalisco');

getCpPorMunicipio(string $municipio): array

Códigos postales de un municipio.

$client->getCpPorMunicipio('Guadalajara');

searchCpAdvanced(string $estado, ?int $limit, ?string $municipio, ?string $colonia): array

Búsqueda avanzada de CPs con filtros opcionales (coincidencia parcial).

$client->searchCpAdvanced('Jalisco', municipio: 'Guadalajara', limit: 20);
$client->searchCpAdvanced('CDMX', colonia: 'Condesa');

getCpAdvanced(string $estado, ?int $limit, ?string $municipio, ?string $colonia): array

Búsqueda exacta de CPs con filtros (coincidencias exactas, no parciales).

$client->getCpAdvanced('Jalisco', municipio: 'Guadalajara');

Estados

getEstados(): array

Lista de todos los estados de México.

$client->getEstados();

getEstadoClave(): array

Estados con su clave oficial INEGI.

$client->getEstadoClave();

Municipios

getMunicipioPorEstado(string $estado): array

Municipios de un estado.

$client->getMunicipioPorEstado('Jalisco');

getMunicipioClavePorEstado(string $estado): array

Municipios con clave INEGI, filtrados por nombre de estado.

$client->getMunicipioClavePorEstado('Jalisco');

getMunicipioClavePorClaveEstado(string $clave): array

Municipios con clave INEGI, filtrados por clave de estado.

$client->getMunicipioClavePorClaveEstado('14');

Colonias

getColoniaPorMunicipio(string $municipio): array

Colonias de un municipio.

$client->getColoniaPorMunicipio('Guadalajara');

getColoniaPorEstadoMunicipio(string $estado, string $municipio): array

Colonias con CP filtradas por estado y municipio.

$client->getColoniaPorEstadoMunicipio('Jalisco', 'Guadalajara');

Ciudades

getCitiesByStateCode(string $claveEstado): array

Ciudades de un estado por su clave INEGI.

$client->getCitiesByStateCode('14');

Localidades

getLocalidadPorEstadoMunicipio(string $estado, string $municipio): array

Catálogo de localidades filtrado por nombre de estado y municipio.

$client->getLocalidadPorEstadoMunicipio('Jalisco', 'Guadalajara');

getLocalidadPorClaveEstadoMunicipio(string $claveEstado, string $claveMunicipio): array

Localidades filtradas por claves INEGI de estado y municipio.

$client->getLocalidadPorClaveEstadoMunicipio('14', '039');

infoLocalidad(string $claveEstado, string $claveMunicipio, string $claveLocalidad): array

Información detallada de una localidad (incluye coordenadas y altitud).

$client->infoLocalidad('14', '039', '0001');

Vialidades

getVialidad(string $claveEstado, string $claveMunicipio, string $busqueda, int $limit, ?string $claveLocalidad): array

Búsqueda en el catálogo de más de 3 millones de calles y vialidades.

$client->getVialidad('14', '039', 'juarez', 10);
$client->getVialidad('14', '039', 'reforma', 5, '0001');

getTipoVialidad(): array

Catálogo de los 22 tipos de vialidad (calle, avenida, boulevard, etc.).

$client->getTipoVialidad();

Geocoding

Estos métodos consumen 2 créditos por consulta.

infoCpGeocoding(string $cp, ?string $type, ?string $calle, ?string $numero): array

Convierte un código postal (con calle y número opcionales) a coordenadas lat/lng.

$client->infoCpGeocoding('06600');
$client->infoCpGeocoding('06600', calle: 'Insurgentes', numero: '123');

infoCpGeocodingReverse(float $lat, float $lng): array

Convierte coordenadas lat/lng a dirección postal completa.

$client->infoCpGeocodingReverse(19.4326, -99.1332);

Cuenta

consultasDisponibles(): array

Saldo de créditos disponibles del token.

$client->consultasDisponibles();

ultimaActualizacionDb(): array

Fecha y hora de la última actualización de la base de datos.

$client->ultimaActualizacionDb();

Créditos

Consulta Créditos
Todos los endpoints excepto geocoding 1
infoCpGeocoding 2
infoCpGeocodingReverse 2

Licencia

MIT — Multiservicios Web

统计信息

  • 总下载量: 0
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 0
  • 点击次数: 0
  • 依赖项目数: 0
  • 推荐数: 0

GitHub 信息

  • Stars: 0
  • Watchers: 0
  • Forks: 0
  • 开发语言: PHP

其他信息

  • 授权协议: MIT
  • 更新时间: 2026-07-01

承接程序开发

PHP开发

VUE

Vue开发

前端开发

小程序开发

公众号开发

系统定制

数据库设计

云部署

网站建设

安全加固