api.suppliers

/api/suppliers/

GET /api/suppliers/

Description:

Return a detailed list of existing suppliers.
can_lock requires_lock has_etag requires_etag
False False False False

Request:

<!-- No XML Request. -->

Response:

<suppliers>
    <supplier uri="/suppliers/X/" id="X">
        <name>[str]</name>
        <contact>
            <first>[str]</first>
            <last>[str]</last>
        </contact>
        <email>[str]</email>
        <phone_numbers>
            <phone_number id="[int]">
                <main>[bool]</main>
                <type>[enum: work|home|mobile|main|home fax|work fax|toll-free|other]</type>
                <list_order>[int]</list_order>
                <number>[str]</number>
            </phone_number>
            [...] <!-- 4 phone numbers with ids 1-4 -->
        </phone_numbers>
        <billing>
            <address>
                <address1>[str]</address1>
                <address2>[str]</address2>
                <city>[str]</city>
                <state>[str]</state>
                <country>[str]</country>
                <zip>[str]</zip>
            </address>
        </billing>
        <photo uri="/suppliers/X/supplier_photo/"/>
    </supplier>
    [...]
</suppliers>

POST /api/suppliers/

Description:

Creates a new supplier
can_lock requires_lock has_etag requires_etag
False False False False

Request:

<supplier>
    <name>[str]</name><!-- Required -->
    <contact>
        <first>[str]</first><!-- Optional -->
        <last>[str]</last><!-- Optional -->
    </contact>
    <email>[str]</email><!-- Optional -->
    <homepage>[str]</homepage><!-- Optional -->
    <phone_numbers><!-- Optional -->
        <phone_number id="[int]">
            <main>[bool]</main><!-- Optional -->
            <type>[enum: work|home|mobile|main|home fax|work fax|toll-free|other]</type><!-- Optional -->
            <number>[str]</number><!-- Optional -->
        </phone_number>
        [0-4 values possible]
    </phone_numbers>
    <billing><!-- Optional -->
        <address>
            <address1>[str]</address1><!-- Optional -->
            <address2>[str]</address2><!-- Optional -->
            <city>[str]</city><!-- Optional -->
            <state>[str]</state><!-- Optional -->
            <country>[str]</country><!-- Optional -->
            <zip>[str]</zip><!-- Optional -->
        </address>
    </billing>
    <shipping><!-- Optional -->
        <address>
            <address1>[str]</address1><!-- Optional -->
            <address2>[str]</address2><!-- Optional -->
            <city>[str]</city><!-- Optional -->
            <state>[str]</state><!-- Optional -->
            <country>[str]</country><!-- Optional -->
            <zip>[str]</zip><!-- Optional -->
        </address>
    </shipping>
    <new_import>[bool]</new_import><!-- Optional -->
    <store>[bool]</store><!-- Optional -->
    <import_id>[str]</import_id><!-- Optional -->
    <currency id="[int]" /><!-- Optional -->
    <tax_exemption id="[int]" /><!-- Optional -->
    <terms id="[int]" /><!-- Optional -->
    <account_status id="[int]" /><!-- Optional -->
</supplier>

Response:

<supplier uri="/suppliers/X/" id="X">
    <!-- See GET /suppliers/X/ response for details. -->
</supplier>

/api/suppliers/(d+)/

GET /api/suppliers/(d+)/

Description:

Return detailed information of a specific supplier.
can_lock requires_lock has_etag requires_etag
True False False False

Request:

<!-- No XML Request. -->

Response:

