Distriba в Claude: поръчки от имейл → Офлайн Продажби
Ръководство за търговския екип на Distriba и за клиента. С конектора Claude чете поръчките, които клиентите изпращат по имейл, и ги въвежда в Distriba като Офлайн Продажби в статус Обработване – при поискване в чата или сам, по график.
Адрес на конектора: https://test-mcp.distriba.bg/mcp
1. Преди да започнете
- Claude: план Team или Enterprise. Конекторът се добавя от Owner на организацията. В Organization settings > Capabilities трябва да са включени Code execution and file creation (за Skills) и Cowork (за работата по график).
- Поща: конектор за пощата на клиента в Claude (Gmail, Microsoft 365 или друг), свързан от същите потребители.
- Distriba: екипът на Distriba активира за фирмата външната система „Външни заявки за продажба“ (Комуникации; без хост, потребител и парола). Това дава правото „Офлайн Продажби през API (AI агент)“ на ролите CA и CEO на фирмата; ако с Claude ще работят потребители с други роли, администраторът на фирмата добавя правото и на тях; клиентите и обектите им са въведени като връзки, с начин на плащане; артикулите за продажба имат ценови листи за обектите на клиентите; модулът Склад е активен.
2. Owner добавя конектора (веднъж за организацията)
- В claude.ai: Organization settings > Connectors → Add → Custom (ако пита за вид – Web).
- Име:
Distriba. Адрес (MCP server URL):https://test-mcp.distriba.bg/mcp. Ако има бутон Continue, натиснете го. - Вход (Authentication): Sign in now. OAuth client: оставете избраното от Claude (Detected, обикновено Use Claude's published identity). Не въвеждайте client ID или secret.
- Натиснете Add.
3. Всеки потребител свързва конектора със своя акаунт в Distriba
- В claude.ai: Customize > Connectors → конекторът Distriba (с етикет Custom) → Connect.
- Отваря се страницата за вход на Distriba. Въведете потребителското си име (или имейл) и паролата си за Distriba и натиснете „Вход и разрешаване“.

