Skip to content

Latest commit

 

History

History
583 lines (448 loc) · 23.1 KB

README.md

File metadata and controls

583 lines (448 loc) · 23.1 KB

das-apim-endpoints

Build Status

Requirements

  • DotNet Core 3.1 and any supported IDE for DEV running.
  • Azure Storage Account

About

das-apim-endpoints covers the outer apis that reside within the APIM gateway. All outer APIs should act as an aggregation layer between the inner apis, having only the necessary logic to form the data to be presented back to the consumer. It should be seen that each outer API is built at a service layer, so it is expected that a function and site of the same service could consume, but not multiple services consuming a single outer API.

Local running

Find Apprenticeship Training

The Find Apprenticeship Training outer api relies on the following inner apis:

You are able to run the API by doing the following:

In the SFA.DAS.FindApprenticeshipTraining.API project, if not exist already, add appSettings.Development.json file with following content:

{
  "Logging": {
    "LogLevel": {
      "Default": "Information",
      "Microsoft.AspNetCore": "Warning"
    }
  },
  "AllowedHosts": "*",
  "ConfigurationStorageConnectionString": "UseDevelopmentStorage=true;",
  "ConfigNames": "SFA.DAS.FindApprenticeshipTraining.OuterApi",
  "Environment": "LOCAL",
  "Version": "1.0",
  "APPINSIGHTS_INSTRUMENTATIONKEY": ""
}
  • In your Azure Storage Account, create a table called Configuration and add the following. Note that the identifier is not required for local dev.
ParitionKey: LOCAL
RowKey: SFA.DAS.FindApprenticeshipTraining.OuterApi_1.0
Data: {
    "CoursesApiConfiguration": {
        "url":"https://localhost:5001/",
        "identifier":"https://**********.onmicrosoft.com/*******"
    },
    "CourseDeliveryApiConfiguration" : {
        "url":"https://localhost:5006/",
        "identifier":"https://**********.onmicrosoft.com/*******"
    },
    "LocationApiConfiguration" : {
        "url":"https://localhost:5008/",
        "identifier":"https://**********.onmicrosoft.com/*******"
    },
    "ProviderCoursesApiConfiguration": {
        "url":"https://localhost:5111/",
        "identifier":"https://**********.onmicrosoft.com/*******"
    },
    "FeatureToggles": {
        "RoatpProvidersEnabled": true
    }
}
  • Start the api project SFA.DAS.FindApprenticeshipTraining.Api

Starting the API will then show the swagger definition with the available operations. Alternatively you can connect das-findapprenticeshiptraining which is the consuming service of this outer API.

Find an Endpoint Assessment Organisation

The Find Endpoint Assessment Organisation outer api relies on the following inner apis:

You are able to run the API by doing the following:

  • In your Azure Storage Account, create a table called Configuration and add the following. Note that the identifier is not required for local dev.
ParitionKey: LOCAL
RowKey: SFA.DAS.FindEpao.OuterApi_1.0
Data: {
    "CoursesApiConfiguration": {
        "url":"https://localhost:5001/",
        "identifier":"https://**********.onmicrosoft.com/*******"
    },
    "AssessorsApiConfiguration" : {
        "url":"http://localhost:59022/",
        "identifier":"https://**********.onmicrosoft.com/*******"
    }
}
  • Start the api project SFA.DAS.FindEpao.Api

Starting the API will then show the swagger definition with the available operations. Alternatively you can connect das-find-epao-web which is the consuming service of this outer API.

Approvals

The Approvals outer api relies on the following inner apis:

You are able to run the API by doing the following:

  • In your Azure Storage Account, create a table called Configuration and add the following. Note that the identifier is not required for local dev.
ParitionKey: LOCAL
RowKey: SFA.DAS.Approvals.OuterApi_1.0
Data: {
    "CoursesApiConfiguration": {
        "url":"https://localhost:5001/",
        "identifier":"https://**********.onmicrosoft.com/*******"
    },
    "CourseDeliveryApiConfiguration" : {
        "url":"https://localhost:5006/",
        "identifier":"https://**********.onmicrosoft.com/*******"
    },
    "AssessorsApiConfiguration" : {
        "url":"http://localhost:59022/",
        "identifier":"https://**********.onmicrosoft.com/*******"
    }
}
  • Start the api project SFA.DAS.Approvals.Api

Starting the API will then show the swagger definition with the available operations. This outer API is used to provide data for the Commitments v2 webjobs that store assessment organisations, provider and course information.

Campaign

The Campaign outer api relies on the following inner api:

You are able to run the API by doing the following:

  • In your Azure Storage Account, create a table called Configuration and add the following. Note that the identifier is not required for local dev.
