php对接阿里云API调用企业税号查询的高级实战案例解析(下拉筛选查询、远程调用API、xm-select组件应用)

简介: php对接阿里云API调用企业税号查询的高级实战案例解析(下拉筛选查询、远程调用API、xm-select组件应用)

一、功能描述

企业税号查询-公司税号查询-企业公司开票信息查询-企业营业执照信息查询-工商信息查询-企业基本信息查询:可以通过关键词公司名称、公司id、注册号、组织机构代码、社会统一信用代码、法人、股东等任何关键字,获取企业列表,企业列表包括公司名称或ID、类型、成立日期、经营状态、注册资本,统一社会信用代码、纳税人识别号等字段的详细信息。海量数据同步更新。


1.请求参数

名称 类型 是否必须 描述
keyword STRING 必选 关键词(公司名称/注册号/统一信用代码/法人/股东/高管等任意关键字)【汉字注意UrlEncode编码】
pageNum STRING 可选 当前页数(默认第1页)
pageSize STRING 可选 每页条数(默认20条,最大20条)


2.GET请求代码

  $host = "https://taxno.market.alicloudapi.com";
    $path = "/lundear/taxno";
    $method = "GET";
    $appcode = "你自己的AppCode";
    $headers = array();
    array_push($headers, "Authorization:APPCODE " . $appcode);
    $querys = "keyword=%E5%8C%97%E4%BA%AC%E7%99%BE%E5%BA%A6%E7%BD%91%E8%AE%AF%E7%A7%91%E6%8A%80%E6%9C%89%E9%99%90%E5%85%AC%E5%8F%B8&pageNum=1&pageSize=20";
    $bodys = "";
    $url = $host . $path . "?" . $querys;
    $curl = curl_init();
    curl_setopt($curl, CURLOPT_CUSTOMREQUEST, $method);
    curl_setopt($curl, CURLOPT_URL, $url);
    curl_setopt($curl, CURLOPT_HTTPHEADER, $headers);
    curl_setopt($curl, CURLOPT_FAILONERROR, false);
    curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
    curl_setopt($curl, CURLOPT_HEADER, true);
    if (1 == strpos("$".$host, "https://"))
    {
        curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);
        curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, false);
    }
    var_dump(curl_exec($curl));


3.返回示例

{
    "desc": "成功",
    "code": 0,
    "result": {
        "items": [
            {
                "regStatus": "存续",
                "creditCode": "91310230MAC6QA0X3T",
                "id": 5887453209,
                "regCapital": "100万人民币",
                "orgNumber": "MAC6QA0X-3",
                "base": "",
                "estiblishTime": "2023-01-19 00:00:00.0",
                "companyType": 1,
                "name": "上海漏刻科技有限公司",
                "type": 1,
                "legalPersonName": "李菁",
                "regNumber": "310230004450564",
                "matchType": "公司名称匹配"
            },
            {
                "regStatus": "存续",
                "creditCode": "91330203MA2KPR2W3J",
                "id": 5173346673,
                "regCapital": "100万人民币",
                "orgNumber": "MA2KPR2W-3",
                "base": "浙江",
                "estiblishTime": "2021-09-27 00:00:00.0",
                "companyType": 1,
                "name": "宁波漏刻文化科技有限公司",
                "type": 1,
                "legalPersonName": "介保良",
                "regNumber": "330203000738771",
                "matchType": "公司名称匹配"
            },
            {
                "regStatus": "存续",
                "creditCode": "92321283MA7H1W0C66",
                "id": 5334533071,
                "regCapital": "-",
                "orgNumber": "MA7H1W0C-6",
                "base": "江苏",
                "estiblishTime": "2022-01-14 00:00:00.0",
                "companyType": 1,
                "name": "泰兴漏刻软件开发服务中心",
                "type": 1,
                "legalPersonName": "赵宇",
                "regNumber": "321283602009671",
                "matchType": "公司名称匹配"
            },
            {
                "regStatus": "存续",
                "creditCode": "91340100083692531N",
                "id": 1044103384,
                "regCapital": "20000万人民币",
                "orgNumber": "08369253-1",
                "base": "安徽",
                "estiblishTime": "2013-11-29 00:00:00.0",
                "companyType": 1,
                "name": "通威太阳能(安徽)有限公司",
                "type": 1,
                "legalPersonName": "顾峰",
                "regNumber": "340191000026331",
                "matchType": "专利信息匹配"
            },
            {
                "regStatus": "存续",
                "creditCode": "91310114MA1GUU1L71",
                "id": 3215060122,
                "regCapital": "500万人民币",
                "orgNumber": "MA1GUU1L-7",
                "base": "上海",
                "estiblishTime": "2018-07-23 00:00:00.0",
                "companyType": 1,
                "name": "上海刻漏防水材料科技有限公司",
                "type": 1,
                "legalPersonName": "洪枫",
                "regNumber": "310114003518042",
                "matchType": "公司信息匹配"
            },
            {
                "regStatus": "存续",
                "creditCode": "91441900MA56P35088",
                "id": 5019107096,
                "regCapital": "50万人民币",
                "orgNumber": "MA56P350-8",
                "base": "广东",
                "estiblishTime": "2021-06-30 00:00:00.0",
                "companyType": 1,
                "name": "东莞市邦立防水补漏工程有限公司",
                "type": 1,
                "legalPersonName": "叶汝樑",
                "regNumber": "441900008815646",
                "matchType": "公司信息匹配"
            }
        ],
        "total": 6
    }
}


