powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / ПриватБанк api POST запрос
25 сообщений из 96, страница 2 из 4
ПриватБанк api POST запрос
    #39763131
DarkMan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
VaRasданный глюк наблюдается не с "UTF-8", а с "cp1251"
а utf-8 проскакивает ? В последнее время в браузерах рекомендуют кодировку utf-8 или еще utf-8mb4 .

Вообщем играйтесь с кодировками . Полазайте по интернету . Но ответ 201 , лучше чем 500 . Вы уже где то у цели. :))
...
Рейтинг: 0 / 0
ПриватБанк api POST запрос
    #39763132
VaRas
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
DarkMan Удачи. Надеюсь получится.
Говорят мысль нематериальная )))
Вы ее послали и Лед тронулся. Пошла вода.
перешел на страницу форума читаю Ваше это сообщение.

получил
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
Формат успешного ответа:
код - 201
тело ответа:
{
"payment_ref": "референс созданного платежа"
"payment_pack_ref": "запакованный референс созданного платежа"
}



Если деньги (0.01 грн) спишется, код выложу.

Спасибо!!!
...
Рейтинг: 0 / 0
ПриватБанк api POST запрос
    #39763133
DarkMan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Не знаю , поможет ли , но при запросах из PHP к baze Access я столкнуля с крякозябрами , пока не включил вот это. Это фишка Win 10 или наооборот выключить. Так как была проблема с выгрузкой из Access в XML файл . Посмотрите здесь . Если у Вас 10 конечно.
...
Рейтинг: 0 / 0
ПриватБанк api POST запрос
    #39763134
DarkMan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
VaRasЕсли деньги (0.01 грн) спишется, код выложу.
я это на сайте видел , но Вы то про юникоды писали.
...
Рейтинг: 0 / 0
ПриватБанк api POST запрос
    #39763136
VaRas
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
DarkMan,
вопрос решился через
charset=UTF-8 (именно в таком написании, без пробелов!!!)
именно UTF-8, не utf8 и тем более не cp1251
...
Рейтинг: 0 / 0
ПриватБанк api POST запрос
    #39763139
DarkMan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
VaRascharset=UTF-8 (именно в таком написании, без пробелов!!!)
Теперь понял. Ну насколько я помню в VBA пробелы имеют значение. Это в HTML или PHP по барабану. :))
Ну я рад , что у Вас получилось. :))
...
Рейтинг: 0 / 0
ПриватБанк api POST запрос
    #39763140
DarkMan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
VaRascharset=UTF-8 (именно в таком написании, без пробелов!!!)
Во, нашел в одной умной книШке. Если чО.
...
Рейтинг: 0 / 0
ПриватБанк api POST запрос
    #39763143
VaRas
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
DarkMan,

о, что надо
случайно ссылки для скачивания нет?
...
Рейтинг: 0 / 0
ПриватБанк api POST запрос
    #39763145
DarkMan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
VaRasслучайно ссылки для скачивания нет?mЭто сильнейшая книга бестселлер называется Java Script Подробное руководство . Это как Гетц для Access . Наберите в гугле JavaScript Подробное руководство 6 издание . Она есть в электронном виде . Не хочу здесь рекламировать пиратские ссылки .
...
Рейтинг: 0 / 0
ПриватБанк api POST запрос
    #39763147
DarkMan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
ПриватБанк api POST запрос
    #39763152
VaRas
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
DarkMan,
Спасибо. Почитаю
...
Рейтинг: 0 / 0
ПриватБанк api POST запрос
    #39763282
Фотография court
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
VaRasDarkMan,
вопрос решился через
charset=UTF-8 (именно в таком написании, без пробелов!!!)
именно UTF-8, не utf8 и тем более не cp1251
Очень странно если он решился именно из-за этого ...