ParitionKey: LOCAL
RowKey: SFA.DAS.Campaign.OuterApi_1.0
Data: {
    "CoursesApiConfiguration": {
        "url":"https://localhost:5001/",
        "identifier":"https://**********.onmicrosoft.com/*******"
    }
}
  • Start the api project SFA.DAS.Campaign.Api

Starting the API will then show the swagger definition with the available operations. The outer API is used for displaying the list of routes for Standards. Once a route is selected then all the standard Ids in that route are returned.

EPAO Register

The Epao register outer api relies on the following inner apis:

You are able to run the API by doing the following:

  • In your Azure Storage Account, create a table called Configuration and add the following. Note that the identifier is not required for local dev.
ParitionKey: LOCAL
RowKey: SFA.DAS.EpaoRegister.OuterApi_1.0
Data: {
    "CoursesApiConfiguration": {
        "url":"https://localhost:5001/",
        "identifier":"https://**********.onmicrosoft.com/*******"
    },
    "AssessorsApiConfiguration" : {
        "url":"http://localhost:59022/",
        "identifier":"https://**********.onmicrosoft.com/*******"
    }
}
  • Start the api project SFA.DAS.EpaoRegister.Api

Starting the API will then show the swagger definition with the available operations. This outer API is to be used as a resource for external subscribers to ESFA services, to get information about Endpoint Assessment Organisations and the courses that they can assess.

Forecasting

The forecasting outer api relies on the following inner api:

You are able to run the API by doing the following:

  • In your Azure Storage Account, create a table called Configuration and add the following. Note that the identifier is not required for local dev.
ParitionKey: LOCAL
RowKey: SFA.DAS.Forecasting.OuterApi_1.0
Data: {
    "CoursesApiConfiguration": {
        "url":"https://localhost:5001/",
        "identifier":"https://**********.onmicrosoft.com/*******"
    }
}
  • Start the api project SFA.DAS.Forecasting.Api

Starting the API will then show the swagger definition with the available operations. The outer API is used to populate standards and frameworks in the forecasting database.

Manage Apprenticeships

The Manage Apprenticeships outer api relies on the following inner apis:

You are able to run the API by doing the following:

  • In your Azure Storage Account, create a table called Configuration and add the following. Note that the identifier is not required for local dev.
ParitionKey: LOCAL
RowKey: SFA.DAS.ManageApprenticeships.OuterApi_1.0
Data: {
    "CoursesApiConfiguration": {
        "url":"https://localhost:5001/",
        "identifier":"https://**********.onmicrosoft.com/*******"
    },
    "CourseDeliveryApiConfiguration" : {
        "url":"https://localhost:5006/",
        "identifier":"https://**********.onmicrosoft.com/*******"
    },
}
  • Start the api project SFA.DAS.ManageApprenticeships.Api

Starting the API will then show the swagger definition with the available operations. The outer API is used during payment processing for transaction information, adding metadata to the payments lines for Course and Provider information.

Employer Finance

The Employer Finance outer api relies on the following inner apis:

You are able to run the API by doing the following:

  • In your Azure Storage Account, create a table called Configuration and add the following. Note that the identifier is not required for local dev.
ParitionKey: LOCAL
RowKey: SFA.DAS.EmployerFinance.OuterApi_1.0
Data: {
         {
            "CoursesApiConfiguration":{
                "url":"https://localhost:5001/",
                "identifier":"https://citizenazuresfabisgov.onmicrosoft.com/das-at-crsapi-as-ar"
            },
            "CourseDeliveryApiConfiguration":{
                "url":"https://localhost:5006/",
                "identifier":"https://citizenazuresfabisgov.onmicrosoft.com/das-at-crsdelapi-as-ar"
            },
            "LevyTransferMatchingApiConfiguration":{
                "url":"https://localhost:5002/",
                "identifier":"https://citizenazuresfabisgov.onmicrosoft.com/das-at-ltmapi-as-ar"
            },
            "AzureAd":{
                "tenant":"citizenazuresfabisgov.onmicrosoft.com",
                "identifier":"https://citizenazuresfabisgov.onmicrosoft.com/das-at-empfapi-as-ar"
            },
            "ForecastingApiConfiguration":{
                "url":"https://localhost:5001/",
                "identifier":"https://citizenazuresfabisgov.onmicrosoft.com/das-at-fcastapi-as-ar"
            }
         }
}
  • Start the api project SFA.DAS.EmployerFinance.Api

Starting the API will then show the swagger definition with the available operations.

Recruit

The Recruit outer api relies on the following inner apis:

You are able to run the API by doing the following:

  • In your Azure Storage Account, create a table called Configuration and add the following. Note that the identifier is not required for local dev.
