attachEmail service date format issue


(Jeffrey Chimene) #1

Has anyone successfully used the attachEmail service recently?
It seems the documentation expects the receivedDate and sendDate arguments to be strings. Sending a string (“2017-07-27”) results in a “[DatabaseError]Error attaching the email.” result.
The xmlrpc library automatically converts anything that looks like a datetime to an ISO date; which fails as the params no longer match the method signature.
I have existing code that sends date(“Ymd\TH:i:s”). I’m wondering if this is also failing.


(Tom Scott) #2

I just tried an XML-RPC call to that service and was successful. My payload is attached, if you would like to see. Could you post yours as well so that I have a point of comparison to help further?

<?xml version='1.0' encoding='UTF-8'?>
<methodCall>
  <methodName>APIEmailService.attachEmail</methodName>
  <params>
  	<param>
      <value><string>secretapikeystring</string></value>
    </param>
    <param>
      <value><int>1</int></value>
    </param>
    <param>
      <value><string>a</string></value>
    </param>
    <param>
      <value><string>a@a.com</string></value>
    </param>
    <param>
      <value><string>b@b.com</string></value>
    </param>
    <param>
      <value><string></string></value>
    </param>
    <param>
      <value><string></string></value>
    </param>
    <param>
      <value><string>Text</string></value>
    </param>
    <param>
      <value><string>A</string></value>
    </param>
    <param>
      <value><string>A</string></value>
    </param>
    <param>
      <value><string>A</string></value>
    </param>
    <param>
      <value><string>text</string></value>
    </param>
    <param>
      <value><string>2017-07-28</string></value>
    </param>
    <param>
      <value><string>2017-07-28</string></value>
    </param>
    <param>
      <value><int>1</int></value>
    </param>
  </params>
</methodCall>

(Jeffrey Chimene) #3

Array
(
[0] => xmlrpcval Object
(
[me] => Array
(
[string] => ee…da
)

        [mytype] => 1
        [_php_class] => 
    )

[1] => xmlrpcval Object
    (
        [me] => Array
            (
                [int] => 144
            )

        [mytype] => 1
        [_php_class] => 
    )

[2] => xmlrpcval Object
    (
        [me] => Array
            (
                [string] => Jeffrey Chimene
            )

        [mytype] => 1
        [_php_class] => 
    )

[3] => xmlrpcval Object
    (
        [me] => Array
            (
                [string] => jeff@systasis.co
            )

        [mytype] => 1
        [_php_class] => 
    )

[4] => xmlrpcval Object
    (
        [me] => Array
            (
                [string] => jeff@systasis.co
            )

        [mytype] => 1
        [_php_class] => 
    )

[5] => xmlrpcval Object
    (
        [me] => Array
            (
                [string] => 
            )

        [mytype] => 1
        [_php_class] => 
    )

[6] => xmlrpcval Object
    (
        [me] => Array
            (
                [string] => 
            )

        [mytype] => 1
        [_php_class] => 
    )

[7] => xmlrpcval Object
    (
        [me] => Array
            (
                [string] => HTML
            )

        [mytype] => 1
        [_php_class] => 
    )

[8] => xmlrpcval Object
    (
        [me] => Array
            (
                [string] => Your email finance banner (Banner 4)
            )

        [mytype] => 1
        [_php_class] => 
    )

[9] => xmlrpcval Object
    (
        [me] => Array
            (
                [string] => 

Hello …
)

        [mytype] => 1
        [_php_class] => 
    )

[10] => xmlrpcval Object
    (
        [me] => Array
            (
                [string] => 
            )

        [mytype] => 1
        [_php_class] => 
    )

[11] => xmlrpcval Object
    (
        [me] => Array
            (
                [string] => 
            )

        [mytype] => 1
        [_php_class] => 
    )

[12] => xmlrpcval Object
    (
        [me] => Array
            (
                [string] => 2017-07-27
            )

        [mytype] => 1
        [_php_class] => 
    )

[13] => xmlrpcval Object
    (
        [me] => Array
            (
                [string] => 2017-07-27
            )

        [mytype] => 1
        [_php_class] => 
    )

[14] => xmlrpcval Object
    (
        [me] => Array
            (
                [int] => 1
            )

        [mytype] => 1
        [_php_class] => 
    )

)


(Tom Scott) #4

I’m not seeing anything immediately wrong with what you’re sending; I don’t believe it’s a date format coercion issue. Is it possible to see the generated XML from the SDK that you are actually sending to the server, so that I can send it to my internal instance to test it?

(Also, if you use three backticks around it, it makes code more readable in forum posts)


(Jeffrey Chimene) #5

I’ll have to figure out how to get the XML from the xmlrpc library.
I think the issue is missing required fields. Let me try that now.


(Jeffrey Chimene) #6

I’m sure this will "work from your account"
I’m interested in running it against sd108
Gives:

```<?xml version="1.0" encoding="UTF-8" ?>
<methodCall>
<methodName>APIEmailService.attachEmail</methodName>
<params>
<param>
<value><string>ee..da</string></value>
</param>
<param>
<value><int>144</int></value>
</param>
<param>
<value><string>Jeffrey Chimene</string></value>
</param>
<param>
<value><string>jeff@systasis.co</string></value>
</param>
<param>
<value><string>jeff@systasis.co</string></value>
</param>
<param>
<value><string></string></value>
</param>
<param>
<value><string></string></value>
</param>
<param>
<value><string>HTML</string></value>
</param>
<param>
<value><string>Your email finance banner (Banner 4)</string></value>
</param>
<param>
<value><string>Redacted</string></value>
</param>
<param>
<value><string>This is sample text</string></value>
</param>
<param>
<value><string>A</string></value>
</param>
<param>
<value><string>2017-07-27</string></value>
</param>
<param>
<value><string>2017-07-27</string></value>
</param>
<param>
<value><int>1</int></value>
</param>
</params>
</methodCall>

(Jeffrey Chimene) #7

Solved: The contact ID is invalid


(Tom Scott) #8

Ah, sometimes it’s the small things that trip us up, no worries. Glad you got it!