Integrations with external systems - global-121/121-platform GitHub Wiki

This is a diagram that models the third party integrations that are made in the 121-platform in an UML component diagram 3.0:

  • Twilio is used for sending messages
  • The Kobo integration can be used to load new registrations using survey forms and to update programs in the 121 platform using a kobo form definition
  • The EspoCRM integration can be used to 'sync' registration entities between EspoCRM and 121. This can be used when a user wants to manage registrations in EspoCRM instead of 121
  • The Financial Service Provider (FSP) integrations are use to provide the cash and voucher assistance.
    • Some FSPs are connected via an API integration and in others users can download a csv file which has to be manually provided to the FSP
    • Some FSPs provide reconciliation data which provides insight in the status of cash or voucher assistance

3rd party integrations component diagram 121 Service

API endpoints used by external systems

General

  • kobo-connect
    • POST /api/users/login
    • GET /api/programs/{programId}
      • ?formatProgramReturnDto=true
    • GET /api/programs/{programId}/metrics/export-list/{exportType}
      • exportType = registrations
    • POST /api/programs/{programId}/registrations
    • PATCH /api/programs/{programId}/registrations/{referenceId}
    • PATCH /api/programs/{programId}/registrations/status
      • ?dryRun=false&filter.referenceId=$in:{referenceId}
  • 121 Vodacash Converter
    • None
  • 121 Invoicing Tool
    • POST /api/users/login
    • GET /api/exchange-rates
    • GET /api/programs/{programId}
    • GET /api/programs/{programId}/metrics/program-stats-summary
    • GET /api/programs/{programId}/transactions
  • Scandroid
    • POST /api/users/login
    • GET /api/programs/{programId}
    • GET /api/programs/{programId}/fsp-configurations
    • POST /api/programs/{programId}/payments/{paymentId}/excel-reconciliation
    • GET /api/programs/{programId}/payments/{paymentId}/transactions
    • GET /api/programs/{programId}/registrations/{id}
    • GET /api/programs/{programId}/transactions
  • 121 Translate program
    • POST /api/users/login
    • GET /api/programs/{programId}
    • PATCH /api/programs/{programId}/registration-attributes/{programRegistrationAttributeName}
  • 121 Mass update message templates
    • POST /api/users/login
    • GET /api/notifications/{programId}/message-templates
    • POST /api/notifications/{programId}/message-templates
    • PATCH api/notifications/{programId}/message-templates/{type}/{language}
  • 121 Calculate Indicators
    • POST /api/users/login
    • GET /api/programs/{programId}/metrics/export-list/registrations
      • ?filter.created=$gt:{dateFrom}T00:00:00.000Z&filter.created=$lt:{dateTo}T00:00:00.000Z
    • GET /api/programs/{programId}/transactions
      • ?fromDate={dateFrom}T00:00:00.000Z&toDate={dateTo}T00:00:00.00
  • 121 Default Dashboard
    • POST /api/users/login
    • GET /api/programs/{programId}
    • GET /api/programs/{programId}/payments
      • ?limit=100
    • GET /api/programs/{programId}/payments/{paymentId}/transactions
    • GET /api/programs/{programId}/registrations
      • ?limit=40000
  • PAM - 121 Extension Template
    • Not set up yet

NLRC

  • Schoolmaaltijden Programma - OCW
  • Food Program Automation of Processes
    • POST /api/users/login
    • GET /api/programs/{programId}/metrics/export-list/{exportType}
      • exportType = unused-vouchers
      • exportType = registrations
    • GET /api/programs/{programId}/registrations
      • ?limit=40000
      • Still need to be rewritten so that we get the right information in an easier and faster way (not both via export-list and registrations)
    • GET /api/programs/{programId}/registration-events
      • ?fromDate={fromDate}
    • GET /api/programs/{programId}/registrations/{id}
    • POST /api/programs/{programId}/registrations/message
      • ?filter.referenceId=$in:{referenceIds} - PATCH /api/programs/{programId}/registrations/{referenceId}
    • GET /api/programs/{programId}/registrations/{registrationId}/activities
    • PATCH /api/programs/{programId}/registrations/status
      • ?filter.referenceId=$in:{referenceIds}&dryRun=false
  • 121 Mass download paper vouchers
    • POST /api/users/login
    • GET /api/programs/{programId}/fsps/intersolve-voucher/voucher/image-paper
      • ?referenceId={referenceId}&paymentId={paymentId}
    • GET /api/programs/{programId}/payments
    • GET /api/programs/{programId}/payments/{paymentId}/transactions
      • ?limit=1000000&filter.status=$ilike:success&filter.fspName=$ilike:paper

NLRC Dashboards

KRCS

  • 121 Create program KRCS
    • POST /api/users/login
    • POST /api/programs
    • POST /api/programs/{programId}/fsp-configurations
    • PUT /api/programs/{programId}/users/{userId}
  • 121-ESR integration
    • POST /api/users/login
    • GET /api/programs/{programId}
    • GET /api/programs/{programId}/registrations
      • ?limit=40000
    • GET /api/programs/{programId}/registrations
      • ?filter.referenceId=$eq:{referenceId}
    • POST /api/programs/{programId}/registrations
    • GET /api/programs/{programId}/registration-events
    • GET /api/programs/{programId}/transactions
      • ?format=json&fromDate={yesterday}&toDate={today}
    • GET /api/users