дистанционно·трима самостоятелни предприемачи·заедно от 2012 г.

Две системи,
които не знаят
една за другаИнтеграция на API и онлайн плащания

Работим дистанционно, за клиенти във всяка държава. Свързваме неща, които не са били предвидени да общуват помежду си: чужд API, стар обмен на данни, доставчик на плащания, вашата счетоводна система. От двете страни на моста стои нещо, писано не за вас.

02 — как е устроено

Другата страна няма да промените

Интеграцията се прави не там, където е удобно, а там, където е възможно: чужда система не може да бъде пренаписана и всичко, което тя прави погрешно, ще трябва да поемете вие.

Оттук идва и разликата в оценката. „Да свържем плащанията“ звучи като една точка, а се оказва цяла работа, защото същественото не е свързването. Същественото е какво се прави, когато отговорът не е дошъл, дошъл е два пъти или е дошъл грешен. Тези случаи са интеграцията; останалото е извикване на метод.

Тази територия тук е на Думитру: бекенд, API, обмен в реално време, плащания — четиринадесет години, всичките от тази страна на работата. Архитектурните решения и всичко, свързано със сървърите, са на Андрей. Двама от нас работят на една и съща бекенд територия, затова интеграцията не остава знание на един-единствен човек.

колко отнема една интеграция

Една интеграция с документиран API — от две до шест седмици. Без документация или с оборудване от другата страна — по-дълго, а колко точно се вижда чак след като я погледнем.

Срокът тук зависи не от нас, а от другата страна: дали има документация, дали има тестова среда и колко бързо отговарят онези, които поддържат тази система. Затова даваме диапазон, след като погледнем другата страна — а не след като прочетем вашето техническо задание.

03 — обхват на работата

Какво правим на тази територия

API за вашия продукт. Такъв, който после ще ползват не само вашите ръце: партньори, вашето мобилно приложение, следващият ви изпълнител. С документация, по която може да се работи, без да ни питат.

Интеграции с чужди системи. Обмен с 1C и с други счетоводни системи, склад, доставка, CRM — всичко, което стои при вас от години и няма намерение да се променя.

Плащания и приемане на карти. Свързване на картово приемане и на криптоплащания: правили сме плащания в BTC, ETH, ERC-20, BCH и LTC. Заедно с това какво става при отказ, при двойно теглене и при връщане.

Обмен в реално време. Когато данните трябва да се появяват веднага, а не при натискане на „опресни“: websocket-и, опашки, webhook-ове.

Повторни опити и опашки. Чуждата система лежи половин час — поръчките не се губят, а чакат и тръгват, когато тя се върне.

Дневник на обмена. Какво и кога е излязло, какво е дошло в отговор. Без него спорът с другата страна се превръща в дума срещу дума.

04 — доказателства

Интеграции и плащания, които вече сме направили

iTicket — платформа за билети с интеграция на турникетите на входа iTicket — страница на събитие с дати, място, цена и покупка на билет

iTicket — турникети

Платформата за билети на Молдова и Румъния, която водим десет години. Билетът, купен в приложението, трябва да отвори турникета на входа — а турникетът стои на площадката, работи по свой протокол и не може да бъде пренаписан. Точно това е страната, която не се променя.

интеграция с оборудваневход по билетводим го 10 години
повече за проекта — страницата за поемане
Mr. Duck — приложението на шофьора: карта на автомивките около Букурещ, остатъкът от кредити и бутонът „най-близката локация“ mrduck.com — публична страница с изходи към приложенията и портала на партньора mrduck.com — сайтът за собственици на автомивки: какво дава платформата и входът към партньорския портал mrduck.com — цени и кредити: как се захранва сметката и колко струва жетон на всяка автомивка

Mr. Duck

SaaS за вериги автомивки на самообслужване в Румъния. Шофьорът намира автомивката на картата, вижда свободните клетки в реално време, зарежда сметката си и пуска клетката от телефона — без жетони. Контролерът в самия автомат е проектиран от същия екип, затова плащането и физическото пускане са един поток. За собствениците на вериги — multi-tenant портал с приходи и обслужване.

приложение на шофьораiOS + Androidсобствен контролерпортал на партньораплащания
разработка в състава на екипа Blue Twin Bit

Плащанията и интеграциите са частта, която най-трудно се показва: не се вижда на екранна снимка, а значителна част от проектите ни е под споразумения за поверителност на агенции. Криптоплащания сме правили; проектите, в които е било, все още не можем да назовем. Примери — при запитване.

05 — процес

