创建企业

1、接口描述

使用登录、发票或申报等相关接口前,需要在企享云创建企业信息,可通过此接口传入企业信息以备后用。

2、接口地址

调用方式 功能模块 接口地址 协议
POST 发票云认证 /v1/AGG/org/create HTTP/1.1
POST 税局登录归集 /v1/AGG/org/create HTTP/1.1
POST 企业税申报 /v1/AGG/org/createInfo HTTP/1.1

3、请求参数

  • 参数说明

请求参数为JSON格式。

参数名称 参数类型 是否必填 说明
aggOrgName String 企业名称
nsrsbh String 企业纳税人识别号
encryptionType Integer 加密类型:1表示加密,默认0不加密
isCollection Boolean 【企业税申报专用】是否同时发起采集税务信息任务,非必传,默认及空为true,true代表同时发起采集税务信息任务,false表示不同时发起采集税务信息任务
isFprz Boolean 条件必传 【发票云认证专用】使用发票云认证,请传true;其他情况可不传。
orgTaxLogin.dq String 省市地区代码
orgTaxLogin.gdsdlfs String 登录方式(9新版账号密码登录 11新版税务数字证书登录,14 远程登录)
orgTaxLogin.gdsdlzh String 登录账号,当encryptionType=1时,有值必须加密;(注:【新版账号密码登录】此字段保存个人登录账号)
orgTaxLogin.gdsdlmm String 登录密码,当encryptionType=1时,有值必须加密
orgTaxLogin.grdlfs String 条件必传 个人登录方式(1用户名密码),北京地区账号需要传以下二次身份验证需要的个人账号信息
orgTaxLogin.sflx String 条件填写 身份类型(FDDBR法定代表人、CWFZR财务负责人、BSY办税员、LPY领票人、QTRY其他人员、FBSR附办税人、PTGLY普通管理员、GPY购票员、SMBS实名办税、FPLYR发票领用人、KPY开票员)
orgTaxLogin.zrrsfzh String 证件号码 ,当encryptionType=1时,有值必须加密
orgTaxLogin.gryhm String 条件必传 个人用户名,当encryptionType=1时,有值必须加密;
orgTaxLogin.gryhmm String 个人用户密码 ,当encryptionType=1时,有值必须加密
orgTaxLogin.sjhm String 办税小号,当encryptionType=1时,有值必须加密
orgTaxLogin.bssjhm String 办税手机号码 ,当encryptionType=1时,有值必须加密
  • 加密工具示例

    JSONObject jsonObject=new JSONObject();
    jsonObject.put("aggOrgId",441151611156544L);
    jsonObject.put("zgswjgmc","111");
    jsonObject.put("encryptionType",1);
    JSONObject  orgTaxLogin=new JSONObject();
    orgTaxLogin.put("gdsdlzh",RSAClientUtil.encrypt("yyyyy222!!@@"));
    jsonObject.put("orgTaxLogin",orgTaxLogin);
    
  • 公钥:

    MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQC+vuYMGtTU+42wwbaFX+PkCuSeoREKe5V4EJMi553Gc03ficUdpLHIFdEjAMHAxepwm3RAGLwyxYFK/S93k8GYMuV35L2Nj/cVeHS8scsdqXzqLUKaI4wj438OI6HDh7rWsw1M5EgMsoZvQqja53+SgD3mgIy3XyILbmA5jUp2IwIDAQAB
    
  • 加密方法样例

    public static String encrypt(String data) throws Exception {
      byte[] bytes = Base64.decode(publicKey);//publicKey 公钥
      X509EncodedKeySpec spec = new X509EncodedKeySpec(bytes);
      KeyFactory factory = KeyFactory.getInstance("RSA");
      PublicKey publicKey = factory.generatePublic(spec);
      Cipher cipher = Cipher.getInstance("RSA");
      cipher.init(Cipher.ENCRYPT_MODE, publicKey);
      int inputLen = data.getBytes().length;
      ByteArrayOutputStream out = new ByteArrayOutputStream();
      int offset = 0;
      byte[] cache;
      int i = 0;
      while (inputLen - offset > 0) {
        if (inputLen - offset > 117) {
            cache = cipher.doFinal(data.getBytes(), offset, 117);
        } else {
            cache = cipher.doFinal(data.getBytes(), offset, inputLen - offset);
        }
        out.write(cache, 0, cache.length);
        i++;
        offset = i * 117;
      }
      byte[] encryptedData = out.toByteArray();
      out.close();
      return Base64.encode(encryptedData);
    }
    
  • 示例参数 (需按照如下各地区示例对应字段为必传。)

    新版账号密码登录】orgTaxLogin.gdsdlfs=9

    • 已支持地区:全国36个地区。
