用友平台接口文档

zhongminli 2013-08-12

接口采用技术:Http

一、基础信息。

1.流程描述:发送post请求至接口地址。进行身份认证,通过后,调用需要的接口方法,处理后,返回结果。

2.接口路径:http://apiuu.k.cn/http/httpService.php

3.post传输参数定义:

参数名描述类型

xmlData传输进行身份验证的信息。包含:AppID,AppToken,AppTime,CilentIP,AppCtid

其中AppCtid为签名生成规则为

AppCtid=md5(key+AppToken+AppID+AppTime);

Key为双方约定的字符串

infobird

Xml

格式如下:

$xml=<<<EOD

<?xmlversion="1.0"?>

<msg>

<Head>

<AppID>AppID值</AppID>

<AppToken>AppToken值</AppToken>

<AppCtid>AppCtid值</AppCtid>

<AppTime>AppTime值</AppTime>

<class>调用的类名</class>

<method>调用的方法名</method>

<parametername="参数名1"type="array">

<array>

<elementname="值名1">1111</element>

<elementname="值名2">2222</element>

</array>

</parameter>

<parametername="参数名2">22</parameter>

</Head>

</msg>

EOD;

4.Php代码示例:

$url='http://api.zn.com/http/httpService.php';

try{

$appid="101";

$key=“infobird”;

$keywordcode=“STAFF101”;

$curr_time=time();

$CTID=md5($key.$keywordcode.$appID.$curr_time);

$xml=<<<EOD

<?xmlversion="1.0"?>

<msg>

<Head>

<AppID>$appID</AppID>

<AppToken>$keywordcode</AppToken>

<AppCtid>$CTID</AppCtid>

<AppTime>$curr_time</AppTime>

<class>AccountCtrl</class>

<method>test</method>

<parametername="test"type="array">

<array>

<elementname="aa">1111</element>

<elementname="bb">2222</element>

</array>

</parameter>

<parametername="bb">22</parameter>

</Head>

</msg>

EOD;

$post_data=array(

"xmlData=$xml",

);

$post_data=implode('&',$post_data);

$ch=curl_init();

curl_setopt($ch,CURLOPT_URL,$url);

curl_setopt($ch,CURLOPT_RETURNTRANSFER,1);

curl_setopt($ch,CURLOPT_HEADER,0);

curl_setopt($ch,CURLOPT_POST,1);

curl_setopt($ch,CURLOPT_POSTFIELDS,$post_data);

$output=curl_exec($ch);

if(!$output){

echo'error:';var_dump(curl_error($ch));exit;

}

curl_close($ch);

}catch(Exception$e){

echo2;var_dump($e);

}

var_dump($output);

5.公用状态码定义:

状态码描述

XML请求格式错误2001

请求的AppID错误2002

请求的AppToken错误2003

请求的AppCtid错误2004

请求的AppTime超时(AppTime与当前时间相差30秒)2005

请求的类不存在2006

请求的方法不存在2007

参数不同2008

参数名称错误2009

IP地址不被允许2010

身份认证通过200

二、具体接口

1.登录接口

a)调用方式:

i.Class:AccountCtrl’;

ii.Method:‘login’;

iii.Parameter

<?xmlversion="1.0"?>

<msg>

<Head>

<AppID>$appID</AppID>

<AppToken>$keywordcode</AppToken>

<AppCtid>$CTID</AppCtid>

<AppTime>$curr_time</AppTime>

<class>AccountCtrl</class>

<method>login</method>

<parametername="username">[email protected]</parameter>

<parametername="password">1</parameter>

</Head>

</msg>

b)参数说明:

i.传入参数username:用户名

ii.传入参数password:密码

iii.返回值

成功:

<?xmlversion="1.0"encoding="utf8"?>

<msg>

<Head>

<AppID>101</AppID>

<AppToken>STAFF101</AppToken>

<AppCtid>84dd50cc39f3c37e545e60e0a9c95452</AppCtid>

<AppTime>1316081132</AppTime>

<class>AccountCtrl</class>

<method>login</method>

<status>200</status>

<body>

<uid>9133</uid>

<username>[email protected]</username>

</body>

</Head>

</msg>

c)错误码定义

i.32001登录失败

2.获得用户信息

a)调用方式

i.Class:AccountCtrl’;

ii.Method:‘getByUid’;

iii.Parameter

<?xmlversion="1.0"?>

<msg>

<Head>

<AppID>$appID</AppID>

<AppToken>$keywordcode</AppToken>

<AppCtid>$CTID</AppCtid>

<AppTime>$curr_time</AppTime>

<class>AccountCtrl</class>

<method>getByUid</method>

<parametername="uid">用户id</parameter>

</Head>

</msg>

b)参数说明:

i.传入参数uid:用户uid,登录时返回的uid信息。

ii.返回值

成功:

<?xmlversion="1.0"encoding="utf8"?>

<msg>

<Head>

<AppID>$appID</AppID>

<AppToken>$keywordcode</AppToken>

<AppCtid>$CTID</AppCtid>

<AppTime>$curr_time</AppTime>

<class>AccountCtrl</class>

<method>getByUid</method>

<status>200</status>

<body>

<uid></uid>

<email>[email protected]</email>

<comname>企业名称2</comname>

<mobile>1591111111112</mobile>

<name>真实姓名1</name>

<nickname>昵称</nickname>

</body>

</Head>

</msg>

失败:

<?xmlversion="1.0"encoding="utf8"?>

<msg>

<Head>

<AppID>$appID</AppID>

<AppToken>$keywordcode</AppToken>

<AppCtid>$CTID</AppCtid>

<AppTime>$curr_time</AppTime>

<class>AccountCtrl</class>

<method>getByUid</method>

<status>错误码</status>

<body><success>0<success></body>

</Head>

</msg>

c)错误码定义:

i.36001用户不存在

相关推荐