Обновить
28.37

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

О создании API

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

TypedAPI: клиент-сервер для TypeScript

Время на прочтение5 мин
Охват и читатели3.1K


Предлагаю вашему вниманию TypedAPI: библиотеку API клиента-сервера для проектов, в которых фронт и бэк написаны на TypeScript. Акцент делается на максимальной простоте использования. Суть такая: вы пишете API как обычный TypeScript класс с некоторыми ограничениями, потом автоматом из класса строится интерфейс, которым будет пользоваться клиентское приложение. Также генерируется некоторая служебная информация. Остается только настроить коннекторы (доступны HTTP и WebSocket). Валидацию, хранение подключений, и др. берет на себя TypedAPI. Есть поддержка событий.
Читать дальше →

Заметки по API Aliexpress. Экспорт заказов в Bitrix24, RetailCRM, amoCRM

Время на прочтение13 мин
Охват и читатели7.7K

Хочу поделиться опытом автоматизации экспорта заказов из Aliexpress в несколько CRM. Приведенные примеры написаны на PHP, но библиотеки для работы с Aliexpress есть и для других языков. Структура запросов и ответов аналогична. Если перед вами стоит задача интеграции Aliexpress, надеюсь, эта статья будет вам полезна.

Читать далее

9 трендов развития унифицированных коммуникаций в 2021 году

Время на прочтение6 мин
Охват и читатели3.1K

Многие бизнес-аналитики уверены, что даже после возврата общества и бизнеса к относительно нормальной жизни после пандемии COVID-19, рост рынка унифицированных коммуникаций уже не остановить. Конечно, трудностей не избежать, но уже сейчас очевидно, что за 2020 год и владельцы компаний, и рядовые сотрудники нашли немало преимуществ в дистанционном режиме работы.


Глобальное внедрение UCaaS


Один из главных трендов UC — рост популярности UCaaS. Крупные компании делают инвестиции в унифицированные коммуникации как в готовую систему бизнес-коммуникаций. Это связано с тем, что UCaaS объединяет в облаке основные каналы и платформы связи (голос, видео, чат, электронную почту и пр.). По мнению экспертов, к 2024 году рынок UCaaS будет оцениваться примерно в $79 млрд.


UCaas-complete-guide.jpg
Читать дальше →

Масштабирование Kubernetes в Pinterest: через сбои и аварии

Время на прочтение9 мин
Охват и читатели4.6K

Kubernetes API Server вылетел с ошибкой (OOMKilled)

Прошло больше года с нашего [компании Pinterest] перехода на платформу Kubernetes. С тех пор мы разработали множество новых функций, гарантировали надёжность и масштабируемость платформы, а также накопили опыт и лучшие практики.

В целом, платформа Kubernetes всем понравилась. Согласно результатам опроса, три её главных преимущества — более простое управление вычислительными ресурсами, лучшая изоляция ресурсов и сбоев, а также более гибкое масштабирование.

К концу 2020 года мы запустили в кластерах Kubernetes более 35 тыс. подов на 2500 узлах для наших корпоративных пользователей, и это количество быстро растёт.
Читать дальше →

Подключаем Sqlite3 к Telegram боту

Время на прочтение4 мин
Охват и читатели144K

Для многих новичков в разработке ботов для Telegram возникает проблема - как подключить базу данных? Я сам столкнулся с такой проблемой в начале разработки. Тема оказалось довольно простой, но в интернете есть множество гайдов, которые могут запутать. В этом туториале я расскажу о том, как просто интегрировать базу данных Sqlite3.

Читать далее

Оптимизируем затраты с помощью AWS Cost Explorer

Время на прочтение11 мин
Охват и читатели5K

Мое приложение на 100% serverless, и я всегда умещался в уровень бесплатного использования, так что просто игнорировал затраты. Но затем мне пришел счет на 62$.

Под катом вы сможете найти подробную инструкцию для умного контроля расходов в облаке, до того как они превратятся в проблему.

Читать далее

Уродливый API

Время на прочтение4 мин
Охват и читатели14K

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

При разработке фронтенд приложений (mobile/web), часто сталкиваешься с тем, что API на бэкенде еще не реализован. Приходится ждать разработчика на бэкенде, когда он предоставит нужные запросы, постоянно напоминая ему о себе. Не редкость и другая ситуация, когда нужные http запросы уже есть, но они реализованы очень плохо и криво.

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

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

Итак, начнем.

Читать далее

Делаем новую версию API. Быстро и легко

Время на прочтение7 мин
Охват и читатели13K

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

Читать далее

МойОфис представил общедоступные веб-редакторы. Теперь ознакомиться с продуктами компании можно прямо в окне браузера

Время на прочтение3 мин
Охват и читатели7.6K

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

Читать далее

Dart на сервере

Время на прочтение5 мин
Охват и читатели9.6K