<supplier uri="/suppliers/X/" id="X">
    <name>[str]</name>
    <created>[datetime]</created>
    <modified>[datetime]</modified>
    <contact>
        <first>[str]</first>
        <last>[str]</last>
    </contact>
    <email>[str]</email>
    <homepage>[str]</homepage>
    <phone_numbers>
        <phone_number id="[int]"> <!-- The id is new. Values 1-4 --><!-- The phone_number will be empty if null -->
            <main>[bool]</main>
            <type>[enum: work|home|mobile|main|home fax|work fax|toll-free|other]</type>
            <list_order>[int]</list_order><!-- The list order will always match the id -->
            <number>[str]</number>
        </phone_number>
        [Exactly 4 numbers present.]
    </phone_numbers>
    <billing>
        <address>
            <address1>[str]</address1>
            <address2>[str]</address2>
            <city>[str]</city>
            <state>[str]</state>
            <country>[str]</country>
            <zip>[str]</zip>
        </address>
    </billing>
    <shipping>
        <address>
            <address1>[str]</address1>
            <address2>[str]</address2>
            <city>[str]</city>
            <state>[str]</state>
            <country>[str]</country>
            <zip>[str]</zip>
        </address>
    </shipping>
    <new_import>[bool]</new_import><!-- Removed the flags wrapper -->
    <store>[bool]</store>
    <supplier_id>[str]</supplier_id>
    <import_id>[str]</import_id>
    <notes>
        <note uri="/suppliers/X/notes/Y/" id="Y"/>
        [...]
    </notes>
    <currency uri="/setup/currencies/x/" id="x" full_render="true">
        <name>[str]</name>
        <rate>[decimal]</rate>
        <symbol>[str]</symbol>
    </currency>
    <tax_exemption uri="/setup/tax_exemptions/1/" id="1">
        <!-- See GET /setup/tax_exemptions/X/ response for details. -->
    </tax_exemption>
    <terms uri="/setup/terms/[int]/" id="[int]" full_render="true">
        <name>[str]</name>
        <list_order>[int]</list_order>
        <account>[bool]</account>
        <terms_days>[int]</terms_days>
        <active>[bool]</active>
    </terms>
    <account_status uri="/setup/account_statuses/[int]/" id="[int]">
        <!-- See GET /setup/account_statuses/X/ for details -->
    </account_status>
    <photo uri="/suppliers/X/supplier_photo/"/>
</supplier>

PUT /api/suppliers/(d+)/

Description:

Updates the values of a supplier.
can_lock requires_lock has_etag requires_etag
True True False False

Request:

<supplier>
    <name>[str]</name><!-- Optional -->
    <contact>
        <first>[str]</first><!-- Optional -->
        <last>[str]</last><!-- Optional -->
    </contact>
    <email>[str]</email><!-- Optional -->
    <homepage>[str]</homepage><!-- Optional -->
    <phone_numbers><!-- Optional -->
        <phone_number id="[int]">
            <main>[bool]</main><!-- Optional -->
            <type>[enum: work|home|mobile|main|home fax|work fax|toll-free|other]</type><!-- Optional -->
            <number>[str]</number><!-- Optional -->
        </phone_number>
        [0-4 values possible]
    </phone_numbers>
    <billing><!-- Optional -->
        <address>
            <address1>[str]</address1><!-- Optional -->
            <address2>[str]</address2><!-- Optional -->
            <city>[str]</city><!-- Optional -->
            <state>[str]</state><!-- Optional -->
            <country>[str]</country><!-- Optional -->
            <zip>[str]</zip><!-- Optional -->
        </address>
    </billing>
    <shipping><!-- Optional -->
        <address>
            <address1>[str]</address1><!-- Optional -->
            <address2>[str]</address2><!-- Optional -->
            <city>[str]</city><!-- Optional -->
            <state>[str]</state><!-- Optional -->
            <country>[str]</country><!-- Optional -->
            <zip>[str]</zip><!-- Optional -->
        </address>
    </shipping>
    <new_import>[bool]</new_import><!-- Optional -->
    <store>[bool]</store><!-- Optional -->
    <import_id>[str]</import_id><!-- Optional -->
    <currency id="[int]" /><!-- Optional -->
    <tax_exemption id="[int]" /><!-- Optional -->
    <terms id="[int]" /><!-- Optional -->
    <account_status id="[int]" /><!-- Optional -->
</supplier>

Response:

<supplier uri="/suppliers/X/" id="X">
    <!-- See GET /suppliers/X/ response for details. -->
</supplier>