Сервисы

Как сбросить кеш VK, FB и Telegram для Opengraph-изображений

Бывает так, что вы расшарили ссылку на свой сайт в соцсетях, после чего изменили на сайте картинку-превью или заголовок, а соцсети не подтягивают новые данные. Это происходит потому, что сервисы один раз получают информацию о ссылке и сохраняют её у себя в кеше, и в следующий раз уже берут информацию из своего кеша. Как заставить соцсети обновить информацию о своей ссылке?

Сбросить кеш в Фейсбуке

https://developers.facebook.com/tools/debug/

Переходим по ссылке — это дебаг-панель Фейсбука. В форме сверху указываем ссылку на свой сайт и загружаем результат. Для обновления данных нужно нажать кнопку «Повторить скрапинг».

Как сбросить кеш Фейсбук для ссылки
Дебаг-панель для сброса кеша Фейсбука

Сбросить кеш Вконтакте

https://vk.com/dev/pages.clearCache

Открываем страницу, прокручиваем вниз к форме для указания ссылки, заполняем её и жмём «Выполнить». В случае успеха вы увидите надпись response: 1. После этого можете расшаривать Вконтакте вашу ссылку с новой превью.

Пример сброса кеша Вконтакте. Результат выполнения — успешно (response: 1)

Сбросить кеш для Телеграма

Пишем боту @WebpageBot, далее просто следуем инструкциям: отправьте ссылку боту, дальше он сам всё сделает. В ответном сообщении пришлёт обновлённые данные и кнопки для повторного обновления данных на случай, если вы в режиме реального времени вносите изменения и занимаетесь отладкой.

Пример работы бота

Почему Тинькофф-эквайринг АПИ не удаётся проверить токен

Когда ваш сайт получает нотификацию от Тинькофф-банка, он конкатенирует все параметры запроса и высчитывает sha256-хеш. Алгоритм простой, но есть несколько нюансов:

  1. Нужно удалить из входящих параметров поле Token;
  2. Нужно добавить параметр Password, который содержит пароль от терминала (указан в личном кабинете);
  3. Самое важное! Поле Success нужно привести из boolean в строку «true» или «false», иначе при конкатенации PHP будет подставлять в строку 1 или 0, из-за чего сгенерированный вами токен не будет совпадать с пришедшим от банка.

Вот так выглядит функция генерации токена:

/**
 * @return string
 */
public function generateToken($data) : string
{
    $data = array_except($data, 'Token');
    $data = array_merge($data, ['Password' => config('tinkoff.secretKey')]);

    // Success field to string
    $data['Success'] = $data['Success'] ? 'true' : 'false';

    ksort($data);
    $data = implode(array_values($data));

    return hash('sha256', $data);
}

Ошибка отправки почты через Яндекс (SMTP)

На одном проекте почта отправляется через сервис Яндекса «Почта для домена». Всё работало отлично, пока кто-то из менеджеров не решил обновить настройки почтовой программы. Настройки обновил, и в это же время перестала уходить почта с сайта:

Failed to authenticate on SMTP server with username ...
Читать далее