External Vendor Integrations (Welocalize / Junction / Moravia)

Business perspective: External Vendor Integrations (Welocalize / Junction / Moravia)

1. Business Summary

Polls third-party vendor platforms for offers/jobs, maps fields (language, unit, task type), accepts work, and creates internal Tasks/Jobs.

2. Business Value

Automated work-intake from larger LSP partners.

3. Users / Stakeholders

VMs, ops, finance.

4. Workflows

  • Welocalize: getNewOffers() POSTs to hypnos.welocalize.tools/v2/offer/available with JWT auth; limiter() filters; acceptOffers() accepts.
  • Junction: getTasks() from configured server; mapping via data_mapping_templates_languages, EmailParsingTemplate.
  • Moravia: getJobs() from MS-hosted OData; mapping via MoraviaTaskTypesMapping.
  • All three: cron-scheduled polling per account.

5. Sub-Features

  • Token/credential management.
  • Language/task-type mapping.
  • Acceptance tracking via WelocalizeOffers, JunctionTask, MoraviaJob.
  • Logs (WelocalizeLog, MoraviaLog if present).

6. Business Rules

  • Limiter filters by available languages and word limit.
  • Bulk acceptance endpoints (v1/offer/accept-bulk Junction).
  • Certification filtering (Junction language certification).

7. Data Entities

WelocalizeOffers, WelocalizeLanguages, WelocalizeAccountToken, WelocalizeTask, WelocalizeLog, JunctionTask, MoraviaJob, MaximumExtension (for deadlines).

8. Entry Points

  • welocalize/*, junction/*, moravia/*.
  • Cron jobs per brand/account.

9. Inputs & Outputs

  • Inputs: external offers.
  • Outputs: internal Tasks/Jobs/RFRs.

10. Integrations

  • Welocalize, Junction, Moravia APIs.

11. Calculations / Logic

  • Limiter (word count limit, language match).
  • Field mapping pipelines.

12. Status Lifecycle

  • Offer → accepted → assigned → completed.

13. Permissions

  • VM, brand-scoped.

14. Reports & KPIs

  • Offer counts, acceptance rate, throughput.

15. Risks & Observations

  • Hard-coded JWTs and tokens (e.g., Junction cced7202-b176-4c54-8800-846ce8bc0cf0).
  • Fire-and-forget acceptance without retry/rollback.
  • No rate limiting for inbound API.

16. Source Code Evidence

  • app/Controller/WelocalizeController.php, JunctionController.php, MoraviaController.php.
  • app/Model/WelocalizeOffers.php, WelocalizeLanguages.php, WelocalizeAccountToken.php, WelocalizeTask.php, WelocalizeLog.php.

← Deep dives index