Все потоки
Поиск
Написать публикацию
Обновить
36.1

Проектирование API *

О создании API

Сначала показывать
Порог рейтинга
Уровень сложности

FastAPI vs Litestar: выбираем лучший фреймворк для микросервисов

Время на прочтение9 мин
Количество просмотров14K

Привет, жители Хабра! Это Леша Жиряков из МТС Диджитал. В прошлый раз я опубликовал пост Polars vs Pandas, а сегодня поговорим о FastAPI и Litestar — фреймворках для микросервисов. У каждого из них свои сильные стороны, так какой выбрать для своего проекта? Давайте разбираться. Ниже — о плюсах и минусах каждого, сравнение производительности и примеры валидации.

Читать далее

Как автоматизировать рутинные задачи с API UserGate

Уровень сложностиСредний
Время на прочтение15 мин
Количество просмотров4.6K

Вам необходимо перенести 1000 объектов и 600 правил из excel-таблички в UserGate? Или, наоборот, экспортировать из него все политики в таблицы для дальнейшего документирования и анализа? А может быть вы просто хотите погрузиться в API UserGate, но не понимаете с чего начать? Тогда эта статья для вас!

Всем привет! Меня зовут Данила Лопатин, я системный инженер в К2 Кибербезопасность. Если у вас стоит NGFW от UserGate, то вы знаете, что у него есть API-интерфейс, который позволяет автоматизировать многие рутинные процессы с помощью скриптов. В этой статье я расскажу про принципы его работы и приведу примеры написания скриптов. 

Читать далее

Как ускорить процесс сделок в Envybox с помощью SMS API

Уровень сложностиПростой
Время на прочтение6 мин
Количество просмотров366

Привет, Хабр! Сегодня разберёмся, как ускорить работу с клиентами в популярной CRM-системе Envybox в связке с API-платформой для отправки SMS. Envybox позволяет отправлять сторонним сервисам сообщения и предоставлять информацию по запросу.

Например, клиент оставляет заявку — менеджер быстро получает сообщение и принимает её в работу — клиент об этом будет тут же извещён.

В этой статье рассмотрим, как использовать интеграцию Envybox и МТС Exolve.

Читать далее

Как автоматизировать свою переписку с девушкой в Telegram при помощи Python

Уровень сложностиПростой
Время на прочтение6 мин
Количество просмотров36K

Вкратце о проблеме: девушкам важно внимание, но порой вы можете забывать об этом. Автоматизация общения станет отличным решением.

Что мы НЕ будем делать: разрабатывать чат-бота, который «любит» за вас. Эту задачу лучше оставить вам.

Цель - организовать начало диалога.

Начинаем 🧡

Как читается Schema в GraphQL API

Время на прочтение11 мин
Количество просмотров4.6K

Чтобы понимать, какие запросы можно отправлять в GraphQL API и что можно получить в ответе, нужно уметь читать его схему. Это как WSDL в SOAP API — описание всех доступных методов.

Да, программы типа Postman или Apollo сами считывают схему и показывают вам всё в красивом виде — просто ходи да «натыкивай» запросы. Но если само API ещё в разработке, чтение схемы поможет понять, что вас ожидает.

Поэтому в этой статье я расскажу, что такое Schema GraphQL API и как её читать.

Читать далее

Оцениваем скорость операций с путями в FastAPI

Время на прочтение7 мин
Количество просмотров1.7K
Если вы сейчас разрабатываете новое приложение на Python, высока вероятность, что при этом вы используете FastAPI. В FastAPI заложено множество отличных возможностей, благодаря которым с ним легко начинать работу. Но в FastAPI есть и немало нюансов, на понимание которых требуется время. Мне пришлось особенно попотеть с одним аспектом, а именно — как FastAPI управляет вызовами к маршрутам API через декорированные параметры пути. Давайте подробно об этом поговорим.

Что происходит на веб-сервере


Одним из важнейших компонентов любого веб-приложения (которое мы создаём) является веб-сервер, программа, слушающая входящие запросы, поступающие из сети. Затем она транслирует эти запросы в методы, которые, в свою очередь, вызываются на бэкенде.

Чтобы лучше понимать, что здесь происходит под капотом, давайте сначала реализуем простой веб-сервер. Для этого воспользуемся модулем http.server, который входит в стандартную библиотеку Python.

Нам требуется написать программу, которая слушает порт и принимает HTTP-запросы. А именно: принимает запрос, разбирает маршрут пути, а также разбирает любые данные, прикреплённые к HTTP-вызову. См. также “All I want is to cURL and parse a JSON object”.
Читать дальше →