系统字段 必须 类型 长度 说明 对应税局字段 字段名称
纳税人识别号 数字+大写字母 15、17、18、20 统一社会信用代码/纳税人识别号 nsrsbh
企业名称 字符 100 —— aggOrgName
地区 字符 4 参考字典表 —— dq
登录方式 字符 1 新版账号密码登录方式=9 —— gdsdlfs
个人登录账号 字符 100 居民身份证/手机号/用户名 gdsdlzh
个人登录密码 字符 50 个人用户密码 gryhmm
办税人身份 字符 参考字典表 sflx
办税小号 条件必填 数字 11 有小号填写(天津、广东、浙江、湖北地区非必填);四川和厦门【个人登录账号】取值办税小号 居民身份证/手机号/用户名 sjhm
办税手机号码 条件必填 数字 11 没买小号填写(天津、广东、浙江地区非必填) 居民身份证/手机号/用户名 bssjhm
  • 示例:

    {
      "nsrsbh": "税号",
      "aggOrgName": "企业名称",
      "orgTaxLogin": {
          "dq": "41",//查询字典表确定地区具体值
          "gdsdlfs": "9",
          "gdsdlzh": "个人登录账号",  //根据每个地区个人账号不同,传居民身份证/手机号/用户名
          "gryhmm": "个人登录密码",
          "sflx": "办税人身份",//当登录人员为多身份时,上传此字段
          "sjhm": "办税小号",
          "bssjhm": "办税手机号码"
      }
    }
    

    远程登录】orgTaxLogin.gdsdlfs=14

    • 已支持地区:全国36个地区。
系统字段 必须 类型 长度 说明 对应税局字段 字段名称
纳税人识别号 数字+大写字母 15、17、18、20 统一社会信用代码/纳税人识别号 nsrsbh
企业名称 字符 100 —— aggOrgName
地区 字符 4 参考字典表 —— dq
登录方式 字符 1 新版账号密码登录方式=14 —— gdsdlfs
个人登录账号 字符 100 居民身份证/手机号/用户名 gryhm
个人登录密码 字符 50 个人用户密码 gryhmm
办税人身份 字符 参考字典表 sflx
手机号码 条件必填 数字 11 手机号 sjhm
  • 示例:

    {
      "nsrsbh": "税号",
      "aggOrgName": "企业名称",
      "orgTaxLogin": {
          "dq": "41",//查询字典表确定地区具体值
          "gdsdlfs": "14",
          "gryhm": "个人登录账号",  //根据每个地区个人账号不同,传居民身份证/手机号/用户名
          "gryhmm": "个人登录密码",
          "sflx": "办税人身份",//当登录人员为多身份时,上传此字段
          "sjhm": "办税小号"
      }
    }
    

新版税务数字证书登录:orgTaxLogin.gdsdlfs=11,对应税局企业业务-数字证书登录-税务数字证书模块

系统字段 必须 类型 长度 说明
纳税人识别号 数字+大写字母 15、17、18、20
企业名称 字符 100
地区 字符 4 参考字典表
登录方式 字符 2 11 新版税务数字证书登录 字段:gdsdlfs
用户名 字符 100 居民身份证/手机号 字段:gryhm
手机号 字符 11 字段:bssjhm
个人登录密码 字符 50 字段:gryhmm
办税人身份 字符 参考字典表 字段:sflx

示例:

  {
    "nsrsbh": "税号",
    "aggOrgName": "企业名称",
    "orgTaxLogin": {
        "dq": "41",//查询字典表确定地区具体值
        "gdsdlfs": "11",
        "gryhm": "个人登录账号",
        "gryhmm": "个人登录密码",
        "sflx": "办税人身份",//当登录人员为多身份时,上传此字段
        "bssjhm": "办税手机号码"
    }
  }

