Перейти к содержимому

MOAB

- - - - -

Неблагонадёжный получатель


  • Войдите, чтобы ответить
Сообщений в теме: 12

#1 AdisPrint

AdisPrint

    Почетный

  • Активный участник
  • PipPipPipPipPip
  • 2 501 сообщений
1 949

Отправлено 12 Ноябрь 2018 - 15:45

Сегодня пришла рассылка от Почты России. Они добавили новую услугу

Цитата

- Теперь при создании отправления сервис будет информировать пользователя о возможном не выкупе отправления, если указанный адресат систематически не забирает заказы с наложенным платежом.
Можно отправлять по ФИО, адресу и телефону запрос по API и получать ответ, были ли у данного покупателя случаи когда он не забирал наложку. Это прям ох..енно. Давно пора было. Но примеры у почты как всегда на питоне. Как бы это в PHP переделать. :unsure:
СНПЧ, чернила, картриджи, фотобумага для принтеров и МФУ - AdisPrint.ru

#2 GogA

GogA

    Продвинутый

  • Основатель
  • PipPipPip
  • 327 сообщений
330
  • ИзMoscow

Отправлено 12 Ноябрь 2018 - 16:13

Не нашёл информации об этой услуге. А сколько стоит проверка?

#3 AdisPrint

AdisPrint

    Почетный

  • Активный участник
  • PipPipPipPipPip
  • 2 501 сообщений
1 949

TC Отправлено 12 Ноябрь 2018 - 16:20

Вот Вы сеошники привыкли платить за проверки :D. Не сколько у почты это не стоит. Договор нужно только заключить, чтобы получить доступ к https://otpravka.pochta.ru
СНПЧ, чернила, картриджи, фотобумага для принтеров и МФУ - AdisPrint.ru

#4 protector

protector

    Почетный

  • Основатель
  • PipPipPipPipPip
  • 3 007 сообщений
1 593
  • ИзСанкт-Петербурга

Отправлено 12 Ноябрь 2018 - 16:58

Просмотр сообщенияAdisPrint (12 Ноябрь 2018 - 16:20) писал:

Вот Вы сеошники привыкли платить за проверки :D. Не сколько у почты это не стоит.
Коммунизм у нас)

#5 Матумба

Матумба

    во имя матана

  • Участник
  • PipPipPipPipPip
  • 4 953 сообщений
6 175
  • ИзКрии

Отправлено 12 Ноябрь 2018 - 17:16

Просмотр сообщенияAdisPrint сказал:

Но примеры у почты как всегда на питоне. Как бы это в PHP переделать.
Ну делаешь тему с примерами на питоне и предлагаешь перевести это на пхп.

#6 AdisPrint

AdisPrint

    Почетный

  • Активный участник
  • PipPipPipPipPip
  • 2 501 сообщений
1 949

TC Отправлено 13 Ноябрь 2018 - 11:04

Видимо пример еще не допилили. В примере кода для неблагонадежного, показан пример нормализации ФИО. Что к слову тоже бесплатно и тоже можно к сайте прикрутить, а еще есть нормализация адреса.
Нормализация ФИО - Python (3 версия)
# -*- coding: utf-8 -*-
# примеры работы с api v1.0 для pyton 3
# необходим установленный модуль "requests"
# документация модуля: http://docs.python-requests.org
# инструкции по установке модуля: http://docs.python-requests.org/en/master/user/install
import requests
import base64
import json
def to_base64(str):
return base64.b64encode(str.encode()).decode("utf-8")
#properties
access_token = "TestAccessToken"
login_password = to_base64("login:password")
protocol  = "https://"
host   = "otpravka-api.pochta.ru"
request_headers = {
"Content-Type": "application/json",
"Accept": "application/json;charset=UTF-8",
"Authorization": "AccessToken " + access_token,
"X-User-Authorization": "Basic " + login_password
}
path = "/1.0/unreliable-recipient"
rawData =[
  {
	"raw-address": "123456, Москва, Московская, д 1, кв 1",
	"raw-full-name": "Иванов Иван Иванович",
	"raw-telephone": "123456789"
  }
]
url = protocol + host + path
response = requests.post(url, headers=request_headers, data=json.dumps(rawData))
print("Status code: ", response.status_code)
print("Response body: ", response.text)