Недавно столкнулся с необходимостью написать REST API сервер на Dart. Оставим за рамками этой статьи почему и зачем это было надо, но первое с чем я столкнулся - выбор библиотек. Так уж сложилось, что я привык писать на NodeJS используя KoaJS в качестве веб сервера. Простая и удобная библиотека с кучей расширений для любой необходимости. А вот Dart в этом плане несколько подкачал. На момент поисков из "живых" пакетов на pub.dev был только shelf. Что-то отдаленно похожее, но по факту жутко неудобное. Неделю промучившись с оным, понял, надо писать свое, с блэкджеком... что-нибудь в стиле того же KoaJS.

Читать далее

Недополученная прибыль на бирже из-за отключенного робота и лени

Время на прочтение6 мин
Охват и читатели8.6K

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

Сейчас некоторые из них серьезно подешевели, и я начинаю выкупать их сам, фиксируя кое-какую прибыль, и одну из таких сделок сегодня хотелось бы рассмотреть, в контексте использования торговых роботов.

Читать далее

Как подключить официальный WhatsApp бизнес API через Gupshup и интегрировать с Битрикс24

Время на прочтение16 мин
Охват и читатели32K

В данной пошаговой инструкции мы подробно опишем весь процесс получения доступа к WhatsApp Business API через официального партнера Facebook — сервис Gupshup и подключения WhatsApp к Открытым линиям Битрикс24 CRM. Данный сервис мы нашли для себя, для своих бизнес задач и хотим этим поделиться с вами.

Читать далее

Создание Python Telegram бота и его deploy на виртуальную машину

Время на прочтение5 мин
Охват и читатели88K

В 2021 г. ожидается рост числа запросов на чат-боты на 15-20% от ор­га­низа­ций из госсектора, об­ра­зова­ния, медицины, ло­гис­ти­ки, ре­тей­ла и e-commerce, промышленных и добывающих компаний.

Всвязи с этим остро встает вопрос: как запустить своего первого телеграм-бота и заставить работать его 24/7 на удаленной виртуальной машине.

Читать далее

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

5 лучших программ для базы знаний

Время на прочтение4 мин
Охват и читатели57K

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

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

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

Читать далее

Создание в SoapUI асинхронного REST MockService с запуском в Portainer

Время на прочтение5 мин
Охват и читатели10K

Задача: Разработать мок для проверки асинхронного обмена сообщениями с внешней системой.

Как пример, рассмотрим некий кейс проверки валидности промокода внешней системой. По шагам:

1) Отправляем запрос в сервис внешней системы;

Запрос PUT содержит поля (например, в headers).

Читать далее

Сбор метрик Spring Boot приложения c помощью Prometheus и Grafana

Время на прочтение4 мин
Охват и читатели123K

В данной статье рассмотрен пример работы с метриками. В начале, настройка приложения для поставки метрик. Настройка Prometheus для сбора и хранения метрик. Настройка Grafana для отображения собранных метрик.

Читать далее

Построение RESTful web API на платформе InterSystems — 3: Разработка от спецификации

Время на прочтение9 мин
Охват и читатели1.8K

В этой статье я хотел бы рассказать о подходе от спецификации (spec-first) при разработке REST API на платформе InterSystems IRIS, который ускоряет разработку приложений в рамках микросервисной архитектуры и решение интеграционных задач. Эта статья является продолжением моей предыдущей статьи про разработку REST API на платформе InterSystems IRIS.

Читать дальше →

У вас нет разрешения на доступ к API. OpenCart

Время на прочтение5 мин
Охват и читатели9.8K

Перед началом разработки модуля клиент сообщил, что в админке на странице редактирования заказа у него часто/рандомно не работает изменение заказа: У вас нет разрешения на доступ к API!

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

Читать далее

Перевод OWASP API Security Top 10

Время на прочтение24 мин
Охват и читатели21K

Эта статья - перевод OWASP API Security Top 10, опубликованного в 2019 году. Проект состоит из десяти наиболее актуальных рисков безопасности API. Полная версия документа на русском языке опубликована здесь.

Читать далее

API Revolut банка

Время на прочтение4 мин
Охват и читатели6.4K

Недостатки API Revolut

1. Scope не работает. Когда запрашиваем READ, то почему-то можно и писать, и отправлять платежи. Это позор! На мою претензию Revolut просто убрал его из документации.

2. Нет возможности отозвать токен. Опять позор! Токен можно перезапросить и не сохранить, тогда старый перестанет действовать. Но это какой-то костыль.

3. Нет возможности в справочник контрагентов добавить второй счёт IBAN, хотя в ЛК на сайте такая возможность есть. Отправка платёжек работает через uuid контрагентов и uuid их IBAN. Удалить контрагента и создать заново с его счетами плохое решение, так как старые платежи же привязаны к старым UUID.

4. Можно создать несколько контрагентов с одинаковым именем и разными счетами. И получить бардак в данных.  У контрагента нет уникального поля вроде ИНН или регистрационного номера, чтобы можно было различить две разных компании Ромашка.

5. Нет отдельной подписи платёжек. Когда отправляем платёж, то он сразу улетает в оплату — раздолье для хакеров. Нужен отдельный канал для подписи платёжек. Это может быть SMS, а лучше числовой генератор ENUM (TOTP).

Читать далее

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