XML-RPC API cust.customer.add

Struktura XML-RPC dotazu

<?xml version="1.0"?>
<methodCall>
<methodName>cust.customer.add</methodName>
<params>
    <param><value><string>MD5_customer</string></value></param>
    <param><value><struct>
        <member><name>invoice_payment_days</name>
            <value>
                <string>base_64_value</string>
            </value>
        </member>
        <member><name>street</name>
            <value><string>base_64_value</string></value>
        </member>
        <member><name>contact_mail</name>
            <value><string>base_64_value</string></value>
        </member>
        <member><name>contact_name</name>
            <value><string>base_64_value</string></value>
        </member>
        <member><name>company_name</name>
            <value><string>base_64_value</string></value>
        </member>
        <member><name>pay_style</name>
            <value><string>base_64_value</string></value>
        </member>
        <member><name>state</name>
            <value><string>base_64_value</string></value>
        </member>
        <member><name>password</name>
            <value><string>base_64_value</string></value>
        </member>
        <member><name>city</name>
            <value><string>base_64_value</string></value>
        </member>
        <member><name>invoice_language</name>
            <value><string>base_64_value</string></value>
        </member>
        <member><name>invoice_mail</name>
            <value><string>base_64_value</string></value>
        </member>
        <member><name>invoice_curr</name>
            <value><string>base_64_value</string></value>
        </member>
        <member><name>person</name>
            <value><string>base_64_value</string></value>
        </member>
        <member><name>invoice_account</name>
            <value><string>base_64_value</string></value>
        </member>
        <member><name>contact_phone</name>
            <value><string>base_64_value</string></value>
        </member>
        <member><name>contact_cell</name>
            <value><string>base_64_value</string></value>
        </member>
        <member><name>contact_fax</name>
            <value><string>base_64_value</string></value>
        </member>
        <member><name>account_index</name>
            <value><string>base_64_value</string></value>
        </member>
        <member><name>vat_no</name>
            <value><string>base_64_value</string></value>
        </member>
        <member><name>country</name>
            <value><string>base_64_value</string></value>
        </member>
        <member><name>invoicing_type</name>
            <value><string>base_64_value</string></value>
        </member>
        <member><name>reg_no</name>
            <value><string>base_64_value</string></value>
        </member>
        <member><name>username</name>
            <value><string>base_64_value</string></value>
        </member>
        <member><name>zip</name>
            <value><string>base_64_value</string></value>
        </member>
        <member><name>type_invoice_first</name>
           <value><string>base_64_value</string></value>
        </member>
        <member><name>admin_first_name</name>
           <value><string>base_64_value</string></value>
        </member>
        <member><name>admin_last_name</name>
           <value><string>base_64_value</string></value>
        </member>
        <member><name>note</name>
           <value><string>base_64_value</string></value>
        </member>
        <member><name>postage</name>
           <value><string>base_64_value</string></value>
        </member>
        <member><name>birth_number</name>
            <value><string>base_64_value</string></value>
        </member>
        <member><name>birth_date</name>
            <value><string>base_64_value</string></value>
        </member>
        <member><name>discount_percentage</name>
            <value><string>base_64_value</string></value>
        </member>
        <member><name>discount_amount</name>
           <value><string>base_64_value</string></value>
        </member>

    </struct></value></param>
    <param><value><struct>
        <member><name>mailing_state</name>
            <value><string>base_64_value</string></value>
        </member>
        <member><name>mailing_country</name>
            <value><string>base_64_value</string></value>
        </member>
        <member><name>mailing_city</name>
            <value><string>base_64_value</string></value>
        </member>
        <member><name>mailing_person</name>
            <value><string>base_64_value</string></value>
        </member>
        <member><name>mailing_zip</name>
            <value><string>base_64_value</string></value>
        </member>
        <member><name>mailing_street</name>
            <value><string>base_64_value</string></value>
        </member>
        <member><name>mailing_company_name</name>
            <value><string>base_64_value</string></value>
        </member>
    </struct></value></param>
    <param><value><struct>
      <member><name>services</name>
       <value>
         <array><data>
           <value><struct>
              <member><name>type_invoice</name>
                 <value><string>base_64_value</string></value>
              </member>
              <member><name>ID_service</name>
                 <value><string>base_64_value</string></value>
              </member>
              <member><name>price</name>
                 <value><string>base_64_value</string></value>
              </member>
              <member><name>price_initial</name>
                 <value><string>base_64_value</string></value>
              </member>
              <member><name>ID_billing_period</name>
                 <value><string>base_64_value</string></value>
              </member>
              <member><name>description</name>
                 <value><string>base_64_value</string></value>
              </member>
              <member><name>convert</name>
                 <value><string>base_64_value</string></value>
              </member>
              <member><name>exchrate</name>
                 <value><string>base_64_value</string></value>
              </member>
              <member><name>discount_percentage</name>
                 <value><string>base_64_value</string></value>
              </member>
              <member><name>discount_amount</name>
                 <value><string>base_64_value</string></value>
              </member>
              <member><name>ID_predkontace</name>
                 <value><string>base_64_value</string></value>
              </member>
              <member><name>ID_clen_dph</name>
                 <value><string>base_64_value</string></value>
              </member>
              <member><name>ID_predkontace_initial</name>
                 <value><string>base_64_value</string></value>
              </member>
              <member><name>ID_clen_dph_initial</name>
                 <value><string>base_64_value</string></value>
              </member>

           </struct></value>
           <value><struct>
              <member><name>type_invoice</name>
                 <value><string>base_64_value</string></value>
              </member>
              <member><name>ID_service</name>
                 <value><string>base_64_value</string></value>
              </member>
              <member><name>price</name>
                 <value><string>base_64_value</string></value>
              </member>
              <member><name>ID_billing_period</name>
                 <value><string>base_64_value</string></value>
              </member>
              <member><name>description</name>
                 <value><string>base_64_value</string></value>
              </member>
              <member><name>convert</name>
                 <value><string>base_64_value</string></value>
              </member>
              <member><name>exchrate</name>
                 <value><string>base_64_value</string></value>
              </member>
              <member><name>discount_percentage</name>
                 <value><string>base_64_value</string></value>
              </member>
              <member><name>discount_amount</name>
                 <value><string>base_64_value</string></value>
              </member>
           </struct></value>
        </data></array>
      </value>
    </member></struct>
   </value></params>
   <param><value>
       <struct>
                        <member><name>invoices</name><value>
                                <array><data>
                                        <value><struct>
                                                <member><name>price</name><value><string>base64_value</string></value></member>
                                                <member><name>dph</name><value><string>base64_value</string></value></member>
                                                <member><name>description</name><value><string>base64_value</string></value></member>
                                                <member><name>count</name><value><string>base64_value</string></value></member>
                                                <member><name>discount_percentage</name><value><string>base64_value</string></value></member>
                                                <member><name>discount_amount</name><value><string>base64_value</string></value></member>
                                                <member><name>ID_predkontace</name><value><string>base64_value</string></value></member>
                                                <member><name>ID_clen_dph</name><value><string>base64_value</string></value></member>
                                                <member><name>ID_predkontace_initial</name><value><string>base64_value</string></value></member>
                                                <member><name>ID_clen_dph_initial</name><value><string>base64_value</string></value></member>
                                        </struct></value>
                                        <value><struct>
                                                <member><name>price</name><value><string>base64_value</string></value></member>
                                                <member><name>dph</name><value><string>base64_value</string></value></member>
                                                <member><name>description</name><value><string>base64_value</string></value></member>
                                                <member><name>count</name><value><string>base64_value</string></value></member>
                                                <member><name>discount_percentage</name><value><string>base64_value</string></value></member>
                                                <member><name>discount_amount</name><value><string>base64_value</string></value></member>
                                        </struct></value>
                                </data></array>
                        </value></member>
      </struct>
   </value></param>