Во-первых в приватовской доке указан именно utf8
авторContent-Type: application/json;charset=cp1251
Поддерживаемые кодировки utf8 и cp1251. Если charset не указан, кодировка по умолчанию cp1251.
Во-вторых, вот на хабре выкладывали реализацию того, что ты делаешь на JS , и там тоже utf8
Код: javascript
1.
2.
3.
4.
5.
6.
7.
  var options = {
    'method' : 'post',
    'contentType' : 'application/json;charset=utf8',
    'headers' : headers,
    'payload' : JSON.stringify(payload),
    'muteHttpExceptions' : true
  }; 


Имхо, вэб-сервис просто и тупо не понимает это твоё UTF-8, и использует кодировку по умолчанию, т.е. cp1251

Попробуй вообще убрать charset.
Вот так
Код: vbnet
1.
    .setRequestHeader "Content-Type:", "application/json"


Пройдет запрос ?
...
Рейтинг: 0 / 0
ПриватБанк api POST запрос
    #39763372
VaRas
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
court,
уже все работает...писал несколько постов выше

VaRasDarkMan,
вопрос решился через
charset=UTF-8 (именно в таком написании, без пробелов!!!)
именно UTF-8, не utf8 и тем более не cp1251
...
Рейтинг: 0 / 0
ПриватБанк api POST запрос
    #39763402
DarkMan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
courtВо-первых в приватовской доке указан именно utf8
В принципе , теоретически возможно . Если посмотреть скрин из книги по JavaScript , то там тоже charset=UTF-8 . Вот только я не могу утверждать насчет пробела после знака равенства . Так как запрос отправляется из VBA. Если бы я писал script в браузере или файле js то пробел бы игнорировался .
Что касается utf8 , то я тоже приводил выше пример . Если у меня в браузере в заголовке стоит
<meta charset="utf-8"> , то в запросе Ajax я вообще не указывал кодировку , правда запрос был с применением библиотеки jQuery . При подключении к базе MySQL например в строке подключения я тоже указывал charset=>utf8 . Так что нужно учитывать все нюансы и смотреть manual. :))
courtИмхо, вэб-сервис просто и тупо не понимает это твоё UTF-8, и использует кодировку по умолчанию, т.е. cp1251
...
Рейтинг: 0 / 0
ПриватБанк api POST запрос
    #39763404
VaRas
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Выкладываю рабочий код. Может кому пригодится.
Документ только создается/сохраняется!
Надо зайти в Приват24 для юр.лиц, ПОДПИСАТЬ и ОТПРАВИТЬ.
Подписать/отправить - техподдержка ответила - в стадии разработки
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
Private Sub PostZapros()
On Error GoTo lbl
Dim XMLHTTP As New MSXML2.XMLHTTP60
Dim sHTTP As New WinHttp.WinHttpRequest
Dim strQuery As String, myUrl As String
  
  strQuery = "{" _
    & """document_number"":""autoclient""," _
    & """recipient_account"":""" & Me.idKlienti.Column(2) & """," _
    & """recipient_nceo"":""" & Me.idKlienti.Column(3) & """," _
    & """payment_naming"":""" & Me.idKlienti.Column(1) & """," _
    & """payment_amount"":""" & Me.payment_amount & """," _
    & """recipient_ifi"":""" & Me.idKlienti.Column(4) & """," _
    & """payment_destination"":""" & Me.payment_destination & """," _
    & """payer_account"":""" & Me.idMoiFirmi.Column(2) & """" _
    & "}"
  'Debug.Print strQuery


  myUrl = "https://acp.privatbank.ua/api/proxy/payment/create_pred"
  
  With sHTTP 'XMLHTTP тоже работает
    .Open "POST", myUrl, False
    .setRequestHeader "User-Agent", "autoklient"
    .setRequestHeader "id", idKlienta
    .setRequestHeader "token", tokenKlienta
    .setRequestHeader "Content-Type", " application/json;charset=UTF-8"
    .send (strQuery)
    Debug.Print .Status
    Debug.Print .ResponseText
  End With
    
lbl:
  If Err.Number <> 0 Then _
    Debug.Print Err.Number, Err.Description
  
  On Error Resume Next
  
  Debug.Print "sHTTP.Status: ", sHTTP.Status
  Debug.Print "XMLHTTP.Status:", XMLHTTP.Status
  
  Set sHTTP = Nothing
  Set XMLHTTP = Nothing

End Sub
...
Рейтинг: 0 / 0
ПриватБанк api POST запрос
    #39763418
VaRas
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
courtПопробуй вообще убрать charset.
Вот так
Код: vbnet
1.
    .setRequestHeader "Content-Type:", "application/json"


Пройдет запрос ?

ответ:
Код: xml
1.
2.
201
-2147023783   Символ Юникода не имеет сопоставления в конечной многобайтовой кодовой странице.



из Приватовской инструкции
"Если charset не указан, кодировка по умолчанию cp1251."
как уже писал выше "charset=cp1251" вообще не работает
...
Рейтинг: 0 / 0
ПриватБанк api POST запрос
    #39763440
DarkMan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
VaRas как уже писал выше "charset=cp1251" вообще не работает
На Украине ничО российское не работает.
...
Рейтинг: 0 / 0
ПриватБанк api POST запрос
    #39763464
VaRas
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
DarkMan,

)))

просьба, политику не затрагивать!
иначе пост уйдет не в то русло ))

PS
Приставка "на" используется к отдельно расположенным территориям, типа острова. Пример: "на Мальдивах".
Все говорят "на Украине" правильно же использовать "В Украине".

это я так, поумничал))
...
Рейтинг: 0 / 0
ПриватБанк api POST запрос
    #39763488
Озверин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Значения ваших полей, которое вы посылаете в запросе, точно не юникод. Надо рекодить.
...
Рейтинг: 0 / 0
ПриватБанк api POST запрос
    #39763490
Озверин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
VaRasDarkMan,

)))

просьба, политику не затрагивать!
иначе пост уйдет не в то русло ))

PS
Приставка "на" используется к отдельно расположенным территориям, типа острова. Пример: "на Мальдивах".
Все говорят "на Украине" правильно же использовать "В Украине".

это я так, поумничал))

на Руси? На Донбассе? Хватит, есть определенные правила и исторические нормы. А здесь так и вовсе форум по программированию.
...
Рейтинг: 0 / 0
ПриватБанк api POST запрос
    #39763510
VaRas
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Озверин...Надо рекодить.
что именно надо сделать?
...
Рейтинг: 0 / 0
ПриватБанк api POST запрос
    #39763561
Озверин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
VaRas, в общем случае все тело вашего запрос надо енкодить в utf8. Для этого использовать ф-ию типа WideCharToMultiByte(она не аксовая). А по получается, что требование utf есть, а сам текст приходит в cp1251.
...
Рейтинг: 0 / 0
ПриватБанк api POST запрос
    #39763582
Озверин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Посмотрел, что там еще json. В json вам надо чуть-чуть заранее подумать про энкапсуляцию символов, ибо в json некоторые символы надо экранировать. Может быть стоит юзать какую-нить либу для этого .
...
Рейтинг: 0 / 0
ПриватБанк api POST запрос
    #39763609
VaRas
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Озверин,
есть такая буква. Спасибо подсказали.

проверил на двойных (") кавычках. Фокус не прошел.
Надо подумать, как пройти.
Либо дублирование, либо...

PS интересно, с какими еще символами, фокус не идет?
...
Рейтинг: 0 / 0
ПриватБанк api POST запрос
    #39763619
Фотография court
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
VaRasPS интересно, с какими еще символами, фокус не идет?

Недопустимые символы в JSON или какие символы нужно экранировать?

Код: xml
1.
2.
3.
4.
5.
6.
7.
\b  Backspace (ascii code 08)
\f  Form feed (ascii code 0C)
\n  New line
\r  Carriage return
\t  Tab
\"  Double quote
\\  Backslash character
...
Рейтинг: 0 / 0
25 сообщений из 96, страница 2 из 4
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / ПриватБанк api POST запрос
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]