В варианте php это все через curl будет?
СНПЧ, чернила, картриджи, фотобумага для принтеров и МФУ - AdisPrint.ru

#7 GogA

GogA

    Продвинутый

  • Основатель
  • PipPipPip
  • 327 сообщений
330
  • ИзMoscow

Отправлено 13 Ноябрь 2018 - 15:23

Просмотр сообщенияAdisPrint (13 Ноябрь 2018 - 11:04) писал:

Видимо пример еще не допилили. В примере кода для неблагонадежного, показан пример нормализации ФИО. Что к слову тоже бесплатно и тоже можно к сайте прикрутить, а еще есть нормализация адреса.
Нормализация ФИО - Python (3 версия)
# -*- coding: utf-8 -*-
# примеры работы с api v1.0 для pyton 3
# необходим установленный модуль "requests"
# документация модуля: http://docs.python-requests.org
# инструкции по установке модуля: http://docs.python-requests.org/en/master/user/install
import requests
import base64
import json
def to_base64(str):
return base64.b64encode(str.encode()).decode("utf-8")
#properties
access_token = "TestAccessToken"
login_password = to_base64("login:password")
protocol  = "https://"
host   = "otpravka-api.pochta.ru"
request_headers = {
"Content-Type": "application/json",
"Accept": "application/json;charset=UTF-8",
"Authorization": "AccessToken " + access_token,
"X-User-Authorization": "Basic " + login_password
}
path = "/1.0/unreliable-recipient"
rawData =[
  {
	"raw-address": "123456, Москва, Московская, д 1, кв 1",
	"raw-full-name": "Иванов Иван Иванович",
	"raw-telephone": "123456789"
  }
]
url = protocol + host + path
response = requests.post(url, headers=request_headers, data=json.dumps(rawData))
print("Status code: ", response.status_code)
print("Response body: ", response.text)

В варианте php это все через curl будет?

На curl можо сделать, ничего сложного.

Думаю по запросу типа: php curl https headers authorization есть примеры которые за 5-10 минут можно переписать для данного случая.

#8 Spinne

Spinne

    Зануда™

  • Основатель
  • PipPipPipPipPip
  • 2 004 сообщений
3 407
  • Излесу, вестимо

Отправлено 13 Ноябрь 2018 - 15:45

Просмотр сообщенияAdisPrint (13 Ноябрь 2018 - 11:04) писал:

В варианте php это все через curl будет?

Разумеется. :)
Вообще интересно – что-то очень похожее уже сделал, что-то аналогичное, но с HTTP-авторизацией делаю сейчас...
Ник не менял, подпись поменяю позже. Ваш Зануда. Он же AHP-net, но это уже там

#9 AdisPrint

AdisPrint

    Почетный

  • Активный участник
  • PipPipPipPipPip
  • 2 501 сообщений
1 949

TC Отправлено 13 Ноябрь 2018 - 17:59

Просмотр сообщенияSpinne сказал:

что-то очень похожее уже сделал, что-то аналогичное, но с HTTP-авторизацией делаю сейчас...
А база данных откуда вестимо?
СНПЧ, чернила, картриджи, фотобумага для принтеров и МФУ - AdisPrint.ru

#10 AdisPrint

AdisPrint

    Почетный

  • Активный участник
  • PipPipPipPipPip
  • 2 501 сообщений
1 949

TC Отправлено 14 Ноябрь 2018 - 19:07

Просмотр сообщенияGogA сказал:

Думаю по запросу типа: php curl https headers authorization есть примеры которые за 5-10 минут можно переписать для данного случая.
Ну если бы были примеры на PHP то я бы их адаптировал, в тут чёт я пока не могу с мыслями собраться, каким образом все эти параметры к curl запросу цеплять, то-ли post то-ли json, а может это вообще не их той оперы.
СНПЧ, чернила, картриджи, фотобумага для принтеров и МФУ - AdisPrint.ru

#11 Матумба