Как върви работата по една интеграция

  1. 01Идвате с техническо задание.Какво с какво се свързва, какво трябва да се случва и какво вече има от всяка страна. Това е вашата част: без нея няма какво да броим.
  2. 02Ние го анализираме.Довеждаме го до документ, в който не остават въпроси и двойни прочити: какво точно строим и какво — не. За интеграция тук влиза и онова, което обикновено не се записва: какво се смята за грешка и кой ще я види.
  3. 03Гледаме другата страна.Документацията на чуждия API, достъпа до тестова среда, това, което вече е написано при вас. Оценка без това би била оценка на едната половина от моста.
  4. 04Оценка в часове — по готовото техническо задание.Цифрите се броят по документ, който сте прочели и одобрили. Броенето на часове по описание на идея е гадаене, което плащате вие. Тук към описанието на идеята се добавя втора половина: без документацията на другата страна оценката би била двойно гадаене.
  5. 05Виждате къде отива времето.Отчитаме в Toggl, отчетът е отворен за вас: веднъж месечно — часове по задачи, какво е направено, какво следва. Фактурата е за отработените часове, не предварително.
  6. 06Пускане — и след това поддръжка или предаване.Една интеграция живее точно докато другата страна остава същата. Можем да останем и да следим това или да предадем работата чисто на вашия екип.
06 — честно

Какво не обещаваме при интеграциите

Не обещаваме, че една интеграция е направена завинаги. Чуждият API се променя без нашето съгласие и може да бъде променен без предупреждение; въпросът не е дали ще се случи, а кой ще бъде наблизо, когато се случи.

Не даваме цена преди техническото задание и преди документацията на другата страна. Особено тук: половината работа лежи в чужда система, а сляпото ѝ оценяване значи гадаене за ваша сметка.

Буферът влиза в оценката, но не и във фактурата: плащате отработените часове. Ако работата е отнела по-малко, плащате по-малко. Повече за това как се броят часовете — на началната страница.

07 — чести въпроси

Чести въпроси за API, интеграции и плащания

Какво ви е нужно, за да оцените една интеграция?

Техническо задание от ваша страна и документация от другата страна — а още по-добре достъп до нейната тестова среда. Оценка без второто е оценка на половината работа.

Колко време отнема една интеграция?

От две до шест седмици, ако другата страна има документация. Ако няма или ако от другата страна стои оборудване — по-дълго, а колко точно се вижда чак след оглед: срокът тук зависи от чуждата система не по-малко, отколкото от нас.

А ако другата страна няма документация?

Заемаме се, но това е друг обем работа: ще трябва да се ориентираме по това, което системата отговаря в действителност. Казваме го преди оценката, а не след нея.

Какви плащания свързвате?

Картово приемане и криптовалути: BTC, ETH, ERC-20, BCH и LTC, от нашия опит. Кои доставчици са достъпни за вас, зависи от задачата и от държавата, в която всичко работи: онова, което е обичайно в една държава, в друга може изобщо да не е достъпно.

Правите ли обмен с 1C и с други счетоводни системи?

Да, обменът с 1C е най-честата интеграция след плащанията, а с други счетоводни системи е устроено по същия начин. Въпросът винаги е един: какво точно тази система може да отдава и да приема. Ако има API или редовен експорт — работим с тях; ако няма нищо освен експорт във файл, обменът се гради около файла и това също е работещ вариант, просто по-крехък.

Какво ще стане, когато другата страна смени своя API?

Повредата се вижда веднага и в дневника, а не след седмица по липсващите поръчки: обменът се пише с очакването, че другата страна рано или късно ще смени API-то си без предупреждение. Ако останем на поддръжка, я поправяме ние; ако сме предали работата, вашият екип ще види същото на същото място.

На какво пишете API?

Най-често PHP с Laravel или Node.js с NestJS, обменът в реално време — през websocket-и и опашки, всичко това в Docker на Linux. Пълният списък с технологиите, с които работим, е в долната част на страницата. Ако вашият бекенд стои на технология, която не е в този списък, по-честно е да кажем веднага, че това не е за нас.

На кого принадлежи кодът?

На вас. Работим на месечна база и фактурираме вече свършеното, затова достъпът до хранилището може да бъде предаден веднага, а не накрая — няма причина да държим кода при себе си до последното плащане.

Ще подпишете ли споразумение за поверителност?

Да. Значителна част от текущите ни работи и без това е под такова споразумение.

В коя часова зона и на какви езици работите?

Работим дистанционно с клиенти отвсякъде, часова зона EET. Говорим и пишем на румънски, руски, английски и български.

08 — по-нататък

Разкажете какво с какво да свържем

Елате с техническо задание и с това, което се знае за другата страна. Ще го преработим така, че да не остават въпроси, и чак по него ще преброим часовете.

един адрес, и тримата

[email protected]

Това е входът. За API, интеграции и плащания отговаря Думитру.

За да пишете директно на някого от нас — контактите на началната страница.

Ако задачата е друга: уеб приложение или вътрешна система, приложение за iOS и Android, онлайн магазин, сайт или лендинг страница, поемане на чужд проект, адаптиране на готов сайт за телефон.

Ако първо искате да видите кои сме — началната страница: тримата, с какво се занимава всеки, как броим часовете и какво вече сме направили.