🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: pl.comp.lang.delphi
Article #345812

RestClient, API i wysyłanie POST ze złożonym parametrem

#345812
From: Ryszard
Date: Mon, 22 May 2017 10:18
70 lines
3882 bytes
witam 

potrzebuję pomocy przy integracji aplikacji w Delphi 10 z aplikacja webową poprzez jej API, chodzi konkretnie o EmailLabs.pl i funkcje przy pomocy której można zlecić maila do wysłania

udało mi się już obsłużyć część funkcje API przy wykorzystaniu komponentów:
RESTClient
RESTRequest
RESTResponse
HTTPBasicAuthenticator 

ale te funkcje miały dość prostą strukturę parametrów które poprzez POST wysyłałem na serwer

natomiast funkcja do wysyłania maili /api/new_sendmail ( http://docs.emaillabs.pl/api/wysylka-wiadomosci-e-mail-2/ ) ma bardziej złożoną budowę struktury parametrów i tu mam problem. Wygląda to mniej więcej tak:

[
    'to'            => [
        'test01@domein.pl' => [
            'message_id'    => 'test001@domain.com',
            'reciver_name'  => 'Jan Kowalski'
        ],
        'test02@domein.pl' => [
            'message_id'    => 'test002@domain.com',
            'reciver_name'  => 'Janusz Nowak'
        ]
    ],
    'smtp_account'  => '1.smtpaccount.smtp',
    'subject'       => 'Message subject',
    'html'          => '<p>Some Html</p> <img src="cid:image_2.jpg"/>',
    'text'          => 'Some Text',
    'from'          => 'from_address@domain.com',
    'from_name'     => 'Office',
    'headers'       => [
        'x-header-1'    => 'test-1',
        'x-header-2'    => 'test-2'
    ],
    'cc'            => 'cc_address@domain.com',
    'cc_name'       => 'Wojciech Kowalski',
    'bcc'           => 'bcc_address@domain.com',
    'bcc_name'      => 'Adam Nowak',
    'reply_to'      => 'reply@domain.com',
    'tags'          => [
        'tag_1', 'tag_2'
    ],
    'files'         => [
        '0'         => [
            'name'  => 'image_1.jpg',
            'mime'  =>  'image/jpeg',
            'content' => 'some_file_content_in_base_64'
        ],
        '1'         => [
            'name'  => 'image_2.jpg',
            'mime'  =>  'image/jpeg',
            'content' => 'some_file_content_in_base_64',
            'inline' => 1
        ],
    ]
];

i zupełnie nie wiem jak zapisać taką wartość parametru która sama jest tablicą i potem ja przesłać postem do tej funkcji

w sieci znalazłem kilka wątków w których sugerowano zapisać takie parametry w json i wysłać jako json ale nie jestem pewien czy to API obsługuje w ogóle JSON bo w opisie nie mam na ten temat ani słowa. Wynik wywyołania jest tylko zwracany w json 

Czy ktoś z Was może mi pomóc, naprowadzić jak zrealizować taką funkcjonalność   
  

z góry dziękuję za pomoc
    
pozdrawiam

R
Technical Details
Message-ID: <606e1e3f-f1ac-4a46-9a62-41ab5a3698f6@googlegroups.com>
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!newsfeed2.atman.pl!newsfeed.atman.pl!goblin3!goblin.stu.neva.ru!news.misty.com!border2.nntp.dca1.giganews.com!nntp.giganews.com!67no1335308itx.0!news-out.google.com!m134ni5697itb.0!nntp.google.com!67no1339253itx.0!postnews.google.com!glegroupsg2000goo.googlegroups.com!not-for-mail

Show Full Headers
Complete Article Headers
X-Received: by 10.107.129.137 with SMTP id l9mr8085976ioi.18.1495448303177;        Mon, 22 May 2017 03:18:23 -0700 (PDT)
X-Received: by 10.157.37.213 with SMTP id q79mr472854ota.11.1495448303131; Mon, 22 May 2017 03:18:23 -0700 (PDT)
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!newsfeed2.atman.pl!newsfeed.atman.pl!goblin3!goblin.stu.neva.ru!news.misty.com!border2.nntp.dca1.giganews.com!nntp.giganews.com!67no1335308itx.0!news-out.google.com!m134ni5697itb.0!nntp.google.com!67no1339253itx.0!postnews.google.com!glegroupsg2000goo.googlegroups.com!not-for-mail
Newsgroups: pl.comp.lang.delphi
Date: Mon, 22 May 2017 03:18:22 -0700 (PDT)
Complaints-To: groups-abuse@google.com
Injection-Info: glegroupsg2000goo.googlegroups.com; posting-host=185.93.92.116; posting-account=wPNY2goAAACcLaWlJ166m1yPvd_ji86-
NNTP-Posting-Host: 185.93.92.116
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <606e1e3f-f1ac-4a46-9a62-41ab5a3698f6@googlegroups.com>
Subject: RestClient, API i wysyłanie POST ze
 złożonym parametrem
From: Ryszard <rysiukowalski@wp.pl>
Injection-Date: Mon, 22 May 2017 10:18:23 +0000
Lines: 84
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit