Apex post request: как разместить файл в шапке - PullRequest
0 голосов
/ 13 апреля 2020

Мне нужно опубликовать CSV-документ в Salesforce. Но я не могу найти способ, как я могу сделать это с помощью пост пост запроса. Вот требуемый формат заголовка запроса:

curl --request POST \
 --header 'Authorization: Bearer <token> \
 --header 'Content-type: text/csv' \
 --header 'Accept: text/plain' \
 --data-binary @/myhome/salesdata-2018-03-26.csv \ 
 https://sitedotcom/hapi/merchant/<id>/sales-data/api

И я пытаюсь сделать это с Rest API, и ниже мой код:

 Blob csvBlob = Blob.valueOf(finalstr);
    tDoc = new Document();
    tDoc.Name = 'sales_items_' +date.today();
    tDoc.Type = 'csv';
    tDoc.body = csvBlob;
    tDoc.FolderId = [select id from folder where name = 'Order Files'].Id;
    tDoc.ContentType = 'application/vnd.ms-excel';
    Insert tDoc;

System.debug('I am creating the post request');
    Http http = new Http();
    HttpRequest request = new HttpRequest();
    request.setMethod('POST');
    request.setHeader('Authorization','Security Token');
    request.setHeader('Accept','text/plain');
    request.setHeader('Content-Type', 'text/csv');
    request.setHeader('Authorization', 'Bearer ');
    request.setEndpoint('https://webhook.site/b0746268-e95c-4f94-bcb6-61d4bea54378');
    // request.setHeader('data-binary', @'/Documents/Order Files/'+tDoc.Name);
    //request.setBodyDocument(Dom.Document(tDoc));
    request.setBodyAsBlob(csvBlob);
    HttpResponse response = http.send(request);
    system.debug('response: ' + response);

Хранить не обязательно созданный документ, поэтому вставка документа не требуется. Как я могу создать запрос на отправку этого CSV-файла с именем, et c?

...