ParitionKey: LOCAL
RowKey: SFA.DAS.Recruit.OuterApi_1.0
Data: {
    "CoursesApiConfiguration": {
        "url":"https://localhost:5001/",
        "identifier":"https://**********.onmicrosoft.com/*******"
    },
    "CourseDeliveryApiConfiguration" : {
        "url":"https://localhost:5006/",
        "identifier":"https://**********.onmicrosoft.com/*******"
    },
}
  • Start the api project SFA.DAS.Recruit.Api

Starting the API will then show the swagger definition with the available operations. The outer API is used as part of the daily data refresh, to store provider, standard and frameworks information.

Reservations

The Reservations outer api relies on the following inner apis:

You are able to run the API by doing the following:

  • In your Azure Storage Account, create a table called Configuration and add the following. Note that the identifier is not required for local dev.
ParitionKey: LOCAL
RowKey: SFA.DAS.Reservations.OuterApi_1.0
Data: {
    "CoursesApiConfiguration": {
        "url":"https://localhost:5001/",
        "identifier":"https://**********.onmicrosoft.com/*******"
    },
    "CourseDeliveryApiConfiguration" : {
        "url":"https://localhost:5006/",
        "identifier":"https://**********.onmicrosoft.com/*******"
    },
    "RoatpConfiguration" : {
        "url":"https://localhost:5111/",
        "identifier":"https://**********.onmicrosoft.com/*******"
    },
    "FeatureToggles": {
        "RoatpProvidersEnabled": true
    }
}
  • Start the api project SFA.DAS.Reservations.Api

Starting the API will then show the swagger definition with the available operations. The outer API is used as part of the daily data refresh, to store provider, standard and frameworks information.

Employer Incentives

When Running Employer Incentives Api Locally

You will need override the setting in the config SFA.DAS.EmployerIncentives.OuterApi_1.0 with the following in appsettings.development.json

  {
  "Environment": "DEV",
  "EmployerIncentivesInnerApi": {
    "identifier": "",
    "url": "https://localhost:5001/",
  },
  "CommitmentsV2InnerApi": {
    "identifier": "",
    "url": "http://localhost:6011/"
  }
}

To invoke the Fake CommitmentsV2Api start the console application SFA.DAS.EmployerIncentives.FakeApis

Employer Demand

The Employer Demand outer api relies on the following inner apis:

You are able to run the API by doing the following:

  • In your Azure Storage Account, create a table called Configuration and add the following. Note that the identifier is not required for local dev.
ParitionKey: LOCAL
RowKey: SFA.DAS.EmployerDemand.OuterApi_1.0
Data: {
    "CoursesApiConfiguration": {
        "url":"https://localhost:5001/",
        "identifier":"https://**********.onmicrosoft.com/*******"
    },
    "CourseDeliveryApiConfiguration" : {
        "url":"https://localhost:5006/",
        "identifier":"https://**********.onmicrosoft.com/*******"
    },
    "LocationApiConfiguration" : {
        "url":"https://localhost:5008/",
        "identifier":"https://**********.onmicrosoft.com/*******"
    },
    "EmployerDemandApiConfiguration":{
        "url":"https://localhost:5501/",
        "identifier":"https://**********.onmicrosoft.com/*******"
    },
    "NServiceBusConfiguration":{
        "NServiceBusConnectionString":"*****",
        "NServiceBusLicense":"*******"
    },
    "EmployerDemandConfiguration": {
        "ApimEndpointsRedisConnectionString": " "
    }
}
  • Start the api project SFA.DAS.EmployerDemand.Api

Starting the API will then show the swagger definition with the available operations. Alternatively you can connect das-employerdemand-web which is the consuming service of this outer API.

Course Management

The Course Management outer api relies on the following inner apis, which must all be set up according to their own readme setups:

Note:
This repo/course management outer does not use das-provide-feedback-employer directly, but it is required to get das-roatp-service running successfully

You are able to run the API by doing the following:

  • In your Azure Storage Account, create a table called Configuration and add the following. Note that the identifier is not required for local dev.
PartitionKey: LOCAL
RowKey: SFA.DAS.Roatp.CourseManagement.OuterApi_1.0
Data: copy contents of: https://github.com/SkillsFundingAgency/das-employer-config/blob/master/das-apim-endpoints/SFA.DAS.RoATP.CourseManagement.OuterApi.json

Note:
To get a functioning key for CourseDirectoryConfiguration.Key, you will need to create an account here: https://sit-portal.api.nationalcareersservice.org.uk/ and request a key for 'Course Directory'. Be aware the support for this can be very slow, and may not work, in which case you will need to talk to the team responsible for roatp-coursemanagement for assistance.

  • Start the api project SFA.DAS.RoatpCourseManagement.Api within apim