Как сделать SMS-оповещение о землетрясениях с GeoJSON и SMS API

Уровень сложностиПростой
Время на прочтение5 мин
Количество просмотров813

Привет, Хабр! Слышали о землетрясениях, которые происходят каждый день по всему миру? Как правило, если вы не сейсмолог или не живёте рядом с тектоническим разломом, то вам всё равно. Но информировать людей о реальных катастрофах в их регионе очень важно, покажем пример такой системы оповещения через SMS.

Читать далее

Работа с API: 17 полезных ссылок для системного аналитика

Уровень сложностиСредний
Время на прочтение3 мин
Количество просмотров12K

Привет! Это команда Яндекс Практикума. Делимся подборкой экспертов курса «Системный аналитик» — со статьями, курсами, книгами, видео и инструментами для аналитиков, разработчиков, тестировщиков и других специалистов, работающих с API.

Читать далее

Практическое применение открытых API: трансформация студенческого проекта в бизнес-решение по оценке контрагентов

Уровень сложностиПростой
Время на прочтение8 мин
Количество просмотров2K

Как студенческое исследование по оценке репутации контрагентов с использованием открытых данных переросло в ИТ-решение представителя среднего бизнеса.

История моей ИТ-инициативы началась с университетского проекта по управлению рисками, выполненного на кафедре «Бизнес-информатика» Финансового университета. Совмещая приятное с полезным, одновременно с учебным проектом занимался оценкой благонадежности контрагентов и рисков сотрудничества с ними в реальном бизнесе.

В рамках университетского исследования изучены взаимосвязи между различными корпоративными данными, включая факторы риска, и результатами сотрудничества с контрагентами. В исследованиях выявил взаимозависимость репутационных рисков с банкротствами аффилированных лиц, политическими взглядами учредителей и судебной активностью, при этом благонадёжность определяется устойчивым развитием, участием в госзакупках и политических кампаниях.

Руководству были представлены результаты исследования взаимосвязей между репутацией и благонадёжностью контрагентов. На основе проведённого исследования было принято решение внедрить ИТ-решение по автоматизации анализа и визуализации данных с использованием открытых данных из источников, таких как ФНС, Право.ру и СКБ Контур, доступных через открытые API. Так, функционал этих инструментов начал применяться в реальном бизнесе для оценки благонадёжности контрагентов.

Читать далее

Руководство по восстановлению удаленных сообщений и медиаданных в Telegram

Уровень сложностиПростой
Время на прочтение7 мин
Количество просмотров45K

Удаление сообщений и файлов в Telegram часто воспринимается как необратимый процесс, но способ вернуть потерянные данные все же есть.

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

Вы узнаете какой метод восстановления существует, как он работает, а также какие ограничения важно учитывать перед тем, как попытаться вернуть потерянные данные.

Восстановить!

Как из R-Keeper получать регулярную сводку по продажам заведения

Уровень сложностиСредний
Время на прочтение7 мин
Количество просмотров814

В этой статье мы покажем простое решение, которое поможет отслеживать финансовые показатели своего заведения, работающего на R-Keeper. Материал даст представление о том, как может выглядеть серверная интеграция с внешними сервисами, и, надеемся, натолкнёт на новые мысли.

Читать далее

Автотесты: что есть 100% покрытие API?

Уровень сложностиСредний
Время на прочтение9 мин
Количество просмотров9.5K

Ку! Меня зовут Евген, и я Автоматизатор тестирования на Python. В этой статье я расскажу как из вопроса ко мне «на сколько% у нас покрыта API автотестами?» Я выдал базу в виде регламента по автоматизации API.

Читать далее

Как уведомлять клиентов о снижении цен на избранные товары в 1С-Битрикс

Уровень сложностиСредний
Время на прочтение11 мин
Количество просмотров786

Когда клиент откладывает покупку, ожидая скидки, важно не потерять его интерес. Уведомления о снижении цен на избранные товары помогают вовремя сообщать пользователям о выгодных предложениях, возвращая их на сайт и стимулируя продажи. В статье мы расскажем, как настроить такую функцию в 1С-Битрикс.

Читать далее

Ближайшие события

Интеграция API — это кошмар

Время на прочтение4 мин
Количество просмотров2.5K
А вам казалось, что соединение API друг с другом — это нескончаемая битва?

Сейчас у нас уже есть машины, которые умнее людей. Но мы до сих пор не можем как следует справиться с интеграцией API. Что не так с API, которые часто становятся для разработчиков камнем преткновения? Интернету примерно 55 лет. Всемирной Паутине — 34 года. Даже JSON уже 18, я не шучу. За всё это время так и не найден простой способ соединять API. Почему так складывается, и почему мы общими силами не можем этого исправить? Читайте дальше.
Читать дальше →

