XeroAPI / XeroAPI-Schemas

XSD Schemas for api.xero.com
https://developer.xero.com/documentation/api/api-overview
35 stars 1 forks source link

Schema and documentation do not match #20

Open benmccann opened 9 years ago

benmccann commented 9 years ago

Note that one says WARNING while the other says WARN

BaseTypes.xsd has:

<!-- entityStatus -->
<xs:simpleType name="entityValidationStatus">
  <xs:restriction base="xs:token">
    <xs:enumeration value="OK" />
    <xs:enumeration value="WARNING" />
    <xs:enumeration value="ERROR" />      
  </xs:restriction>
</xs:simpleType>

The HTTP Requests and Responses page says:

It is possible to submit more than one invoice, credit note, contact, item or other entities of the same type in a single API call. If you plan to submit more than one entity per API call, we recommend that you append the summarizeErrors=false querystring to your API call. This ensures that every entity is returned back to you, each having their own status attribute.

A status attribute is included for each Invoice can be OK, WARN or ERROR.

benmccann commented 9 years ago

Status can be both an element and an attribute as shown below. It's the attribute that this bug refers to.

<Invoice status="ERROR">
  <ValidationErrors>
    <ValidationError>
      <Message>One or more line items must be specified</Message>
    </ValidationError>
    <ValidationError>
      <Message>Invoice Type must be specified</Message>
    </ValidationError>
    <ValidationError>
      <Message>A Contact must be specified for this type of transaction</Message>
    </ValidationError>
  </ValidationErrors>
  <Date>2015-03-08T00:00:00</Date>
  <Status>DRAFT</Status>
  <LineAmountTypes>Exclusive</LineAmountTypes>
  <SubTotal>0.00</SubTotal>
  <TotalTax>0.00</TotalTax>
  <Total>0.00</Total>
  <CurrencyCode>USD</CurrencyCode>
  <InvoiceID>00000000-0000-0000-0000-000000000000</InvoiceID>
</Invoice>
benmccann commented 9 years ago

I haven't been able to figure out any query to issue that returns WARN or WARNING to be able to figure out which is the actual value