旧版登录接口:支持除四川、内蒙古、厦门外的33个地区。 <!--

  • 北京市【用户名密码登录方式(电子税务局登录) + 用户名密码方式(个人账号)】示例:

    {
        "nsrsbh": "税号",
        "aggOrgName": "企业名称",
        "orgTaxLogin": {
            "dq": "11",
            "gdsdlfs": "2",//登录方式
            "gdsdlzh": "账号",
            "gdsdlmm": "密码",
            "grdlfs": "1",//个人登录方式,1=用户名密码
            "sflx": "身份类型",//FDDBR,CWFZR,BSY,LPY,QTRY,FBSR,PTGLY
            "gryhm": "个人用户名",
            "gryhmm": "个人密码",
            "zrrsfzh": "个人证件号码"
        }
    }
    

    -->

4、返回结果

  • 返回结果

返回结果为JSON格式。

/v1/AGG/org/create
示例返回结果:
{
    "result": {
        "req_id": "50bf37d7dc854825ad2b75881466f82b",
        "success": true,
        "time": 35,
        "timestamp": 1698984002394
    },
    "value": {
        "dpptUser": 0,
        "nsrsbh": "9***********1X",
        "flag": 0,
        "aggOrgName": "上***************公司123",
        "createTime": "2023-01-30 01:24:36",
        "appKey": 10001995,
        "aggOrgId": 447**********6592
    }
}

/v1/AGG/org/createInfo
示例返回结果:
{
    "result":{
        "req_id":"fa76fb2ccc36434ba2b03ef648041e85",
        "success":true,
        "time":1414,
        "timestamp":1637026491057
    },
    "value":{
        "code":"SUCCESS",
        "data":{
            "aggOrgId":369161****80320,
            "taskId":"3692787****9200"
        },
        "success":true,
        "message":""
    }
}
错误返回报文:
{
    "result":{
        "req_id":"cb27af5eb1b24bb284cfb85040c21ca2",
        "success":true,
        "time":21,
        "timestamp":1637026632989
    },
    "value":{
        "code":"PARAMETER_ERROR",
        "success":false,
        "message":"纳税人识别号只能为15位、17位、18位或20位!"
    }
}
  • 字段说明
字段名 说明
aggOrgId 企业 id,当调用其他业务接口时,可以传入此 id 或者纳税人识别号

5、错误码

错误代码 错误信息 说明
PARAMETER_ERROR 纳税人识别号(nsrsbh)不能为空!
PARAMETER_ERROR 企业名称(aggOrgName)不能为空!
PARAMETER_ERROR 登录账号(gdsdlzh)或登录密码(gdsdlmm)不能为空!
PARAMETER_ERROR 登录方式(gdsdlfs)不能为空!

修改企业

1、接口描述

若企业信息有变更,可调用此接口更新企业信息

2、接口地址

调用方式 功能模块 接口地址 协议
POST 发票云认证 /v1/AGG/org/updateInfoForCj HTTP/1.1
POST 税局登录归集 /v1/AGG/org/updateInfoForCj HTTP/1.1
POST 企业税申报 /v1/AGG/org/updateInfo HTTP/1.1

3、请求参数

  • 参数说明

请求参数为JSON格式。

