This resource creates and returns a test user which is an organisation. The caller can specify the required service enrolments in the request body. If no request body is supplied, the test user is created with no service enrolments.
curl -X POST https://test-api.service.hmrc.gov.uk/create-test-user/organisations \
-H 'Authorization: Bearer HMRC_SERVER_TOKEN' \
-H 'Accept: application/vnd.hmrc.1.0+json' \
-H 'Content-Type: application/json' \
-d '{
"serviceNames": [
"corporation-tax",
"paye-for-employers",
"submit-vat-returns",
"national-insurance",
"self-assessment",
"mtd-income-tax",
"mtd-vat",
"lisa",
"secure-electronic-transfer",
"relief-at-source",
"customs-services"
]
}'
CREATE PROCEDURE ChilkatSample
AS
BEGIN
DECLARE @hr int
DECLARE @iTmp0 int
DECLARE @sTmp0 nvarchar(4000)
DECLARE @rest int
EXEC @hr = sp_OACreate 'Chilkat_9_5_0.Rest', @rest OUT
IF @hr <> 0
BEGIN
PRINT 'Failed to create ActiveX component'
RETURN
END
DECLARE @success int
-- URL: https://test-api.service.hmrc.gov.uk/create-test-user/organisations
DECLARE @bTls int
SELECT @bTls = 1
DECLARE @port int
SELECT @port = 443
DECLARE @bAutoReconnect int
SELECT @bAutoReconnect = 1
EXEC sp_OAMethod @rest, 'Connect', @success OUT, 'test-api.service.hmrc.gov.uk', @port, @bTls, @bAutoReconnect
IF @success <> 1
BEGIN
EXEC sp_OAGetProperty @rest, 'ConnectFailReason', @iTmp0 OUT
PRINT 'ConnectFailReason: ' + @iTmp0
EXEC sp_OAGetProperty @rest, 'LastErrorText', @sTmp0 OUT
PRINT @sTmp0
EXEC @hr = sp_OADestroy @rest
RETURN
END
-- See the Online Tool for Generating JSON Creation Code
DECLARE @json int
EXEC @hr = sp_OACreate 'Chilkat_9_5_0.JsonObject', @json OUT
EXEC sp_OAMethod @json, 'UpdateString', @success OUT, 'serviceNames[0]', 'corporation-tax'
EXEC sp_OAMethod @json, 'UpdateString', @success OUT, 'serviceNames[1]', 'paye-for-employers'
EXEC sp_OAMethod @json, 'UpdateString', @success OUT, 'serviceNames[2]', 'submit-vat-returns'
EXEC sp_OAMethod @json, 'UpdateString', @success OUT, 'serviceNames[3]', 'national-insurance'
EXEC sp_OAMethod @json, 'UpdateString', @success OUT, 'serviceNames[4]', 'self-assessment'
EXEC sp_OAMethod @json, 'UpdateString', @success OUT, 'serviceNames[5]', 'mtd-income-tax'
EXEC sp_OAMethod @json, 'UpdateString', @success OUT, 'serviceNames[6]', 'mtd-vat'
EXEC sp_OAMethod @json, 'UpdateString', @success OUT, 'serviceNames[7]', 'lisa'
EXEC sp_OAMethod @json, 'UpdateString', @success OUT, 'serviceNames[8]', 'secure-electronic-transfer'
EXEC sp_OAMethod @json, 'UpdateString', @success OUT, 'serviceNames[9]', 'relief-at-source'
EXEC sp_OAMethod @json, 'UpdateString', @success OUT, 'serviceNames[10]', 'customs-services'
EXEC sp_OAMethod @rest, 'AddHeader', @success OUT, 'Content-Type', 'application/json'
EXEC sp_OAMethod @rest, 'AddHeader', @success OUT, 'Authorization', 'Bearer HMRC_SERVER_TOKEN'
EXEC sp_OAMethod @rest, 'AddHeader', @success OUT, 'Accept', 'application/vnd.hmrc.1.0+json'
DECLARE @sbRequestBody int
EXEC @hr = sp_OACreate 'Chilkat_9_5_0.StringBuilder', @sbRequestBody OUT
EXEC sp_OAMethod @json, 'EmitSb', @success OUT, @sbRequestBody
DECLARE @sbResponseBody int
EXEC @hr = sp_OACreate 'Chilkat_9_5_0.StringBuilder', @sbResponseBody OUT
EXEC sp_OAMethod @rest, 'FullRequestSb', @success OUT, 'POST', '/create-test-user/organisations', @sbRequestBody, @sbResponseBody
IF @success <> 1
BEGIN
EXEC sp_OAGetProperty @rest, 'LastErrorText', @sTmp0 OUT
PRINT @sTmp0
EXEC @hr = sp_OADestroy @rest
EXEC @hr = sp_OADestroy @json
EXEC @hr = sp_OADestroy @sbRequestBody
EXEC @hr = sp_OADestroy @sbResponseBody
RETURN
END
DECLARE @respStatusCode int
EXEC sp_OAGetProperty @rest, 'ResponseStatusCode', @respStatusCode OUT
IF @respStatusCode >= 400
BEGIN
PRINT 'Response Status Code = ' + @respStatusCode
PRINT 'Response Header:'
EXEC sp_OAGetProperty @rest, 'ResponseHeader', @sTmp0 OUT
PRINT @sTmp0
PRINT 'Response Body:'
EXEC sp_OAMethod @sbResponseBody, 'GetAsString', @sTmp0 OUT
PRINT @sTmp0
EXEC @hr = sp_OADestroy @rest
EXEC @hr = sp_OADestroy @json
EXEC @hr = sp_OADestroy @sbRequestBody
EXEC @hr = sp_OADestroy @sbResponseBody
RETURN
END
DECLARE @jsonResponse int
EXEC @hr = sp_OACreate 'Chilkat_9_5_0.JsonObject', @jsonResponse OUT
EXEC sp_OAMethod @jsonResponse, 'LoadSb', @success OUT, @sbResponseBody
-- See the Online Tool for Generating JSON Parse Code
DECLARE @userId nvarchar(4000)
DECLARE @password nvarchar(4000)
DECLARE @userFullName nvarchar(4000)
DECLARE @emailAddress nvarchar(4000)
DECLARE @organisationDetailsName nvarchar(4000)
DECLARE @organisationDetailsAddressLine1 nvarchar(4000)
DECLARE @organisationDetailsAddressLine2 nvarchar(4000)
DECLARE @organisationDetailsAddressPostcode nvarchar(4000)
DECLARE @saUtr nvarchar(4000)
DECLARE @nino nvarchar(4000)
DECLARE @mtdItId nvarchar(4000)
DECLARE @empRef nvarchar(4000)
DECLARE @ctUtr nvarchar(4000)
DECLARE @vrn nvarchar(4000)
DECLARE @vatRegistrationDate nvarchar(4000)
DECLARE @lisaManagerReferenceNumber nvarchar(4000)
DECLARE @secureElectronicTransferReferenceNumber nvarchar(4000)
DECLARE @pensionSchemeAdministratorIdentifier nvarchar(4000)
DECLARE @eoriNumber nvarchar(4000)
EXEC sp_OAMethod @jsonResponse, 'StringOf', @userId OUT, 'userId'
EXEC sp_OAMethod @jsonResponse, 'StringOf', @password OUT, 'password'
EXEC sp_OAMethod @jsonResponse, 'StringOf', @userFullName OUT, 'userFullName'
EXEC sp_OAMethod @jsonResponse, 'StringOf', @emailAddress OUT, 'emailAddress'
EXEC sp_OAMethod @jsonResponse, 'StringOf', @organisationDetailsName OUT, 'organisationDetails.name'
EXEC sp_OAMethod @jsonResponse, 'StringOf', @organisationDetailsAddressLine1 OUT, 'organisationDetails.address.line1'
EXEC sp_OAMethod @jsonResponse, 'StringOf', @organisationDetailsAddressLine2 OUT, 'organisationDetails.address.line2'
EXEC sp_OAMethod @jsonResponse, 'StringOf', @organisationDetailsAddressPostcode OUT, 'organisationDetails.address.postcode'
EXEC sp_OAMethod @jsonResponse, 'StringOf', @saUtr OUT, 'saUtr'
EXEC sp_OAMethod @jsonResponse, 'StringOf', @nino OUT, 'nino'
EXEC sp_OAMethod @jsonResponse, 'StringOf', @mtdItId OUT, 'mtdItId'
EXEC sp_OAMethod @jsonResponse, 'StringOf', @empRef OUT, 'empRef'
EXEC sp_OAMethod @jsonResponse, 'StringOf', @ctUtr OUT, 'ctUtr'
EXEC sp_OAMethod @jsonResponse, 'StringOf', @vrn OUT, 'vrn'
EXEC sp_OAMethod @jsonResponse, 'StringOf', @vatRegistrationDate OUT, 'vatRegistrationDate'
EXEC sp_OAMethod @jsonResponse, 'StringOf', @lisaManagerReferenceNumber OUT, 'lisaManagerReferenceNumber'
EXEC sp_OAMethod @jsonResponse, 'StringOf', @secureElectronicTransferReferenceNumber OUT, 'secureElectronicTransferReferenceNumber'
EXEC sp_OAMethod @jsonResponse, 'StringOf', @pensionSchemeAdministratorIdentifier OUT, 'pensionSchemeAdministratorIdentifier'
EXEC sp_OAMethod @jsonResponse, 'StringOf', @eoriNumber OUT, 'eoriNumber'
EXEC @hr = sp_OADestroy @rest
EXEC @hr = sp_OADestroy @json
EXEC @hr = sp_OADestroy @sbRequestBody
EXEC @hr = sp_OADestroy @sbResponseBody
EXEC @hr = sp_OADestroy @jsonResponse
END
GO
{
"userId": "331803185953",
"password": "arjfogpD7Yst",
"userFullName": "Gabi Upton",
"emailAddress": "gabi.upton@example.com",
"organisationDetails": {
"name": "Company KPUEH0",
"address": {
"line1": "13 Mortimer Square",
"line2": "Fleet",
"postcode": "TS3 1PA"
}
},
"saUtr": "7000022933",
"nino": "OC929674D",
"mtdItId": "XYIT00000840710",
"empRef": "886/MPCHETZIAC",
"ctUtr": "8000061338",
"vrn": "990724297",
"vatRegistrationDate": "1999-02-18",
"lisaManagerReferenceNumber": "Z3182",
"secureElectronicTransferReferenceNumber": "309105308354",
"pensionSchemeAdministratorIdentifier": "a0174585",
"eoriNumber": "GB5052299822"
}