4.错误码

错误码 错误信息 描述
0 成功 查询成功
2 无数据 查无记录【请换关键词重试】


二、核心代码

1.引入外部JS库

    <!--layui封装库-->
    <script src="js/layui/layui.js" charset="utf-8"></script>
    <link rel="stylesheet" href="js/layui/css/layui.css">
    <script src="js/layui/xm-select.js" charset="utf-8"></script>


2.构建HTML容器

<div class="layui-input-inline" style="margin-left: 20px;margin-top: 30px;">
    <div id="demo1" class="xm-select-demo" style="width: 200px;"></div>
</div>
<div class="layui-input-inline" style="margin-left: 20px;margin-top: 30px;">
    <div id="btn" class="layui-btn layui-btn-normal">查询</div>
</div>


3.xmSelect回调

    var demo1 = xmSelect.render({
        el: '#demo1',
        tips: '输入查询对应的单位名称',
        radio: true,//单选
        paging: true,
        pageSize: 20,
        height: '300px',
        filterable: true,//搜索模式
        remoteSearch: true,//远程搜索
        remoteMethod: function (val, cb, show) {
            //console.log(val)
            $.getJSON('http://test.com/api/api.php?act=getCreditCode&token=3cab7ce4142608c0f40c785b5ab5ca24',
                {keyword: val}, function (res) {
                    if (res.code == 0) {
                        var newData = res.result.items;
                        //console.log(newData);
                        var data = [];
                        for (var i = 0; i < newData.length; i++) {
                            data.push({name: newData[i].name, value: newData[i].creditCode});
                        }
                    }
                    // console.log(data);
                    cb(data);
                });
        },
        on: function (data) {
            if (data.change[0] != undefined) {
                console.log(data.change[0].name, data.change[0].value);
                $("#coords_url").val();
            }
        }
    })


总结

使用第三方API进行企业税号查询有以下几个好处:


1.减少开发成本:自行实现税号查询需要投入大量的时间和人力成本,包括数据采集、处理和存储等。而使用第三方API可以直接调用其提供的接口,省去了开发的复杂性和时间成本。


2.数据准确性高:第三方API提供的税号查询服务经过多次测试和验证,数据准确性得到保证,相比自行实现的查询有更高的准确性和可靠性。


