SCHNITTSTELLENERWEITERUNGEN

*********************************************************

METAOBJECT_REQUEST

- DEFINITION
  <xml>
    <metaobject>                                                // Global metaobjects (equipment).
      <auth>                                                    // Request authentication
        <session_id>[mdtr]</session_id>                         // Session-ID [mandatory]
        <passphrase>[mdtr]</passphrase>                         // Dynamic one-way-encryption passphrase
      </auth>                                                   
  
      <debug_on>...</debug_on>                                  // Activates debug output ("ON" or "YES")
  
      <operation>GENERATE</operation>                           // Operation (GETs auth header if object does exist or GENERATEs auth header, default is "GET" if emty tag)
  
      <obj_type>....</obj_type>                                 // Type of the object ("cs" = empty = default = customer, "cr" = contractor, etc.)
      <obj_id>....</obj_id>                                     // ID of the object (Either ID or EID has to exist)
      <obj_eid>....</obj_eid>                                   // EID of the object (Either ID or EID has to exist)
    </metaobject>
  </xml>

- BEISPIEL FÜR AUFTRAGNEHMER ("AN")

  ....
      <obj_type>cr</obj_type>                                   // Type of the object ("cs" = empty = default = customer, "cr" = contractor, etc.)
      <obj_id>1234567</obj_id>                                  // ID of the object (Either ID or EID has to exist)
      <obj_eid></obj_eid>                                       // EID of the object (Either ID or EID has to exist)
  ....

*********************************************************

ORDER_REQUEST
und
ORDER_DATA_REQUEST

- DEFINITION
  ....
      <auth>                                         // Identifikation des Objektes (Kunde, Unternehmer, etc.)
        <auth_type>...</auth_type>                   // Object type ("cs" [or "empty"] = customer, "cr" = contractor, etc.).
        <auth_id>...</auth_id>                       // Object ID (Internal ID) regarding the type
        <auth_eid>...</auth_eid>                     // Object EID (Unique) regarding the type
        <customer>...</customer>                     // Objektnummer (Kundennummer, etc.) (EID) {"STBxxxxxx", ...} => csc_id_payer
        <account>...</account>                       // Eingetragener Benutzer für den Kunden => cs.cs_admin => emp.emp_id => emp.usr_id => usr.usr_id => usr.usr_account
        <password>...</password>                     // Passwort für den Benutzer             => usr.usr_password
        <session_id>...</session_id>                 // Zusätzliche Session-ID, die mit dem Kunden ausgehandelt wurde   [mandatory]
        <costcenter_name>...</costcenter_name>       // Kostenstellenname {"abcd", "efgh", ...} => Mapping csc_id   [optional]
        <group_no>...</group_no>                     // Nummer der Kundengruppe (Bei einer automatischen Preisfindung muss entweder <group_no> oder <group_name> gesetzt sein)
        <group_name>...</group_name>                 // Name der Kundengruppe (Bei einer automatischen Preisfindung muss entweder <group_name> oder <group_no> gesetzt sein)
      </auth>
  ....

- BEISPIEL "AN-01" (AUFTRAGNEHMER)
  ....
      <auth>
        <auth_type>cr</auth_type>                    // Typ "AN"
        <auth_id>345678</auth_id>                    // ID "AN"
        <auth_eid></auth_eid>                        // Nicht notwendig, wenn ID gegeben
        <customer>EID123456</customer>               // "Externe ID" (Kundennummer des AG). Muss gesetzt sein und existieren. Wie bisher!
        <account>username</account>                  // Wie bisher!
        <password>...</password>                     // Wie bisher!
        <session_id>...</session_id>                 // Wie bisher! (Es gibt die Erweiterung des "metaobject_request" für den "AN")
        ....
      </auth>
  ....
  
- BEISPIEL "AN-02" (AUFTRAGNEHMER)
  ....
      <auth>
        <auth_type>cr</auth_type>                    // Typ "AN"
        <auth_id></auth_id>                          // Nicht notwendig, wenn EID "AN" gegeben
        <auth_eid>EID987654</auth_eid>               // EID "AN"
        <customer>EID123456</customer>               // "Externe ID" (Kundennummer des AG). Muss gesetzt sein und existieren. Wie bisher!
        <account>username</account>                  // Wie bisher!
        <password>...</password>                     // Wie bisher!
        <session_id>...</session_id>                 // Wie bisher! (Es gibt die Erweiterung des "metaobject_request" für den "AN")
        ....
      </auth>
  ....

- BEISPIEL "AG-01" (AUFTRAGGEBER) [KLASSISCH FÜR KOMPATIBILITÄT - WIE BISHER]
  ....
      <auth>
        <auth_type></auth_type>                      // Nicht notwendig, wenn Auth-Typ "Kunde" und Kunden-EID ("AG") gegeben
        <auth_id></auth_id>                          // Nicht notwendig, wenn Auth-Typ "Kunde" und Kunden-EID ("AG") gegeben
        <auth_eid></auth_eid>                        // Nicht notwendig, wenn Auth-Typ "Kunde" und Kunden-EID ("AG") gegeben
        <customer>EID123456</customer>               // "Externe ID" (Kundennummer des AG). Muss gesetzt sein und existieren. Wie bisher!
        <account>username</account>                  // Wie bisher!
        <password>...</password>                     // Wie bisher!
        <session_id>...</session_id>                 // Wie bisher! (Es gibt die Erweiterung des "metaobject_request" für den "AN")
        ....
      </auth>
  ....

- BEISPIEL "AG-02" (AUFTRAGNEHMER)
  ....
      <auth>
        <auth_type>cs</auth_type>                    // Typ "AG" (leer ok, entspricht "cs")
        <auth_id>567890</auth_id>                    // ID "AG"
        <auth_eid></auth_eid>                        // Nicht notwendig, wenn ID gegeben
        <customer>EID123456</customer>               // "Externe ID" (Kundennummer des "AG"). Muss gesetzt sein und existieren. Wie bisher!
        <account>username</account>                  // Wie bisher!
        <password>...</password>                     // Wie bisher!
        <session_id>...</session_id>                 // Wie bisher! (Es gibt die Erweiterung des "metaobject_request" für den "AN")
        ....
      </auth>
  ....

- BEISPIEL "AG-03" (AUFTRAGNEHMER)
  ....
      <auth>
        <auth_type>cs</auth_type>                    // Typ "AG" (leer ok, entspricht "cs")
        <auth_id></auth_id>                          // Nicht notwendig, wenn EID "AG" gegeben
        <auth_eid>EID987654</auth_eid>               // EID "AG"
        <customer>EID123456</customer>               // "Externe ID" (Kundennummer des "AG"). Muss gesetzt sein und existieren. Wie bisher!
        <account>username</account>                  // Wie bisher!
        <password>...</password>                     // Wie bisher!
        <session_id>...</session_id>                 // Wie bisher! (Es gibt die Erweiterung des "metaobject_request" für den "AN")
        ....
      </auth>
  ....