</methodCall>

Hodnoty odpovědi

%hash = 
{
      'ID_INVOICE' => ID_invoice
      'ID_USER' => ID_user
      'PASSWORD' => password
      'STATUS' => 'OK'
      'USERNAME' => username6
}

Příklad v perlu

my $result = $server->call(
            'cust.customer.add',
            $md5,
            {
               'company_name', MIME::Base64::encode("testovaci"),
               'contact_name', MIME::Base64::encode("pepa novak"),
               'contact_mail',MIME::Base64::encode("george\@xland.cz"),
               'street',MIME::Base64::encode("u zvony"),
               'city',MIME::Base64::encode("liberec"),
               'state',MIME::Base64::encode("State"),
               'country',MIME::Base64::encode("cz"), # iso_2
               'zip',MIME::Base64::encode("46001"),
               'reg_no',MIME::Base64::encode("12212121"),
               'vat_no',MIME::Base64::encode("cz1212121"),
               'invoice_curr',MIME::Base64::encode("kc"),
               'invoice_language',MIME::Base64::encode("cz"),
               'invoice_account',MIME::Base64::encode("123456656"),             
               'person',MIME::Base64::encode("person"),
               'contact_phone',MIME::Base64::encode("phone"),
               'contact_cell',MIME::Base64::encode("mobile"),
               'contact_fax',MIME::Base64::encode("fax"),
               'pay_style',MIME::Base64::encode("transfer"),
               'invoice_mail',MIME::Base64::encode("email\@xnekde.cz"),
               'invoice_payment_days',MIME::Base64::encode("14"),
               'invoicing_type',MIME::Base64::encode("create_day"), # first_day, create_day
               'account_index',MIME::Base64::encode("1"),           # index uctu, swift .... 0,1,2...
               'username',MIME::Base64::encode("username"),
               'password',MIME::Base64::encode("password"),
               'type_invoice_first',MIME::Base64::encode("zaloha"), # typ prvni faktury (zaloha/faktura) ...bez ohledu na to, jakeho typu jsou jednotlive sluzeby
               'admin_first_name',MIME::Base64::encode("Jiri"),  # jmeno vystavitele faktury
               'admin_last_name',MIME::Base64::encode("Vanicek"),
               'note',MIME::Base64::encode("note"),
               'postage',MIME::Base64::encode("postage"),         # TRUE/FALSE
               'birth_number',MIME::Base64::encode("12345566"),   
               'birth_date',MIME::Base64::encode("yyyy-mm-dd"),    
               'discount_percentage',MIME::Base64::encode("15"), # sleva v procentech z celkove faktury
               'discount_amount',MIME::Base64::encode("200"),    # sleva castkou z celkove faktury
            },
            {
               'mailing_company_name', MIME::Base64::encode($mail_company_name),
               'mailing_person', MIME::Base64::encode($mail_contact_name),
               'mailing_street',MIME::Base64::encode($mail_street),
               'mailing_city',MIME::Base64::encode($mail_city),
               'mailing_state',MIME::Base64::encode("Mail State"),
               'mailing_country',MIME::Base64::encode($mail_country),
               'mailing_zip',MIME::Base64::encode($mail_zip),
            },
            {
               'services',
               [
                  {
                     'ID_service',MIME::Base64::encode("3"),
                     'type_invoice',MIME::Base64::encode("zaloha"),
                     'ID_billing_period',MIME::Base64::encode("1"),        # 1 - mesicni 2 - rocni 3 - pulrocni 4 - ctvrtletni
                     'description',MIME::Base64::encode("nejakej popis"),
                     'price',MIME::Base64::encode("1234"),
                     'price_initial',MIME::Base64::encode("-1000"),
                     'convert',MIME::Base64::encode("true"),               # provadet prepocet true/false
                     'exchrate',MIME::Base64::encode("0.78"),               # koeficient prepoctu (pokud neni tak aktualni kurz)
                     'discount_percentage',MIME::Base64::encode("15"), # sleva v procentech z polozky
                     'discount_amount',MIME::Base64::encode("200"),    # sleva castkou z polozky
                     'ID_predkontace',MIME::Base64::encode("1"),       # ID_predkontace z tabulky predkontaci  
                     'ID_clen_dph',MIME::Base64::encode("3"),          # ID_clen_dph z tabulky clen_dph
                     'ID_predkontace_initial',MIME::Base64::encode("1"),       # ID_predkontace z tabulky predkontaci  
                     'ID_clen_dph_initial',MIME::Base64::encode("3"),          # ID_clen_dph z tabulky clen_dph
                  },
                  {
                     'ID_service',MIME::Base64::encode("3"),
                     'type_invoice',MIME::Base64::encode("zaloha"),
                     'ID_billing_period',MIME::Base64::encode("1"),        # 1 - mesicni 2 - rocni 3 - pulrocni 4 - ctvrtletni
                     'description',MIME::Base64::encode("nejakej popis2"),
                     'price',MIME::Base64::encode("3234"),
                     'convert',MIME::Base64::encode("true"),               # provadet prepocet true/false
                     'exchrate',MIME::Base64::encode("0.78"),               # koeficient prepoctu (pokud neni tak aktualni kurz)
                     'discount_percentage',MIME::Base64::encode("15"), # sleva v procentech z polozky
                     'discount_amount',MIME::Base64::encode("200"),    # sleva castkou z polozky
                  },
               ],
            },
            {
               'invoices',
               [
                  {
                     'price',MIME::Base64::encode("355"),
                     'dph',MIME::Base64::encode("19"),
                     'description',MIME::Base64::encode("extra1"),        
                     'count',MIME::Base64::encode("1"),
                     'discount_percentage',MIME::Base64::encode("10"),
                     'discount_amount',MIME::Base64::encode("200"),
                     'ID_predkontace',MIME::Base64::encode("1"),       # ID_predkontace z tabulky predkontaci  
                     'ID_clen_dph',MIME::Base64::encode("3"),          # ID_clen_dph z tabulky clen_dph
                     'ID_predkontace_initial',MIME::Base64::encode("1"),       # ID_predkontace z tabulky predkontaci  
                     'ID_clen_dph_initial',MIME::Base64::encode("3"),          # ID_clen_dph z tabulky clen_dph
                  },
                  {
                     'price',MIME::Base64::encode("1000"),
                     'dph',MIME::Base64::encode("5"),
                     'description',MIME::Base64::encode("extra2"),      
                     'count',MIME::Base64::encode("2"),
                     'discount_percentage',MIME::Base64::encode("12"),
                     'discount_amount',MIME::Base64::encode("500"),
                  },
               ],
            },


            );