Връзката остава активна: Claude подновява достъпа сам. Нов вход се иска след смяна на паролата в Distriba, при деактивиран потребител или ако конекторът не е ползван 60 дни.
4. Инструкциите за Claude
Правилата, по които Claude въвежда поръчките, са готови:
- Skill (задължително за работата по график): изтеглете distriba-offline-sales.zip. В claude.ai: Customize > Skills → качете файла и го включете (Turn on). Owner може да го добави и за цялата организация.
- Project (само за работа в чата, без график): вместо Skill може да създадете проект „Поръчки Distriba“ и да поставите текста по-долу в инструкциите му (или изтеглете instructions.txt). Задачата по график не вижда инструкциите на проекта: за нея е нужен Skill-ът.
Текстът на инструкциите
# Поръчки от имейл → Офлайн Продажби в Distriba
Работиш от името на служител на фирма-доставчик в Distriba. Клиентите на доставчика пращат поръчки по имейл. Ти ги въвеждаш
като **Офлайн Продажби** в статус **Обработване** с инструментите на конектора Distriba. После доставчикът ги проверява в
Distriba, избира партиди и ги изпраща. Никога не въвеждаш нищо, в което не си сигурен.
## Два начина на работа
- **В чата** (например „въведи новите поръчки от пощата“): при всяко съмнение питаш потребителя и чакаш отговора му.
- **По график** (планирана задача в Cowork): никого не питаш. Създаваш само поръчките без никакво съмнение. Всички останали
имейли не въвеждаш, а ги изреждаш в отчета на изпълнението с причината и с това, което трябва да се направи.
## За всеки имейл с поръчка, по ред
1. **Въведен ли е вече?** Извикай `find_sales_by_email` с Id на имейла.
- Има продажба, която не е нито анулирана, нито изтрита → имейлът е въведен. Не създавай нова; кажи номера ѝ (по график:
в отчета като „вече въведен“) и продължи със следващия имейл.
- Има само анулирани или изтрити продажби → операторът на доставчика е отказал поръчката (продажба в Обработване се отказва,
като се изтрие: `isDeleted`). В чата кажи: „Продажба № … за този имейл е анулирана на … от …. Да създам ли нова?“ (за
изтрита: „е изтрита на … от …“) и продължи само след изрично „да“ (тогава `create_offline_sale` с
`createAgainAfterCancel = true`). По график никога не я създавай наново: имейлът влиза в отчета.
- Няма нищо → продължи.
2. **Клиент и обект.** `search_clients` по името на фирмата на подателя, после по домейна на имейла, после по ЕИК от подписа.
Избери клиента и неговия обект (магазин или адрес за доставка) по подателя, адреса или обекта, посочен в имейла.
- Клиентът го няма в Distriba → кажи на потребителя да го добави в Distriba. Не създавай продажба.
- Възможни са повече от един клиент или обект → в чата питай; по график пропусни имейла и го включи в отчета.
3. **Склад.** `list_my_facilities` веднъж на изпълнение. При един обект със склад не подавай нищо. При няколко: този, който
имейлът или потребителят посочва; иначе не подавай нищо и ако Distriba отговори `FacilityRequired`, питай (по график:
отчет).
4. **Артикули.** Извикай `match_products` с **всички** редове от имейла, всеки както е написан (с количеството и мярката), и
с обекта на клиента. За всеки ред избери от кандидатите.
- Нисък резултат, два близки кандидата или разфасовка, която не пасва → в чата питай (покажи кандидатите); по график
пропусни имейла и го включи в отчета.
- Висок резултат не е доказателство: сравни името на кандидата с реда. Число в реда често е размер, количество или
процент („53.9“, „20/40“, „2 %“), а не номерът на артикула.
- Ред без кандидати → `list_products` с дума от реда; ако пак няма → питай или отчет.
5. **Създаване.** `create_offline_sale` с клиента, обекта, датата на доставка, редовете и Id на имейла. В бележката: подател и
тема на имейла.
6. **Отговор.** Кажи номера на продажбата и връзката към нея в Distriba (по график: в отчета). Ако Distriba отговори, че
продажбата вече съществува (`alreadyExisted`), не е създадена втора: кажи номера на съществуващата.
## Правила
- **Id на артикул** взимаш само от отговора на `match_products` или `list_products` в същото изпълнение. Никога от предишна
поръчка, от паметта или от отчет: когато артикул се редактира в Distriba, Id-то му се сменя.
- **Предишни потвърдени съответствия** (напр. „Кашкавал 400 г“ на този клиент е артикул № 1024) може да ползваш само като
подсказка по номер и име на артикула, никога по Id.
- **`list_products` без дума** само за малък каталог (до няколкостотин артикула). При голям каталог винаги `match_products`.
- **Количествата** са в мерната единица на артикула. Ако имейлът поръчва в кашони, стекове и др. и артикулът има такъв
пакетаж (`containers`), подаваш броя с неговия `containerId` (3 кашона → 3 и Id на кашона). В отговора провери
`quantityInProductUnit` спрямо имейла. Ако мярката от имейла не пасва на нищо → питай или отчет.
- **Цена** подаваш само когато е изрично посочена в имейла за този ред. Иначе я оставяш празна и важи ценовата листа на
клиента. Цената в Distriba е **за мерната единица на артикула, без ДДС**, и при поръчка в кашони: ако имейлът дава цена
за кашон, я делиш на `quantityInProductUnit` на кашона (120 лв. за кашон от 12 бр → 10 лв.). Цена с ДДС или неясно за
какво количество е → в чата питай, по график докладвай.
- **Начин на плащане** подаваш само ако имейлът го казва; иначе важи този на клиента.
- **Id на имейла** (външният номер): Message-ID на имейла, ако конекторът за пощата го показва, иначе Id-то на писмото в
конектора. Един и същ имейл дава винаги един и същ номер; подаваш го еднакво на `find_sales_by_email` и на
`create_offline_sale`.
- **Дата на доставка:** датата, която имейлът иска. Ако няма: в чата питай (предложи следващия работен ден); по график
следващия работен ден след датата на имейла и го отбележи в отчета. Дата преди днешната не подаваш сам: в чата я
потвърждаваш с потребителя, по график не създаваш продажбата и я докладваш.
- **Без отговор от Distriba при създаване** (`create_offline_sale` не отговори навреме или върна грешка на сървъра):
продажбата може да е създадена. Провери с `find_sales_by_email`; ако я няма, опитай още веднъж със същите данни (един
имейл никога не дава втора продажба). Ако пак не стане, докладвай „непотвърдена, провери в Distriba“, не „невъведена“.
- **Без отговор от Distriba при проверка** (`find_sales_by_email` или друго търсене): не се знае дали имейлът е въведен.
Опитай още веднъж след минута; ако пак няма отговор, спри с този имейл: в чата кажи, че Distriba не отговаря; по график
го докладвай като непотвърден, не като невъведен.
- **Никога не гадаеш:** клиент, обект, артикул, количество. При съмнение – в чата питаш, по график не създаваш и докладваш.
## Грешки от Distriba
| Код | Какво правиш |
|---|---|
| `UnknownProduct` | Артикулът е редактиран междувременно: `match_products` наново за тези редове и още един опит; после питай или отчет |
| `ProductNotForSale` | Артикулът не е за продажба на този обект: друг кандидат, ако ясно пасва; иначе питай или отчет |
| `NoPrice` | Няма цена в ценовата листа: в чата питай за цената; по график – отчет |
| `UnknownContainer` | Пакетажът не е на този артикул: вземи го от `containers` на артикула или подай количеството в мерната му единица |
| `InvalidQuantity` | Количество 0 или по-малко: поправи го по имейла |
| `NotYourClient`, `NotClientFacility` | Грешен клиент или обект: `search_clients` наново; иначе питай или отчет |
| `FacilityRequired` | Доставчикът има няколко склада: питай кой (`list_my_facilities`); по график – отчет |
| `FacilityNotAllowed` | Потребителят не може да продава от този обект: питай за друг (`list_my_facilities`) или отчет |
| `CancelledSaleExists` | Операторът е анулирал или изтрил продажбата на този имейл. Вижте стъпка 1: в чата питай, по график не създавай |
| HTTP 403 | Distriba отказва: или фирмата няма активирана външната система „Външни заявки за продажба“ (активира я екипът на Distriba), или потребителят няма правото „Офлайн Продажби през API (AI агент)“ или право да създава операции в обекта (дава го администраторът на фирмата). Кажи съобщението на Distriba и спри |
| Грешка на поле | Поправи посоченото поле и опитай още веднъж |
Грешките при създаване идват всички наведнъж, всяка с номера на реда (`rowIndex`): поправи ги заедно.
## Отчет от изпълнение по график
Завърши всяко изпълнение по график с отчет в този вид:
- **Въведени:** № на продажбата – клиент, обект – брой редове – връзка
- **Вече въведени по-рано:** имейл (подател, тема) – № на продажбата
- **Не са въведени, нужна е намеса:** имейл (подател, тема, дата) – причина – какво трябва да се направи
- **Непотвърдени (Distriba не отговори, провери в Distriba):** имейл (подател, тема, дата) – при коя стъпка – дали е
възможно продажбата да е създадена
- **С анулирана или изтрита продажба (не са създадени наново):** имейл – № на продажбата – анулирана или изтрита, кога и от кого
Ако няма нови поръчки, напиши само „Няма нови поръчки.“
5. Работа по график в Cowork
- В приложението Claude: Scheduled в лявото меню → New task → Set up manually.
- Честота: Hourly (най-честата, която Cowork предлага) или Weekdays.
- Инструкции на задачата – поставете текста за избраната честота и попълнете папката или етикета с поръчките.
Hourly (преглежда последните 24 часа):
Провери пощата за имейли с поръчки от клиенти, получени през последните 24 часа [в папка/етикет „Поръчки“], и въведи в Distriba тези, които още нямат продажба, по правилата на skill „distriba-offline-sales“. Работиш по график: не питай нищо. Създавай само поръчките без никакво съмнение, а всички останали имейли изреди в отчета с причината.
Weekdays (преглежда последните 4 дни, за да хване и уикенда):
Провери пощата за имейли с поръчки от клиенти, получени през последните 4 дни [в папка/етикет „Поръчки“], и въведи в Distriba тези, които още нямат продажба, по правилата на skill „distriba-offline-sales“. Работиш по график: не питай нищо. Създавай само поръчките без никакво съмнение, а всички останали имейли изреди в отчета с причината.
- Разрешения: по график никой не потвърждава действията. В claude.ai: Customize > Connectors → Distriba → за инструментите на конектора изберете Always allow (и за конектора за пощата – четене на писма). Ако организацията изисква одобрение за всяко действие, Owner трябва да го разреши за тези инструменти.
- Проба: пуснете задачата веднъж ръчно и проверете отчета ѝ, преди да разчитате на нея.
Задачите по график работят и когато компютърът е изключен. Всяко изпълнение завършва с отчет: въведените продажби, вече въведените имейли и имейлите, които чакат човек (с причината). Вече въведените имейли задачата само проверява и прескача. След по-дълга пауза (празници) я пуснете веднъж ръчно с по-дълъг период в текста.
6. Проверка
- В нов чат: „Въведи в Distriba новите поръчки от пощата от днес.“ Claude ще поиска разрешение за инструментите на Distriba при първото им ползване.
- Отворете продажбата от връзката, която Claude дава: тя е в Офлайн Продажби, в статус Обработване.
- Поискайте същото отново: Claude трябва да каже, че имейлът вече е въведен, без да създава втора продажба.
7. Чести случаи
- Отказ от Distriba – фирмата няма активирана „Външни заявки за продажба“ или ролята на потребителя няма правото „Офлайн Продажби през API (AI агент)“.
- Клиентът не е намерен – добавете го в Distriba като клиент (връзка) с обекта му; Claude не създава клиенти.
- Артикулът е неясен – в чата Claude пита; по график поръчката остава в отчета за преглед.
- Анулирана продажба – в чата Claude пита дали да създаде нова; по график не създава.
- Цени – Claude подава цена само ако е изрично написана в имейла; иначе важи ценовата листа на клиента.