FastAPI и Vue.js 3: телеграм-бот с MiniApp для записи и автоматических уведомлений. Пишем бэкенд

Время на прочтение41 мин
Количество просмотров16K

Сегодня я рад представить новый масштабный проект, в рамках которого мы подробно рассмотрим технологии и подходы, ранее не освещенные в моих статьях.

На этот раз мы создадим телеграм-бота с MiniApp (ранее известным как WebApp) — это будет бот с интегрированным мини-сайтом прямо в Telegram. Для реализации проекта мы используем два основных фреймворка:

1. FastAPI — мощный Python-фреймворк, который мы задействуем для разработки API нашего телеграм-бота. Мы рассмотрим уникальный подход, позволяющий создать полноценный бэкенд, который будет закрывать как API-методы, так и функционал телеграм-бота.

2. Vue.js 3 — JavaScript-фреймворк, выбранный за его удобство разработки и возможности создания сложных визуальных элементов.

В этой статье мы сосредоточимся на описании бэкенда, а создание приложения на Vue.js 3 будет вынесено на следующую статью.

Читать далее

Баг в дизайне коллекций

Уровень сложностиПростой
Время на прочтение4 мин
Количество просмотров2.9K

В этой статье речь пойдёт о фреймворке коллекций в Java. Относительно недавно (в 3 кв. 2023 года) эта библиотека вновь слегка обновилась. Я ознакомился с обновлениями, и скажу, что они меня разочаровали.

Далее идёт разбор того, что именно я считаю концептуально неверными архитектурным решением в коллекциях, и предложение своего способа их организации.

Итак случившееся обновление - добавление последовательных версий интерфейсов в коллекции, а именно SequencedCollection, SequencedSet и SequencedMap. Такие последовательные коллекции ещё во времена Рапиры, кажется, называли кортежами.

Читать далее

Почему текстовые форматы не идеальны в разработке: пример на JSON

Уровень сложностиПростой
Время на прочтение7 мин
Количество просмотров13K

JSON - наш повседневный помощник, но вместе с другими текстовыми форматами он может преподнести неприятные сюрпризы: потеря точности чисел, громоздкие файлы, путаница с датами. Рассказываю, как этих проблем избежать и повысить эффективность с помощью стриминга в Node.js, а также MessagePack и Protobuf. Узнайте, где подводные камни и как их обходить на практике!

Если хотите понять, в чём именно проблема на иллюстрации, загляните в статью — там всё разобрано :-)

Читать далее

Как отправлять SMS из Google Таблиц с использованием Google Apps Script: 2 способа

Уровень сложностиСредний
Время на прочтение7 мин
Количество просмотров2.5K

Всем привет! У платформы МТС Exolve есть сообщество, которое часто делится полезными гайдами от прокачки серверов до создания своих приложений. Наиболее интересные и подробные продолжаем размещать в нашем хабе.

Google Таблицы — мощный инструмент для работы с данными. Их потенциал значительно расширяется с помощью Apps Script. 

В этом и этом гайдах пользователи рассмотрели два способа отправки SMS прямо из таблиц: индивидуальные разовые уведомления и массовые рассылки. Мы чуть дополнили гайд.

Читать далее

Выгрузка карточек товаров на Озон через API

Уровень сложностиСредний
Время на прочтение10 мин
Количество просмотров6.3K

При разработке нашей системы OpenPIM мы столкнулись с необходимостью выгружать карточки товаров на Озон. У Озона есть официальная документация по АПИ, но при этом существует масса мелочей которые не всегда ясны и мы потратили много времени чтобы со всем этим разобраться. Поэтому мы решили поделиться с вами техническими деталями работы с API Озон.

При этом, надо учитывать, что мы занимаемся только созданием или обновлением карточек товаров со всей необходимой информацией, но не занимаемся вопросами цен, остатков и т.д. Поэтому в данной статье мы остановимся только на этом.

Читать далее

Часть 1: Как я создал идеальный REST API — микросервис инцидентов на Java и Spring

Уровень сложностиСредний
Время на прочтение17 мин
Количество просмотров23K

В этой статье вы узнаете, как спроектировать и реализовать REST API для микросервиса на Java с использованием Spring Framework.

Рассмотрим лучшие практики, принципы архитектуры, реализацию CRUD-операций и удобные инструменты, такие как Lombok, ControllerAdvice, MapStruct. Эта статья будет полезна как начинающим разработчикам, так и тем, кто хочет улучшить свои навыки в проектировании REST API.

Читать далее

Вклад авторов