00. Profile

← トランザクション個別解説 目次へ戻る



00.01. ProfileRequest

 ProfileRequestは相手方のサービスがどのトランザクションに対応していて、それぞれどのURLでAPIを叩けば良いのかを知る場合に送ります。つまり、cXMLで通信する相手方にProfileRequestを送ることができれば相手方との通信ができるわけで、逆に言えばPcXMLでの通信をするネットワークに仲間入りするにはProfileRequestを送るURLが公表されている必要があります。しかし、誰にでもProfileRequestを送るURLが公表されていて誰からもProfileRequestを受け取ってProfileResponseを返してしまうと、APIを叩くURLが誰にでも知られてしまうため、通常はNetwork-hubに対して送り、Network-hubからのRequestのみ受け付ける状態でResponseを返します。これは他のAPIでも基本的に同様です。

click here to expand/close XML view
<?xml version='1.0' encoding='UTF-8'?>
<!DOCTYPE cXML SYSTEM "https://electric-blue-industries.com/schemas/cXML/1.2.052/cXML.dtd">
<!--
 * Author:      Electric Blue Industries Ltd.
 * Author URI:  https://electric-blue-industries.com/
 * Copyright:   (c)2015-2023 Electric Blue Industries Ltd.
 * Contact:     admin@electric-blue-industris.com
 * License:     GNU General Public License v3.0
 * License URI: http://www.gnu.org/licenses/gpl-3.0.html
 * Reference:   http://xml.cxml.org/current/cXMLReferenceGuide.pdf
-->
<cXML timestamp="0000-00-00T00:00:00+09:00" payloadID="">
    <Header>
        <From>
            <Credential domain="DUNS">
                <Identity>123456789</Identity>
            </Credential>
        </From>
        <To>
            <Credential domain="NetworkID">
                <Identity>AN01000000001</Identity>
            </Credential>
        </To>
        <Sender>
            <Credential domain="DUNS">
                <Identity>123456789</Identity>
                <SharedSecret>SharedSecret</SharedSecret>
                <CredentialMac
                    type="FromSenderCredentials"
                    algorithm="HMAC-SHA1-96"
                    creationDate="0000-00-00T00:00:00+09:00"
                    expirationDate="0000-00-00T00:00:00+09:00">CredentialMAC</CredentialMac>
            </Credential>
            <UserAgent>Procurement Application Name</UserAgent>
        </Sender>
    </Header>
    <Request>
        <ProfileRequest/>
    </Request>
</cXML>

下記が返送されるProfileResponseの例です。他のAPIと同様にHeaderは存在しません。

<?xml version='1.0' encoding='UTF-8'?>
<!DOCTYPE cXML SYSTEM "https://electric-blue-industries.com/schemas/cXML/1.2.052/cXML.dtd">
<cXML>
    <Response>
        <ProfileResponse effectiveDate="2023-07-01T05:24:29-08:00" lastRefresh="2023-07-08T05:24:29-08:00">
            <!-- APIごとに利用可能であればEntry Point URLが返される -->
            <Transaction requestName="OrderRequest">
                <URL>http://testseller.com/cgi/orders.cgi</URL>
                <Option name="service">testseller.orders</Option>
            </Transaction>
            <Transaction requestName="PunchOutSetupRequest">
                <URL>http://testseller.com/cgi/PunchOut.cgi</URL>
                <Option name="service">testseller.signin</Option>
            </Transaction>
        </ProfileResponse>
    </Response>
</cXML>