Download the repo and load into Visual Studio the project '..\dev\das-apim-endpoints\src\RoatpCourseManagement\SFA.DAS.Roatp.CourseManagement.sln' and run the project SFA.DAS.RoatpCourseManagement.Api

You will then see the swagger definition with the available operations.

Provider Moderation

The Provider Moderation outer api relies on the following inner apis, which must all be set up according to their own readme setups:

You are able to run the API by doing the following:

  • In your Azure Storage Account, create a table called Configuration and add the following. Note that the identifier is not required for local dev.
PartitionKey: LOCAL
RowKey: SFA.DAS.Roatp.ProviderModeration.OuterApi_1.0
Data: copy contents of: https://github.com/SkillsFundingAgency/das-employer-config/blob/master/das-apim-endpoints/SFA.DAS.Roatp.ProviderModeration.OuterApi.json
  • Start the api project SFA.DAS.RoatpProviderModeration.Api within apim

Download the repo and load into Visual Studio the project '..\dev\das-apim-endpoints\src\RoatpProviderModeration\SFA.DAS.RoatpProviderModeration.Api.sln' and run the project SFA.DAS.RoatpProviderModeration.Api

You will then see the swagger definition with the available operations.

Apprentice Feedback

The Apprentice Feedback outer API relies on the following inner APIs:

You are able to run the API by doing the following:

  • In your Azure Storage Account, create a table called Configuration and add the following. Note that the identifier is not required for local dev.
PartitionKey: LOCAL
RowKey: SFA.DAS.ApprenticeFeedback.OuterApi_1.0
Data:
{
    "ApprenticeFeedbackInnerApi": {
        "url": "https://localhost:5601/",
        "identifier": ""
    },
    "ApprenticeAccountsInnerApi": {
        "url": "https://localhost:5801/",
        "identifier": ""
    },
    "AssessorServiceInnerApi": {
        "url": "https://localhost:5501/",
        "identifier": "https://**********.onmicrosoft.com/**********"
    },
    "CoursesApi": {
        "url": "https://localhost:5001/",
        "identifier": "https://**********.onmicrosoft.com/**********"
    },
    "TrainingProviderApi": {
        "url": "https://localhost:37952/",
        "identifier": "https://**********.onmicrosoft.com/**********"
    },
    "AzureAd": {
        "tenant": "**********.onmicrosoft.com",
        "identifier": "https://**********.onmicrosoft.com/**********"
    }
}
  • Start the API project SFA.DAS.ApprenticeFeedback.Api. Starting the API will load up a Swagger definition with all of the available operations. This service allows apprentices to provide feedback on their training providers.

Assessors

The Assessors outer API relies on the following inner APIs:

You are able to run the API by doing the following:

  • In your Azure Storage Account, create a table called Configuration and add the following. Note that the identifier is not required for local dev.
PartitionKey: LOCAL
RowKey: 
Data:
{
    "AzureAd": {
        "identifier": "https://******.onmicrosoft.com/******",
        "tenant": "******.onmicrosoft.com"
    },
    "CoursesApiConfiguration": {
        "identifier": "https://******.onmicrosoft.com/******",
        "url": "https://localhost:5001"
    },
    "CommitmentsV2ApiConfiguration": {
        "url": "https://localhost:5011/",
        "identifier": "https://******.onmicrosoft.com/******"
    }
}
  • Start the API project SFA.DAS.Assessors.Api. Starting the API will load up a Swagger definition with all of the available operations. This sevice allows das-assessor-service to have a standards cache locally and for it to be able to populate the approvals extract table from the Commitments API.

FindApprenticeshipJobs

The Find Apprenticeship Jobs outer api relies on the following inner apis:

You are able to run the API by doing the following:

  • In your Azure Storage Account, create a table called Configuration and add the appropriate configuration for SFA.DAS.FindApprenticeshipJobs.OuterApi. Note that the identifier is not required for local dev.

  • Start the api project SFA.DAS.FindApprenticeshipJobs.Api

Starting the API will then show the swagger definition with the available operations. This outer API is used to provide data for the FindApprenticeshipJobs functions app: das-findapprenticeship-jobs

Employer AAN

See the dedicated readme for setup: https://github.com/SkillsFundingAgency/das-apim-endpoints/blob/master/src/EmployerAan/README.md

Apprentice AAN

See the dedicated readme for setup: https://github.com/SkillsFundingAgency/das-apim-endpoints/blob/master/src/ApprenticeAan/README.md

Admin AAN

See the dedicated readme for setup: https://github.com/SkillsFundingAgency/das-apim-endpoints/blob/master/src/AdminAan/README.md