XML-RPC API cust.customer.add.service

Struktura XML-RPC dotazu

<?xml version="1.0"?>
<methodCall>
<methodName>cust.customer.add.service</methodName>
<params>
        <param><value><string>MD5_customer</string></value></param>
        <param><value>
                <struct>
                        <member><name>type_invoice_first</name><value><string>base64_value</string></value></member>
                        <member><name>client_id</name><value><i4>numeric_value</i4></value></member>
                        <member><name>admin_first_name</name><value><string>base64_value</string></value></member>
                        <member><name>admin_last_name</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></param>
        <param><value>
                <struct>
                        <member><name>services</name><value>
                                <array><data>
                                        <value><struct>
                                                <member><name>type_invoice</name><value><string>base64_value</string></value></member>
                                                <member><name>ID_service</name><value><string>base64_value</string></value></member>
                                                <member><name>price</name><value><string>base64_value</string></value></member>
                                                <member><name>ID_billing_period</name><value><string>base64_value</string></value></member>
                                                <member><name>price_initial</name><value><string>base64_value</string></value></member>
                                                <member><name>description</name><value><string>base64_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>base64_value</string></value></member>
                                                <member><name>discount_amount</name><value><string>base64_value</string></value></member>
                                                <member><name>discount_percentage_initial</name><value><string>base64_value</string></value></member>
                                                <member><name>discount_amount_initial</name><value><string>base64_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>base64_value</string></value></member>
                                                <member><name>ID_service</name><value><string>base64_value</string></value></member>
                                                <member><name>pricex</name><value><string>base64_value</string></value></member>
                                                <member><name>ID_billing_period</name><value><string>base64_value</string></value></member>
                                                <member><name>description</name><value><string>base64_value</string></value></member>
                                        </struct></value>
                                </data></array>
                        </value></member>
                </struct>
        </value></param>
        <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>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>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>

</params>
</methodCall>

Hodnoty odpovědi

%hash = 
{
      'ID_INVOICE' => ID_invoice
      'ID_USER' => ID_user
      'STATUS' => 'OK'
}

Příklad v perlu

my $result = $server->call(
            'cust.customer.add.service',
            $md5,
            {
               'client_id', '20', # id zakaznika ziskane pres verify
               'type_invoice_first',MIME::Base64::encode("zaloha"),
               'admin_first_name',MIME::Base64::encode("Jiri"),  # vystaveni faktury 
               'admin_last_name',MIME::Base64::encode("Vanicek"), #vystaveni faktury
            },
            {
               '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"),
                     'discount_percentage_initial',MIME::Base64::encode("14"),
                     'discount_amount',MIME::Base64::encode("15"),
                     'discount_amount_initial',MIME::Base64::encode("14"),
                     'ID_predkontace',MIME::Base64::encode("1"),
                     'ID_clen_dph',MIME::Base64::encode("3"),
                     'ID_predkontace_initial',MIME::Base64::encode("1"),
                     'ID_clen_dph_initial',MIME::Base64::encode("3"),
                  },
                  {
                     'ID_service',MIME::Base64::encode("5"),
                     'type_invoice',MIME::Base64::encode("zaloha"),
                     'ID_billing_period',MIME::Base64::encode("2"),        # 1 - mesicni 2 - rocni 3 - pulrocni 4 - ctvrtletni
                     'description',MIME::Base64::encode("nejakej popis2"),
                     'price',MIME::Base64::encode("3234"),
                     'discount_percentage',MIME::Base64::encode("15"),
                     'discount_percentage_initial',MIME::Base64::encode("14"),
                     'discount_amount',MIME::Base64::encode("15"),
                     'discount_amount_initial',MIME::Base64::encode("14"),

                  },
               ],
            },
            {
               '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"),
                  },
                  {
                     '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"),
                     'ID_predkontace',MIME::Base64::encode("1"),
                     'ID_clen_dph',MIME::Base64::encode("3"),
                     'ID_predkontace_initial',MIME::Base64::encode("1"),
                     'ID_clen_dph_initial',MIME::Base64::encode("3"),
                  },
               ],
            },

            );