Матумба

    во имя матана

  • Участник
  • PipPipPipPipPip
  • 4 953 сообщений
6 175
  • ИзКрии

Отправлено 15 Ноябрь 2018 - 08:14

Просмотр сообщенияAdisPrint сказал:

еще есть нормализация адреса
на похапе без тестов и проверки работоспособности будет что-то вроде:
<?php

//

ini_set('default_socket_timeout', 1);

list($data, $response) = rupost_names_prepare(
	"123456, Москва, Московская, д 1, кв 1",
	"Иванов Иван Иванович",
	"123456789"
);

printf("Data:\n%s\n", $data);

printf("Headers:\n");
print_r($response);
printf("\n");

//
function rupost_names_prepare($addr = '', $name = '', $phone = '') {
	$access_token = "TestAccessToken";
	$login_password = base64_encode("login:password");
	$endpoint = "https://otpravka-api.pochta.ru/1.0/unreliable-recipient";

	$headers = implode("\n", array(
		"Content-Type: application/json",
		"Accept: application/json;charset=UTF-8",
		($access_token ? "Authorization: AccessToken " . $access_token : ""),
		($login_password ? "X-User-Authorization: Basic " . $login_password : ""),
		"",
	));

	$json = json_encode(array(
		"raw-address" => $addr,
		"raw-full-name" => $name,
		"raw-telephone" => $phone,
	));

	$context = stream_context_create(array('http' => array(
		'method'  => 'POST',
		'header'  => $headers,
		'content' => $json,
	)));

	$r = @file_get_contents($endpoint, false, $context);
	$h = (array) @$http_response_header;

	return array($r, $h);
}

?>

Сообщение отредактировал Матумба: 17 Ноябрь 2018 - 01:50


#12 AdisPrint

AdisPrint

    Почетный

  • Активный участник
  • PipPipPipPipPip
  • 2 501 сообщений
1 949

TC Отправлено 19 Ноябрь 2018 - 13:13

Похоже у них или с примером или с сервисом какие-то косяки.
В доках они советуют тестировать запросы в программе SoapUI, сделал все по инструкции, а в ответ получаю

{
   "timestamp": "2018-11-19T12:08:07",
   "status": 400,
   "error": "Bad Request",
   "exception": "org.springframework.http.converter.HttpMessageNotReadableException",
   "message": "Bad Request",
   "path": "/1.0/clean/address"
}

Запрос из PHP тоже выдает ошибку.

Data: Headers: Array ( [0] => HTTP/1.1 400 Bad Request [1] => Server: nginx [2] => Date: Mon, 19 Nov 2018 09:12:57 GMT [3] => Content-Type: application/json;charset=UTF-8 [4] => Connection: close [5] => Expires: 0 [6] => Cache-Control: no-cache, no-store, max-age=0, must-revalidate [7] => X-XSS-Protection: 1; mode=block [8] => Pragma: no-cache [9] => X-Frame-Options: DENY [10] => X-Content-Type-Options: nosniff [11] => X-Application-Context: application:8090 )

СНПЧ, чернила, картриджи, фотобумага для принтеров и МФУ - AdisPrint.ru

#13 AdisPrint

AdisPrint

    Почетный

  • Активный участник
  • PipPipPipPipPip
  • 2 501 сообщений
1 949

TC Отправлено 23 Ноябрь 2018 - 22:41

Документация на почтовое API.
https://otpravka.poc...ification#/main
СНПЧ, чернила, картриджи, фотобумага для принтеров и МФУ - AdisPrint.ru


Количество пользователей, читающих эту тему: 4

0 пользователей, 4 гостей, 0 анонимных



© 2018 SMO&SEO форум «WEBIMHO» — продвижение и создание сайтов, интернет-маркетинг

По вопросам рекламы на форуме и цены на рекламу
Все материалы SEO форума разрешены к копированию только с установкой гиперактивной ссылки на webimho.ru,
тем, кто этого не сделает, мы оторвем руки и ноги и поменяем местами,
а когда выйдем из тюрьмы, опять оторвем и опять поменяем.


Россия, г. Москва

Мы в соцсетях: twitter | вконтакте | facebook | livejournal