integrations.json 45 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584
  1. {
  2. "catalog": {
  3. "title": "Интеграции",
  4. "description": "Подключите сервисы, которыми ваша мастерская уже пользуется. Каждая интеграция настраивается один раз и работает в фоновом режиме.",
  5. "all": "Все",
  6. "empty": "В этой категории пока нет интеграций.",
  7. "notConnected": "Не подключено",
  8. "connect": "Подключить",
  9. "manage": "Управлять",
  10. "connectedTitle": "Подключено",
  11. "connectedDescription": "Сервисы, настроенные в этой мастерской. Откройте сервис, чтобы проверить статус, изменить настройки или отключить его.",
  12. "noneConnected": "Пока ничего не подключено. Выберите сервис ниже, чтобы начать.",
  13. "availableTitle": "Доступно",
  14. "availableDescription": "Сервисы, которые можно добавить. Каждый настраивается один раз и работает в фоне.",
  15. "allConnected": "Все доступные сервисы подключены.",
  16. "searchPlaceholder": "Поиск интеграций",
  17. "noMatches": "Ничего не найдено по запросу «{query}».",
  18. "readMore": "Подробнее",
  19. "suggestTitle": "Не хватает сервиса, которым вы пользуетесь?",
  20. "suggestDescription": "Расскажите, какая интеграция помогла бы вашему автосервису, и мы её рассмотрим.",
  21. "suggest": "Предложить интеграцию",
  22. "suggestSubject": "Предложение интеграции"
  23. },
  24. "categories": {
  25. "calendar": "Календарь",
  26. "conferencing": "Видеозвонки",
  27. "accounting": "Бухгалтерия",
  28. "messaging": "Сообщения",
  29. "payments": "Платежи",
  30. "automation": "Автоматизация",
  31. "storage": "Файлы",
  32. "registry": "Реестр транспортных средств",
  33. "other": "Другое",
  34. "ai": "ИИ"
  35. },
  36. "capabilities": {
  37. "calendar": {
  38. "push": "Заказ-наряды в календарь",
  39. "pull": "Занятое время из календаря",
  40. "conference": "Ссылки на видеозвонки"
  41. },
  42. "sms": {
  43. "send": "Text messages out",
  44. "receive": "Replies back in"
  45. },
  46. "whatsapp": {
  47. "send": "WhatsApp messages out",
  48. "receive": "Replies back in"
  49. },
  50. "telegram": {
  51. "send": "Telegram messages out",
  52. "receive": "Replies back in"
  53. },
  54. "email": {
  55. "send": "Email out"
  56. },
  57. "vehicle": {
  58. "lookup": "Поиск по номеру и VIN",
  59. "inspection": "Сроки техосмотра",
  60. "safety": "Отзывные кампании и жалобы владельцев"
  61. },
  62. "ai": {
  63. "chat": "Тексты и сводки"
  64. },
  65. "payments": {
  66. "checkout": "Оплата по ссылке на счёт"
  67. },
  68. "accounting": {
  69. "invoices": "Счета в бухгалтерию",
  70. "customers": "Клиенты в бухгалтерию",
  71. "payments": "Платежи в обе стороны"
  72. }
  73. },
  74. "statuses": {
  75. "active": "Подключено",
  76. "error": "Требует внимания",
  77. "pending": "Идёт настройка",
  78. "disconnected": "Отключено",
  79. "needsSetup": "Настройка не завершена"
  80. },
  81. "connection": {
  82. "back": "Все интеграции",
  83. "account": "Подключённый аккаунт",
  84. "lastHealth": "Последняя проверка",
  85. "lastSync": "Последняя синхронизация",
  86. "lastError": "Последний запуск завершился ошибкой",
  87. "setupMissingTitle": "Настройка не завершена",
  88. "setupMissing": "Выберите {fields} в настройках ниже. До тех пор ничего не синхронизируется.",
  89. "connected": "{name} подключено.",
  90. "connectedShort": "Подключено",
  91. "connectWith": "Подключить {name}",
  92. "connect": "Подключить",
  93. "reconnect": "Переподключить",
  94. "disconnect": "Отключить",
  95. "disconnectTitle": "Отключить {name}?",
  96. "disconnectDescription": "Torqvoice забывает аккаунт и перестаёт им пользоваться. Всё, что уже отправлено в {name} или хранится там, не затрагивается.",
  97. "disconnectDescriptionCalendar": "Torqvoice забывает аккаунт и перестаёт синхронизировать. Заказ-наряды, уже добавленные в {name}, остаются там. Занятое время, показанное из этого календаря, удаляется из календаря Torqvoice.",
  98. "disconnectDescriptionConferencing": "Torqvoice забывает аккаунт и перестаёт создавать встречи. Уже созданные встречи остаются в {name}, а ссылки в заказ-нарядах сохраняются.",
  99. "disconnectDescriptionAccounting": "Torqvoice забывает аккаунт и перестаёт отправлять и читать. Счета, клиенты и платежи, уже находящиеся в {name}, остаются там.",
  100. "removeSetup": "Удалить",
  101. "removeSetupTitle": "Удалить {name}?",
  102. "removeSetupDescription": "Пока ничего не подключено. Torqvoice забудет введённые данные, и {name} вернётся в список доступных сервисов.",
  103. "removeSetupDone": "{name} удалён",
  104. "removeSetupHint": "Не будете продолжать? Удалите, и сервис вернётся в список ниже.",
  105. "disconnected": "Отключено",
  106. "test": "Проверить подключение",
  107. "testPassed": "Подключение работает",
  108. "syncNow": "Синхронизировать сейчас",
  109. "syncQueued": "Синхронизация поставлена в очередь и запустится в течение минуты",
  110. "pullNow": "Получить платежи сейчас",
  111. "pullQueued": "Получение платежей поставлено в очередь и запустится в течение минуты",
  112. "backfill": "Отправить запланированные заказ-наряды",
  113. "backfillQueued": "Запланированные заказ-наряды за последнюю неделю и позже поставлены в очередь",
  114. "backfillInvoices": "Отправить выставленные счета",
  115. "backfillInvoicesQueuedCount": "В очередь поставлено {count, plural, one {# выставленный счёт} few {# выставленных счёта} many {# выставленных счетов} other {# выставленного счёта}}",
  116. "backfillInvoicesNone": "Нет выставленных счетов для отправки. Передаются только отправленные, опубликованные или оплаченные счета, начиная с даты начала, если она задана.",
  117. "retryQueued": "Задача снова поставлена в очередь",
  118. "settingsTitle": "Настройки",
  119. "settingsDescription": "Что синхронизировать и куда. Изменения применяются при следующей синхронизации.",
  120. "settingsSaved": "Настройки сохранены",
  121. "save": "Сохранить",
  122. "loading": "Загрузка...",
  123. "choose": "Выберите...",
  124. "search": "Поиск...",
  125. "noMatch": "Ничего не найдено",
  126. "leaveEmpty": "Оставить пустым",
  127. "noLimit": "Без ограничения",
  128. "planLocked": "Интеграции не входят в ваш тариф.",
  129. "ownAppTitle": "Эта установка использует ваше собственное приложение у провайдера",
  130. "redirectUri": "URI перенаправления для регистрации у провайдера:",
  131. "sendTestEmail": "Send test email",
  132. "testEmailSent": "Test email sent to {email}",
  133. "testEmailHint": "A test email goes to your own address through this vendor, which proves the from address and the sending rules a key check cannot.",
  134. "inboundUrl": "Inbound webhook URL",
  135. "inboundHintSecret": "Paste this URL into the vendor's inbound message settings. It carries a secret that identifies your workshop, so keep it private.",
  136. "inboundHintMeta": "Paste this URL as the callback URL in your Meta app, with the verify token you entered above, and subscribe to messages.",
  137. "inboundHintStripe": "Добавьте этот URL в панели Stripe в разделе Developers, Webhooks с подпиской на checkout.session.completed. Затем вставьте секрет подписи, который покажет Stripe, в поле секрета вебхука здесь, чтобы уведомления можно было проверять.",
  138. "inboundHintVipps": "Укажите этот URL как callback-URL в портале Vipps MobilePay. Vipps также требует опубликованных условий продажи, они задаются в разделе Настройки, Оплата.",
  139. "inboundHintPaypal": "Добавьте этот URL в панели разработчика PayPal в разделе Webhooks с подпиской на PAYMENT.CAPTURE.COMPLETED.",
  140. "copy": "Copy",
  141. "copied": "Copied",
  142. "updateKeys": "Update keys",
  143. "updateKeysHint": "The last check failed. Enter the keys again to try once more.",
  144. "inspectionSync": {
  145. "title": "Синхронизация техосмотров",
  146. "vehicles": "{count} автомобилей с номером в этой мастерской",
  147. "dueNow": "{count} будут проверены при следующем запуске",
  148. "withDate": "{count} уже имеют дату техосмотра",
  149. "lastPass": "Последний полный проход {date}",
  150. "never": "Полного прохода ещё не было",
  151. "inProgress": "Проход выполняется",
  152. "off": "Включите настройку и сохраните; до этого проход ничего не проверяет.",
  153. "syncNowHelp": "«Синхронизировать сейчас» запускает проход немедленно, не дожидаясь ежечасного. Он проверяет по 25 автомобилей и продолжает сам, пока не обработает все ожидающие."
  154. },
  155. "supersedes": "Подключение {next} отключит {current}. Одновременно работает только один, поэтому {current} перестанет использоваться, как только заработает {next}.",
  156. "batchRetried": "{count, plural, =0 {Нечего повторять} one {# задача снова в очереди} few {# задачи снова в очереди} many {# задач снова в очереди} other {# задачи снова в очереди}}"
  157. },
  158. "activity": {
  159. "title": "Активность",
  160. "description": "Последние задачи и записи журнала для этого подключения.",
  161. "retry": "Повторить",
  162. "jobStatus": {
  163. "queued": "В очереди",
  164. "running": "Выполняется",
  165. "done": "Готово",
  166. "failed": "Ошибка",
  167. "dead": "Прекращено"
  168. },
  169. "jobs": "{count, plural, one {# задача} few {# задачи} many {# задач} other {# задачи}}",
  170. "counts": {
  171. "queued": "{count} в очереди",
  172. "running": "{count} выполняется",
  173. "done": "{count} готово",
  174. "failed": "{count} с ошибкой",
  175. "dead": "{count} прекращено"
  176. },
  177. "noFailures": "Ошибок нет.",
  178. "retryFailed": "Повторить неудавшиеся",
  179. "details": "Показать подробности"
  180. },
  181. "errors": {
  182. "generic": "Что-то пошло не так",
  183. "demo": "В демо-режиме интеграции подключить нельзя.",
  184. "forbidden": "Подключать интеграции может только администратор.",
  185. "unknown": "Неизвестная интеграция.",
  186. "plan": "Эта интеграция не входит в ваш тариф.",
  187. "no-client": "Для этого провайдера не настроены данные приложения.",
  188. "denied": "Вы отменили вход у провайдера.",
  189. "vendor": "Провайдер вернул ошибку. Попробуйте ещё раз.",
  190. "invalid": "Ответ провайдера был неполным. Попробуйте ещё раз.",
  191. "state": "Срок этого входа истёк, или он относится к другой сессии. Начните заново.",
  192. "exchange": "Провайдер отклонил вход. Проверьте данные приложения и попробуйте ещё раз.",
  193. "identify": "Подключено, но не удалось прочитать данные аккаунта. Попробуйте переподключиться."
  194. },
  195. "meeting": {
  196. "join": "Присоединиться к видеозвонку",
  197. "google-meet": "Google Meet",
  198. "teams": "Microsoft Teams",
  199. "zoom": "Zoom"
  200. },
  201. "calendar": {
  202. "external": "Из подключённых календарей",
  203. "busy": "Занято"
  204. },
  205. "connectors": {
  206. "google-calendar": {
  207. "description": "Добавляйте запланированные заказ-наряды в Google Calendar, прикрепляйте ссылку Google Meet и видите занятое время календаря в Torqvoice.",
  208. "tenantHelp": "Создайте OAuth-клиент в Google Cloud Console (APIs & Services → Credentials), включите Google Calendar API, добавьте указанный ниже URI перенаправления и вставьте сюда идентификатор клиента и секрет.",
  209. "fields": {
  210. "clientId": "Идентификатор клиента",
  211. "clientSecret": "Секрет клиента"
  212. },
  213. "settings": {
  214. "calendarId": "Календарь",
  215. "pushEnabled": "Добавлять запланированные заказ-наряды в этот календарь",
  216. "includeCustomer": "Включать имя и телефон клиента в событие",
  217. "addConference": "Добавлять встречу Google Meet к каждому запланированному заказу",
  218. "addConferenceHelp": "Вкл.: каждый заказ, отправленный в календарь, получает встречу Google Meet, а ссылка показывается в заказе. Выкл.: добавьте встречу Google Meet к отдельному заказу с его страницы. В любом случае клиент получает ссылку только когда вы её отправите.",
  219. "pullEnabled": "Показывать занятое время этого календаря в календаре Torqvoice",
  220. "pullEnabledHelp": "Только чтение. Обновляется каждые 15 минут: неделя назад и два месяца вперёд."
  221. }
  222. },
  223. "microsoft-365": {
  224. "description": "Добавляйте запланированные заказ-наряды в календарь Outlook, прикрепляйте ссылку Microsoft Teams и видите занятое время календаря в Torqvoice.",
  225. "tenantHelp": "Зарегистрируйте приложение в Microsoft Entra (App registrations), разрешите личные и рабочие аккаунты, добавьте указанный ниже URI перенаправления как платформу Web, создайте секрет клиента и вставьте сюда оба значения.",
  226. "fields": {
  227. "clientId": "Идентификатор приложения (клиента)",
  228. "clientSecret": "Секрет клиента"
  229. },
  230. "settings": {
  231. "calendarId": "Календарь",
  232. "pushEnabled": "Добавлять запланированные заказ-наряды в этот календарь",
  233. "includeCustomer": "Включать имя и телефон клиента в событие",
  234. "addConference": "Добавлять встречу Microsoft Teams к каждому запланированному заказу",
  235. "addConferenceHelp": "Вкл.: каждый заказ, отправленный в календарь, получает встречу Microsoft Teams, а ссылка показывается в заказе. Выкл.: добавьте встречу Microsoft Teams к отдельному заказу с его страницы. В любом случае клиент получает ссылку только когда вы её отправите.",
  236. "pullEnabled": "Показывать занятое время этого календаря в календаре Torqvoice",
  237. "pullEnabledHelp": "Только чтение. Обновляется каждые 15 минут: неделя назад и два месяца вперёд."
  238. }
  239. },
  240. "zoom": {
  241. "description": "Добавьте встречу Zoom к запланированному заказ-наряду и держите ссылку на нём: для удалённой диагностики или разбора результатов с клиентом.",
  242. "tenantHelp": "В Zoom App Marketplace создайте приложение General (user-managed), добавьте указанный ниже redirect URI, добавьте scope meeting:write:meeting, meeting:update:meeting, meeting:delete:meeting, meeting:read:meeting и user:read:user, затем вставьте сюда client ID и секрет.",
  243. "fields": {
  244. "clientId": "Client ID",
  245. "clientSecret": "Секрет клиента"
  246. },
  247. "settings": {
  248. "autoCreate": "Автоматически создавать встречу Zoom для каждого запланированного заказ-наряда",
  249. "autoCreateHelp": "Выкл.: вы сами добавляете видеозвонок к заказ-наряду на его странице. Вкл.: каждый заказ-наряд с временем начала получает встречу, которая переносится при изменении расписания и удаляется при отмене. В любом случае клиент получает ссылку, только когда вы её отправите.",
  250. "includeCustomer": "Указывать имя клиента в теме встречи",
  251. "joinBeforeHost": "Разрешить клиенту входить раньше вас",
  252. "waitingRoom": "Использовать зал ожидания"
  253. }
  254. },
  255. "twilio-sms": {
  256. "description": "Send and receive text messages through a Twilio number. Reminders, ready-for-pickup messages and the replies that come back.",
  257. "fields": {
  258. "accountSid": "Account SID",
  259. "authToken": "Auth token"
  260. },
  261. "settings": {
  262. "phoneNumber": "Send from this number"
  263. }
  264. },
  265. "vonage-sms": {
  266. "description": "Send and receive text messages through a Vonage number.",
  267. "fields": {
  268. "apiKey": "API key",
  269. "apiSecret": "API secret"
  270. },
  271. "settings": {
  272. "phoneNumber": "Send from this number"
  273. }
  274. },
  275. "telnyx-sms": {
  276. "description": "Send and receive text messages through a Telnyx number.",
  277. "fields": {
  278. "apiKey": "API key"
  279. },
  280. "settings": {
  281. "phoneNumber": "Send from this number"
  282. }
  283. },
  284. "whatsapp-meta": {
  285. "description": "Message customers on WhatsApp through Meta directly. Photos of what you found, and the conversation that follows.",
  286. "fields": {
  287. "phoneNumberId": "Phone number ID",
  288. "accessToken": "Access token",
  289. "verifyToken": "Webhook verify token",
  290. "appSecret": "App secret",
  291. "apiVersion": "Graph API version"
  292. },
  293. "settings": {
  294. "enabled": "Send messages on this channel",
  295. "phoneNumber": "Send from this number",
  296. "templateName": "Template for reopening a conversation",
  297. "templateLanguage": "Template language",
  298. "templateVariables": "Template values, in order",
  299. "mediaTemplateName": "Template for a message with a photo",
  300. "mediaTemplateLanguage": "Photo template language",
  301. "mediaTemplateVariables": "Photo template values, in order"
  302. }
  303. },
  304. "whatsapp-twilio": {
  305. "description": "Message customers on WhatsApp through a Twilio number, if Twilio is who sold you one.",
  306. "fields": {
  307. "accountSid": "Account SID",
  308. "authToken": "Auth token",
  309. "messagingServiceSid": "Messaging service SID"
  310. },
  311. "settings": {
  312. "enabled": "Send messages on this channel",
  313. "phoneNumber": "Send from this number",
  314. "templateName": "Template for reopening a conversation",
  315. "templateLanguage": "Template language",
  316. "templateVariables": "Template values, in order",
  317. "mediaTemplateName": "Template for a message with a photo",
  318. "mediaTemplateLanguage": "Photo template language",
  319. "mediaTemplateVariables": "Photo template values, in order"
  320. }
  321. },
  322. "telegram": {
  323. "description": "A Telegram bot that reaches customers who use it, and brings their replies into the inbox.",
  324. "fields": {
  325. "botToken": "Bot token"
  326. },
  327. "settings": {
  328. "enabled": "Send messages on this channel",
  329. "botUsername": "Bot username"
  330. }
  331. },
  332. "smtp": {
  333. "description": "Send invoices and reminders through your own mail server, rather than the platform mail.",
  334. "fields": {
  335. "host": "Server",
  336. "port": "Port",
  337. "user": "Username",
  338. "pass": "Password"
  339. },
  340. "settings": {
  341. "fromEmail": "Send from this address",
  342. "fromName": "Name shown as the sender",
  343. "secure": "Connect over TLS from the start",
  344. "requireTls": "Require the server to upgrade to TLS",
  345. "rejectUnauthorized": "Reject a certificate that does not check out"
  346. }
  347. },
  348. "resend": {
  349. "description": "Send invoices and reminders through Resend.",
  350. "fields": {
  351. "apiKey": "API key"
  352. },
  353. "settings": {
  354. "fromEmail": "Send from this address",
  355. "fromName": "Name shown as the sender"
  356. }
  357. },
  358. "postmark": {
  359. "description": "Send invoices and reminders through Postmark.",
  360. "fields": {
  361. "apiKey": "Server token"
  362. },
  363. "settings": {
  364. "fromEmail": "Send from this address",
  365. "fromName": "Name shown as the sender"
  366. }
  367. },
  368. "mailgun": {
  369. "description": "Send invoices and reminders through Mailgun.",
  370. "fields": {
  371. "apiKey": "API key",
  372. "domain": "Sending domain"
  373. },
  374. "settings": {
  375. "fromEmail": "Send from this address",
  376. "fromName": "Name shown as the sender",
  377. "region": "Region the domain is in"
  378. }
  379. },
  380. "sendgrid": {
  381. "description": "Send invoices and reminders through SendGrid.",
  382. "fields": {
  383. "apiKey": "API key"
  384. },
  385. "settings": {
  386. "fromEmail": "Send from this address",
  387. "fromName": "Name shown as the sender"
  388. }
  389. },
  390. "amazon-ses": {
  391. "description": "Send invoices and reminders through Amazon SES.",
  392. "fields": {
  393. "accessKeyId": "Access key ID",
  394. "secretAccessKey": "Secret access key",
  395. "region": "Region"
  396. },
  397. "settings": {
  398. "fromEmail": "Send from this address",
  399. "fromName": "Name shown as the sender"
  400. }
  401. },
  402. "vegvesen": {
  403. "description": "Заполните данные автомобиля по норвежскому номеру или VIN: марка, модель, год, топливо, коробка передач, двигатель, цвет, размеры шин и дата следующего EU-kontroll, напрямую из реестра Statens vegvesen. Данные о владельце не передаются.",
  404. "fields": {
  405. "apiKey": "API-ключ",
  406. "apiKeyHelp": "Бесплатно. Закажите ключ на vegvesen.no в разделе «API for tekniske kjøretøyopplysninger»: войдите через BankID, представьте мастерскую, и ключ будет выдан сразу. Он допускает 50 000 запросов в день."
  407. },
  408. "settings": {
  409. "syncInspections": "Обновлять сроки техосмотра для всех автомобилей этой мастерской",
  410. "syncInspectionsHelp": "Раз в час автомобили, которые давно не проверялись, ищутся по номеру, и сохраняется дата следующего EU-kontroll. Отправляются только автомобили этой мастерской. Автомобиль проверяется ежемесячно, а когда до срока меньше двух месяцев, еженедельно."
  411. }
  412. },
  413. "openapi-automotive": {
  414. "description": "Заполните данные автомобиля по французскому, итальянскому, испанскому, португальскому или британскому номеру: марка, модель, год, VIN, топливо, объём двигателя и другое из регистрационных данных страны через Openapi.com. Каждый запрос списывается со счёта Openapi самой мастерской. Данные о владельце не передаются.",
  415. "fields": {
  416. "token": "API-токен",
  417. "tokenHelp": "Создайте аккаунт на console.openapi.com, пополните кошелёк и в разделе Automotive создайте токен для производственной среды. Каждый успешный запрос стоит несколько десятков центов; запрос без результата бесплатен."
  418. },
  419. "settings": {
  420. "country": "Страна",
  421. "countryHelp": "Реестр, в котором искать. Французские и итальянские номера выглядят одинаково, поэтому страну нельзя определить по номеру.",
  422. "bikes": "Искать также мотоциклы",
  423. "bikesHelp": "Если номер не принадлежит автомобилю, запрашивается и реестр мотоциклов. Запрос по автомобилю без результата бесплатен, поэтому дополнительных расходов нет, если мотоцикл не найден. Недоступно для Португалии."
  424. }
  425. },
  426. "rdw": {
  427. "description": "Заполните данные автомобиля по нидерландскому номеру: марка, модель, год, топливо, объём двигателя, цвет, массы и дата следующего APK, напрямую из открытого реестра транспортных средств RDW. Бесплатно, ключ не нужен. Данные о владельце и VIN не публикуются.",
  428. "fields": {
  429. "appToken": "Токен приложения (необязательно)",
  430. "appTokenHelp": "Открытые данные RDW работают без ключа, но анонимные запросы делят ограниченную квоту. Для синхронизации техосмотров создайте бесплатный аккаунт на opendata.rdw.nl, откройте настройки разработчика в профиле и создайте токен приложения."
  431. },
  432. "settings": {
  433. "syncInspections": "Обновлять даты APK для всех автомобилей этой мастерской",
  434. "syncInspectionsHelp": "Раз в час автомобили, которые давно не проверялись, ищутся по номеру, и сохраняется дата следующего APK. Отправляются только автомобили этой мастерской. Автомобиль проверяется ежемесячно, а когда до срока меньше двух месяцев, еженедельно."
  435. }
  436. },
  437. "regcheck": {
  438. "description": "Заполните данные автомобиля по номеру в Австралии, Новой Зеландии, США, Ирландии, Норвегии, Швеции, Дании, Финляндии, Эстонии, Чехии, Словакии, Венгрии или Хорватии: марка, модель, год, VIN, топливо и объём двигателя, если страна их публикует, через RegCheck. Каждый успешный запрос списывает один кредит со счёта RegCheck самой мастерской. Данные о владельце не передаются.",
  439. "fields": {
  440. "username": "Имя пользователя RegCheck",
  441. "usernameHelp": "Зарегистрируйтесь на regcheck.org.uk; аккаунт включает 10 бесплатных запросов, остальные покупаются блоками по 100 в панели. Здесь нужно только имя пользователя, никогда пароль. Ненайденный номер ничего не стоит."
  442. },
  443. "settings": {
  444. "country": "Страна",
  445. "countryHelp": "Реестр, в котором искать. У каждой страны своя служба, поэтому подключение ищет в одной.",
  446. "auState": "Штат или территория",
  447. "auStateHelp": "Австралия регистрирует автомобили по штатам, и реестру нужно указать, в каком искать. Выберите тот, где зарегистрировано большинство автомобилей ваших клиентов.",
  448. "usState": "Штат",
  449. "usStateHelp": "Двухбуквенный код штата, в котором зарегистрированы автомобили, например CA или TX. Американские реестры запрашиваются по штатам."
  450. }
  451. },
  452. "openai": {
  453. "description": "Описания работ, сводки по истории, распознавание документов и ассистент — отвечает ваш собственный аккаунт OpenAI. Каждый запрос оплачивается с этого аккаунта, модель выбираете вы.",
  454. "fields": {
  455. "apiKey": "API-ключ",
  456. "apiKeyHelp": "Создайте его на platform.openai.com в разделе API keys. На аккаунте нужен баланс; OpenAI списывает плату за каждый запрос."
  457. },
  458. "settings": {
  459. "model": "Модель",
  460. "modelHelp": "Какая модель отвечает. Список берётся из вашего аккаунта, новые сверху. Модели поменьше дешевле за запрос и справляются с большинством текстов мастерской."
  461. }
  462. },
  463. "anthropic": {
  464. "description": "Описания работ, сводки по истории, распознавание документов и ассистент — отвечает Claude в вашем собственном аккаунте Anthropic. Каждый запрос оплачивается с этого аккаунта, модель выбираете вы.",
  465. "fields": {
  466. "apiKey": "API-ключ",
  467. "apiKeyHelp": "Создайте его на console.anthropic.com в разделе API keys. На аккаунте нужен баланс; Anthropic списывает плату за каждый запрос."
  468. },
  469. "settings": {
  470. "model": "Модель",
  471. "modelHelp": "Какая модель отвечает. Список берётся из вашего аккаунта, новые сверху. Модели поменьше дешевле за запрос и справляются с большинством текстов мастерской."
  472. }
  473. },
  474. "stripe": {
  475. "description": "Оплата картой по ссылке на счёт на ваш собственный аккаунт Stripe. Клиент платит, Stripe сообщает Torqvoice, и счёт сам отмечается оплаченным.",
  476. "fields": {
  477. "secretKey": "Секретный ключ",
  478. "secretKeyHelp": "Из панели Stripe в разделе Developers, API keys. Тестовые ключи ничего реального не проводят, поэтому сначала попробуйте платёж на них, а затем переключитесь на боевые ключи.",
  479. "publishableKey": "Публикуемый ключ",
  480. "webhookSecret": "Секрет подписи вебхука",
  481. "webhookSecretHelp": "Stripe показывает его, когда вы добавляете URL уведомлений с этой страницы как вебхук. С ним каждое уведомление проверяется перед записью платежа."
  482. },
  483. "settings": {
  484. "enabled": "Предлагать в ссылках на счета",
  485. "enabledHelp": "Выключите, чтобы на время убрать кнопку оплаты с общих счетов, не отключая интеграцию. Уже начатые платежи всё равно записываются."
  486. }
  487. },
  488. "vipps": {
  489. "description": "Vipps MobilePay по ссылке на счёт. Клиент платит в приложении, которое у него уже есть, и счёт сам отмечается оплаченным.",
  490. "fields": {
  491. "clientId": "Client ID",
  492. "clientSecret": "Client secret",
  493. "subscriptionKey": "Ключ подписки",
  494. "subscriptionKeyHelp": "Ocp-Apim-Subscription-Key из портала Vipps MobilePay, в API-ключах торговой единицы.",
  495. "merchantSerialNumber": "Серийный номер продавца"
  496. },
  497. "settings": {
  498. "enabled": "Предлагать в ссылках на счета",
  499. "enabledHelp": "Выключите, чтобы на время убрать кнопку оплаты с общих счетов, не отключая интеграцию. Уже начатые платежи всё равно записываются.",
  500. "testMode": "Тестовый режим",
  501. "testModeHelp": "Использовать тестовую среду Vipps с тестовыми ключами. Оставьте включённым, пока не пройдёт полный платёж, затем выключите и введите боевые ключи."
  502. }
  503. },
  504. "paypal": {
  505. "description": "Оплата через PayPal по ссылке на счёт через ваше собственное приложение PayPal. Клиент платит аккаунтом PayPal или картой, и счёт сам отмечается оплаченным.",
  506. "fields": {
  507. "clientId": "Client ID",
  508. "clientSecret": "Client secret"
  509. },
  510. "settings": {
  511. "enabled": "Предлагать в ссылках на счета",
  512. "enabledHelp": "Выключите, чтобы на время убрать кнопку оплаты с общих счетов, не отключая интеграцию. Уже начатые платежи всё равно записываются.",
  513. "sandbox": "Режим песочницы",
  514. "sandboxHelp": "Использовать песочницу PayPal с ключами приложения песочницы. Оставьте включённым, пока не пройдёт полный платёж, затем выключите и введите ключи боевого приложения."
  515. }
  516. },
  517. "quickbooks": {
  518. "description": "Отправляйте выставленные счета, их клиентов и платежи в QuickBooks Online и получайте обратно платежи, записанные там.",
  519. "tenantHelp": "Создайте приложение на портале Intuit Developer. Скопируйте client id и secret из Keys and credentials, а URI перенаправления ниже введите в Settings, Redirect URIs. Ключи разработки работают с sandbox-компаниями, production-ключи с настоящими.",
  520. "fields": {
  521. "clientId": "Идентификатор клиента",
  522. "clientSecret": "Секрет клиента"
  523. },
  524. "settings": {
  525. "pushInvoices": "Отправлять выставленные счета в QuickBooks",
  526. "pushOnComplete": "Также отправлять счета, когда заказ отмечен как выполненный",
  527. "pushOnCompleteHelp": "Без этого счёт уходит, когда он отправлен, передан по ссылке или оплачен. С этим выполненный заказ уходит сразу и обновляется при изменениях.",
  528. "startDate": "Только счета с датой не раньше",
  529. "startDateHelp": "Оставьте пустым, чтобы отправлять все выставленные счета. Укажите дату перехода бухгалтерии на QuickBooks, чтобы старые счета не вводились дважды.",
  530. "includeVehicle": "Указывать автомобиль в счёте",
  531. "includeVehicleHelp": "Текстовая строка над позициями с годом, маркой, моделью, номером и пробегом, чтобы бухгалтерия знала, о какой машине речь.",
  532. "laborItemId": "Товар для строк работ",
  533. "laborItemIdHelp": "Оставьте пустым, и в первый раз под вашим счётом доходов будет создан товар с именем Labour.",
  534. "partsItemId": "Товар для строк запчастей",
  535. "partsItemIdHelp": "Оставьте пустым, и в первый раз под вашим счётом доходов будет создан товар с именем Parts.",
  536. "taxAmounts": "Суммы налога",
  537. "taxAmountsHelp": "Как в счёте передаёт налог ровно таким, каким он указан в счёте клиента, поэтому обе системы сходятся до копейки. Рассчитывает QuickBooks позволяет QuickBooks применить ставку налогового кода, а в США адрес клиента; журнал сообщает о расхождении итогов.",
  538. "taxAmountsBilled": "Как в счёте Torqvoice",
  539. "taxAmountsQuickbooks": "Рассчитывает QuickBooks",
  540. "taxCodeId": "Налоговый код для облагаемых счетов",
  541. "taxCodeIdHelp": "QuickBooks учитывает налог по налоговому коду. Torqvoice подбирает код со ставкой каждого счёта; этот используется, когда подходящего нет. Компания в США использует TAX, если не выбрать другой код.",
  542. "zeroTaxCodeId": "Налоговый код для счетов без налога",
  543. "zeroTaxCodeIdHelp": "Используется, когда в счёте нет налога или клиент освобождён от него. Компания в США использует NON, если не выбрать другой код.",
  544. "pushPayments": "Записывать платежи в QuickBooks",
  545. "depositAccountId": "Зачислять платежи на",
  546. "depositAccountIdHelp": "Оставьте пустым, чтобы использовать Undeposited Funds.",
  547. "manualPaidAsPayment": "Записывать платёж, когда счёт отмечен оплаченным вручную",
  548. "manualPaidAsPaymentHelp": "Счёт, отмеченный в Torqvoice как оплаченный без записи платежа, получает в QuickBooks один платёж на сумму, которая там ещё числится к оплате. Выключено: он остаётся там открытым, пока не будет записан платёж.",
  549. "pullPayments": "Забирать платежи, записанные в QuickBooks",
  550. "pullPaymentsHelp": "Каждые 30 минут. Платёж, полученный в QuickBooks по счёту из Torqvoice, записывается здесь на счёт."
  551. }
  552. },
  553. "nhtsa": {
  554. "description": "Заполните автомобиль по VIN и смотрите отзывные кампании, жалобы владельцев и рейтинги краш-тестов для каждого модельного года от американского ведомства безопасности. Бесплатно, без ключа.",
  555. "fields": {},
  556. "settings": {
  557. "refreshFleet": "Поддерживать актуальные данные об отзывах и жалобах для каждого автомобиля этой мастерской",
  558. "refreshFleetHelp": "Раз в день модели, не обновлявшиеся за последнюю неделю, запрашиваются заново, чтобы страница автомобиля никогда не ждала, а новая отзывная кампания появлялась в течение недели. Отправляются только марка, модель и год."
  559. }
  560. }
  561. },
  562. "jobKinds": {
  563. "calendar": {
  564. "push": "Заказы в календарь",
  565. "pull": "Занятое время из календаря"
  566. },
  567. "conference": {
  568. "sync": "Ссылки на видеозвонки"
  569. },
  570. "inspection": {
  571. "refresh": "Обновление сроков техосмотра"
  572. },
  573. "accounting": {
  574. "invoice": "Счёт в бухгалтерию",
  575. "payment": "Платёж в бухгалтерию",
  576. "customer": "Клиент в бухгалтерию",
  577. "pull": "Платежи из бухгалтерии"
  578. },
  579. "safety": {
  580. "refresh": "Обновление данных об отзывных кампаниях",
  581. "vehicle": "Проверка отзывных кампаний для нового автомобиля"
  582. }
  583. }
  584. }