参数名称 参数类型 是否必填 说明
aggOrgId Long 企业id
aggOrgName String 企业名称
encryptionType Integer 加密类型:1表示加密,默认0不加密
isCollection Boolean 【企业税申报专用】是否同时发起采集税务信息任务,非必传,默认及空为true,true代表同时发起采集税务信息任务,false表示不同时发起采集税务信息任务
isFprz Boolean 条件必传 【发票云认证】是否用于发票认证:true是,false否;默认为true。
gryhm String 个人用户名 ,当encryptionType=1时,有值必须加密;【登录方式:2代表用户名密码登录或5代表手机号验证码登录】使用字段此字段保存个人用户名
gryhmm String 个人用户密码,当encryptionType=1时,有值必须加密
gdsdlfs String 登录方式
dq String 省市地区代码
sjhm String 办税小号,当encryptionType=1时,有值必须加密
bssjhm String 办税手机号码,当encryptionType=1时,有值必须加密
gdsdlzh String 登录账号,当encryptionType=1时,有值必须加密;登录方式是【新版账号密码登录9】此字段保存个人登录账号(四川和厦门【个人登录账号】取值办税小号sjhm字段)
gdsdlmm String 登录密码,当encryptionType=1时,有值必须加密
zrrsfzh String 证件号码,当encryptionType=1时,有值必须加密
sflx String 身份类型
  • 加密工具示例

    JSONObject jsonObject=new JSONObject();
    jsonObject.put("aggOrgId",441151611156544L);
    jsonObject.put("zgswjgmc","111");
    jsonObject.put("encryptionType",1);
    jsonObject.put("gdsdlzh",RSAClientUtil.encrypt("yyyyy222!!@@"));
    
  • 公钥:

    MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQC+vuYMGtTU+42wwbaFX+PkCuSeoREKe5V4EJMi553Gc03ficUdpLHIFdEjAMHAxepwm3RAGLwyxYFK/S93k8GYMuV35L2Nj/cVeHS8scsdqXzqLUKaI4wj438OI6HDh7rWsw1M5EgMsoZvQqja53+SgD3mgIy3XyILbmA5jUp2IwIDAQAB
    
  • 加密方法样例
    public static String encrypt(String data) throws Exception {
      byte[] bytes = Base64.decode(publicKey);//publicKey 公钥
      X509EncodedKeySpec spec = new X509EncodedKeySpec(bytes);
      KeyFactory factory = KeyFactory.getInstance("RSA");
      PublicKey publicKey = factory.generatePublic(spec);
      Cipher cipher = Cipher.getInstance("RSA");
      cipher.init(Cipher.ENCRYPT_MODE, publicKey);
      int inputLen = data.getBytes().length;
      ByteArrayOutputStream out = new ByteArrayOutputStream();
      int offset = 0;
      byte[] cache;
      int i = 0;
      while (inputLen - offset > 0) {
        if (inputLen - offset > 117) {
            cache = cipher.doFinal(data.getBytes(), offset, 117);
        } else {
            cache = cipher.doFinal(data.getBytes(), offset, inputLen - offset);
        }
        out.write(cache, 0, cache.length);
        i++;
        offset = i * 117;
      }
      byte[] encryptedData = out.toByteArray();
      out.close();
      return Base64.encode(encryptedData);
    }
    
  • 【新版账号密码登录】更新企业示例参数
  {
    "aggOrgId":企业id,
    "aggOrgName":"企业名称",
    "dq":省市地区代码,
    "gdsdlfs":9,
    "gdsdlzh":个人登录用户名,  //根据每个地区个人账号不同,传居民身份证/手机号/用户名
    "gryhmm":个人用户密码,
    "sflx":身份类型,
    "sjhm":手机号码,
    "bssjhm":办税手机号码
  }
  • 旧版登录接口】示例参数,各地区所需要登录信息字段参考创建企业接口。
  {
    "aggOrgId":企业id,
    "aggOrgName":"企业名称",
    "dq":省市地区代码,
    "gdsdlfs":登录方式,
    "gdsdlzh":登录账号,
    "gdsdlmm":登录密码,
    "sflx":身份类型,
    "gryhm":个人用户名,
    "gryhmm":个人用户密码,
    "sjhm":手机号码,
    "bssjhm":办税手机号码,
    "zrrsfzh":证件号码
  }

企业税号不支持修改 如需修改先调用删除企业接口,然后再调用创建企业接口

4、返回结果

  • 返回结果

返回结果为JSON格式。

/v1/AGG/org/updateInfoForCj
示例返回结果:
{
    "result": {
        "req_id": "0dde1ef64bc84e77be3ab9487729dc60",
        "success": true,
        "time": 313,
        "timestamp": 1698983891334
    },
    "value": {
        "code": "SUCCESS",
        "data": {
            "ss": "11",
            "nsrsbh": "9************51X",
            "dlfs": 2,
            "openSjState": true,
            "aggOrgId": "44***********592",
            "qymc": "博***********公司123"
        },
        "success": true,
        "message": ""
    }
}