3.及时更新数据:政策、税号规则的变化都会影响税号查询的结果。而使用第三方API可以保证及时更新数据和规则,避免查询结果的错误和延误。


4.提供更多的功能:第三方API一般会提供更多的功能,例如批量查询、Excel导入等,可根据具体需求选择使用。


5.易于维护和升级:使用第三方API可以减少代码量,简化了开发过程,易于维护和升级,开发人员可以更专注于核心业务逻辑的实现。


综上所述,使用第三方API进行企业税号查询可以提高开发效率和数据准确性,避免了繁琐的开发工作和数据处理过程,同时还可以提供更多的功能选择和易于维护升级。


@漏刻有时

相关文章
|
5天前
|
Java
并发编程之线程池的应用以及一些小细节的详细解析
并发编程之线程池的应用以及一些小细节的详细解析
17 0
|
1天前
|
存储 SQL 缓存
阿里云大学考试python中级题目及解析-python中级
阿里云大学考试python中级题目及解析-python中级
|
2天前
|
C++
C++:深度解析与实战应用
C++:深度解析与实战应用
7 1
|
2天前
|
大数据 图形学 云计算
EDA设计:技术深度解析与实战代码应用
EDA设计:技术深度解析与实战代码应用
|
2天前
|
PHP
PHP中的命名空间深入解析
【4月更文挑战第24天】在PHP的编程世界中,命名空间是一个重要的概念,它解决了在大型项目中可能出现的类名或函数名冲突的问题。本文将深入探讨PHP中的命名空间,包括其基本概念、使用方法以及其在代码组织和重用方面的优势。
|
5天前
|
存储 开发工具 对象存储
Javaweb之SpringBootWeb案例之阿里云OSS服务入门的详细解析
Javaweb之SpringBootWeb案例之阿里云OSS服务入门的详细解析
11 0
|
6天前
|
关系型数据库 MySQL PHP
深入解析PHP中的命名空间
【4月更文挑战第20天】在PHP的编程世界中,命名空间是一个强大的工具,用于解决代码中的名称冲突问题。通过本文的深度解析,我们将探索PHP命名空间的概念、实现原理以及它们如何优雅地帮助我们管理代码库。从基础的定义到高级用法,本篇文章旨在提供一份全面的指南,帮助开发者有效利用命名空间来优化他们的PHP项目结构和可维护性。
|
10天前
|
机器学习/深度学习 API TensorFlow
TensorFlow的高级API:tf.keras深度解析
【4月更文挑战第17天】本文深入解析了TensorFlow的高级API `tf.keras`,包括顺序模型和函数式API的模型构建,以及模型编译、训练、评估和预测的步骤。`tf.keras`结合了Keras的易用性和TensorFlow的性能,支持回调函数、模型保存与加载等高级特性,助力提升深度学习开发效率。
|
10天前
|
Java API 数据库
深入解析:使用JPA进行Java对象关系映射的实践与应用
【4月更文挑战第17天】Java Persistence API (JPA) 是Java EE中的ORM规范,简化数据库操作,让开发者以面向对象方式处理数据,提高效率和代码可读性。它定义了Java对象与数据库表的映射,通过@Entity等注解标记实体类,如User类映射到users表。JPA提供持久化上下文和EntityManager,管理对象生命周期,支持Criteria API和JPQL进行数据库查询。同时,JPA包含事务管理功能,保证数据一致性。使用JPA能降低开发复杂性,但需根据项目需求灵活应用,结合框架如Spring Data JPA,进一步提升开发便捷性。
|
13天前
|
SQL API 数据库
Python中的SQLAlchemy框架:深度解析与实战应用
【4月更文挑战第13天】在Python的众多ORM(对象关系映射)框架中,SQLAlchemy以其功能强大、灵活性和易扩展性脱颖而出,成为许多开发者首选的数据库操作工具。本文将深入探讨SQLAlchemy的核心概念、功能特点以及实战应用,帮助读者更好地理解和使用这一框架。

推荐镜像

更多