hello all,

trying to post some JSON while using HTTP::Tiny. To my idea I have an okay structure of the data to post and I'm also authorised to post however I get the message 'content' => 'Cannot parse URL: \'HASH(0x7fc154e1fb50)\'.

The full code and result I see from data::Dumper is pasted below. Maybe someone can tell me what I'm doing wrong?

Best,
Gert
sub create_external_inv { my $headers = { Accept => "application/json", 'Content-Type' => "application/json", Authorization => "Bearer 123" }; my $url = "https://moneybird.com/api/v2/123/external_sales_invoice +s"; my $data = ( { external_sales_invoices => { "reference" => "M-8426", "date" => "2020-03-14", "contact_id" => 456, "details_attributes" => [ { "description" => "coffee", "price" => 2.25, "tax_rate_id" => 891 } ] } } ); my $agent = HTTP::Tiny->new; my $res = $agent->post( { url => $url, content => $data, headers => $heade +rs } ); print Dumper $res; if ( $res->{success} ) { print "Okay!\n"; } else { print "\n\Nope...\n\n"; } }

The result I see in the log from my Dancer2 app

'content' => 'Cannot parse URL: \'HASH(0x7fc154e1fb50)\' ', 'url' => { 'content' => { 'external_sales_invoices' => { 'reference' => 'M-8426', 'details_attributes' => [{'tax_rate_id' => '891, 'description' => 'coffee', 'price' => '2.25}], 'date' => '2020-03-14', 'contact_id' => '456 } }, 'headers' => { 'Content-Type' => 'application/json', 'Accept' => 'application/json', 'Authorization' => 'Bearer 123' }, 'url' => 'https://moneybird.com/api/v2/123/external_sales_i +nvoices' }, 'reason' => 'Internal Exception', 'success' => '', 'status' => 599, 'headers' => { 'content-type' => 'text/plain', 'content-length' => 41 } };

In reply to post JSON using HTTP::Tiny - cannot parse URL by GertMT

Title:
Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post, it's "PerlMonks-approved HTML":



  • Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
  • Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
  • Read Where should I post X? if you're not absolutely sure you're posting in the right place.
  • Please read these before you post! —
  • Posts may use any of the Perl Monks Approved HTML tags:
    a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, details, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
  • You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
            For:     Use:
    & &amp;
    < &lt;
    > &gt;
    [ &#91;
    ] &#93;
  • Link using PerlMonks shortcuts! What shortcuts can I use for linking?
  • See Writeup Formatting Tips and other pages linked from there for more info.