/v1/AGG/org/updateInfo
示例返回结果:
{
    "result":{
        "req_id":"4abbf817c672441f80aa996caf501f53",
        "success":true,
        "time":405,
        "timestamp":1637029077941
    },
    "value":{
        "code":"SUCCESS",
        "data":{
            "aggOrgId": "3312*****991168",
            "openSjState": true,
            "dlfs": 2,
            "qymc": "北京*****有限责任公司",
            "taskId": "37304******9088",
            "ss":"11",
            "nsrsbh":"12345678901234568"
        },
        "success":true,
        "message":""
    }
}

错误返回报文:
{
    "result":{
        "req_id":"8f5a79e7b8924f7b9d9cd281588c9bb6",
        "success":true,
        "time":29,
        "timestamp":1637029160854
    },
    "value":{
        "code":"PARAMETER_ERROR",
        "success":false,
        "message":"请传入需要修改的企业信息!"
    }
}
  • 字段说明
字段名 说明
aggOrgId 企业 id
nsrsbh 纳税人识别号
qymc 企业名称
ss 省市地区代码
dlfs 登录方式
openSjState 读取税局登录信息状态
taskId 发起采集税务任务ID

5、错误码

错误代码 错误信息 说明
PARAMETER_ERROR 企业Id(aggOrgId)不能为空!
PARAMETER_ERROR 请传入需要修改的企业信息参数!

删除企业

1、接口描述

删除企业信息

1)当与服务的企业客户解除合作关系(不再使用本平台接口)时,请调用删除接口,删除该企业。否则如该企业已使用预采集功能,平台每月初会自动进行历史月份发票采集,因历史月份发票每月仅可采集一次,将造成该企业自身无法采集到历史月份发票数据。

2)企业删除以后,不可操作;如果再次创建,会创建新的企业,并做统计

2、接口地址

POST /v1/AGG/org/delete

3、请求参数

  • 参数说明

请求参数为JSON格式。

参数名称 参数类型 是否必填 说明
aggOrgId Long 企业aggOrgId
  • 示例参数
{
    "aggOrgId":369161****80320
}

4、返回结果

  • 返回结果

返回结果为JSON格式。

示例返回结果:
{
    "result":{
        "req_id":"9575a7319e264d578347c7c1884a39de",
        "success":true,
        "time":129,
        "timestamp":1637034763969
    },
    "value":{
        "code":"SUCCESS",
        "data":true/false,
        "success":true,
        "message":""
    }
}
错误返回报文
{
    "result":{
        "req_id":"bf351a022b99477f96bf4d35d2408906",
        "success":true,
        "time":18,
        "timestamp":1637034716388
    },
    "value":{
        "code":"PARAMETER_ERROR",
        "success":false,
        "message":"企业ID(aggOrgId)不能为空"
    }
}
  • 字段说明
字段名 说明

5、错误码

错误代码 错误信息 说明
PARAMETER_ERROR 企业Id(aggOrgId)不能为空!

校验企业登录参数是否能登录电子税局

1、接口描述

校验企业登录参数是否能登录电子税局

2、接口地址

POST /v1/AGG/org/checkLoginInfoIsCorrect

3、请求参数

  • 参数说明

请求参数为JSON格式。

参数名称 参数类型 是否必填 说明
aggOrgId Long 企业aggOrgId
  • 示例参数
{
    "aggOrgId":369161****80320
}

4、返回结果

  • 返回结果

返回结果为JSON格式。

示例返回结果:
{
    "result":{
        "req_id":"afc6b0b7a77d4d22807c205f950953be",
        "success":true,
        "time":11362,
        "timestamp":1651117611051
    },
    "value":{
        "code":"2000",
        "success":true,
        "message":"登录成功"
    }
}
错误返回报文
{
    "result":{
        "req_id":"9b2a43f3f36e41cd935a138e278f4957",
        "success":true,
        "time":1862,
        "timestamp":1651117553574
    },
    "value":{
        "code":"4100",
        "data":{},
        "success":false,
        "message":"[80480541]用户名与密码不匹配!还有9次机会,该帐户将被锁住5分钟"
    }
}
  • 字段说明
字段名 说明

5、错误码

错误代码 错误信息 说明
PARAMETER_ERROR 企业Id(aggOrgId)不能为空!

results matching ""

    No results matching ""