Certificate model in database contains next fields:
Required:
id
(uuid)
holder
(ForeignKey to user, setting to Null, if user was deleted)
user_eth_address
(CharField)
institution_title
(CharField)
institution_link
(URLField)
certificate_title
(CharField)
granted_to_type
(PositiveSmallIntegerField from 1 to 3)
ipfs_hash
(CharField)
Optional:
program_title
(CharField)
course_link
(URLField)
industries
(ManyToManyField)
skills
(ManyToManyField)
score
(FloatField)
duration
(PositiveSmallIntegerField)
expiration_date
(DateTimeField)
checksum_hash
(CharField)
Method create(self, request)
acccepting POST requests with JSON information about new certificate.
Certificate file previously should be uploaded on IPFS.
Returns
If ok:
Code status 200
certificate_pk
JSON with Certificate id on bdn
Else:
Code status 400
error
JSON with errors
Example:
// POST Request to *your_bdn_host*/api/v1/certificates/'/api/v1/certificates/',data={'institution_title': 'test','institution_link': 'http://example.com','certificate_title': 'test','holder_eth_address': '0xD2BE64317Eb1832309DF8c8C18B09871809f3735','score': '','duration': '','skills': ['Python'],'ipfs_hash': 'Qme1WcHcEZU5uct9Wgfdn7S3mKbjSkvwdDTTfSUDjHTqjL'},HTTP_AUTH_SIGNATURE='0xe646de646dde9cee6875e3845428ce6fc13d41086e8a7f6531d1d526598cc4104122e01c38255d1e1d595710986d193f52e3dbc47cb01cb554d8e4572d6920361c',HTTP_AUTH_ETH_ADDRESS='D2BE64317Eb1832309DF8c8C18B09871809f3735'
Method retrieve(self, request, pk=None)
acccepting GET requests with certificate id and reply with JSON information about certificate.
Returns
If ok:
Code status 200
JSON with Certificate data
Example
// GET Request to *your_bdn_host*/api/v1/certificates/(?P<pk>[^/.]+)/'/api/v1/certificates/e0e433e9-477e-43a3-8e23-dfe2686202be/',HTTP_AUTH_SIGNATURE='0xe646de646dde9cee6875e3845428ce6fc13d41086e8a7f6531d1d526598cc4104122e01c38255d1e1d595710986d193f52e3dbc47cb01cb554d8e4572d6920361c',HTTP_AUTH_ETH_ADDRESS='D2BE64317Eb1832309DF8c8C18B09871809f3735')
Method list(self, request)
acccepting GET requests reply with JSON information about certificates by issuer user.
Returns
If ok:
Code status 200
JSON with Certificates list data by issuer user
Example
// GET Request to *your_bdn_host*/api/v1/certificates/'/api/v1/certificates/',HTTP_AUTH_SIGNATURE='0xe646de646dde9cee6875e3845428ce6fc13d41086e8a7f6531d1d526598cc4104122e01c38255d1e1d595710986d193f52e3dbc47cb01cb554d8e4572d6920361c',HTTP_AUTH_ETH_ADDRESS='D2BE64317Eb1832309DF8c8C18B09871809f3735'
Method get_certificates_by_learner(self, request)
acccepting GET requests with eth_address
and reply with JSON information about certificates by learner ETH Address.
Returns
If ok:
Code status 200
JSON with Certificates list data by learner ETH Address
Example
// GET Request to *your_bdn_host*/api/v1/certificates/get_certificates_by_learner/?eth_address=*some_eth_address*'/api/v1/certificates/?eth_address=0x00000',HTTP_AUTH_SIGNATURE='0xe646de646dde9cee6875e3845428ce6fc13d41086e8a7f6531d1d526598cc4104122e01c38255d1e1d595710986d193f52e3dbc47cb01cb554d8e4572d6920361c',HTTP_AUTH_ETH_ADDRESS='D2BE64317Eb1832309DF8c8C18B09871809f3735'
Method delete_by_id(self, request, pk=None)
acccepting POST requests with certificate id in line.
Returns
If ok:
Code status 200
Else if user is not holder:
Code status 401
Else if certificate does not exist:
Code status 404
Example:
// POST Request to *your_bdn_host*/api/v1/certificates/(?P<pk>[^/.]+)/delete_by_id/'/api/v1/certificates/e0e433e9-477e-43a3-8e23-dfe2686202be/delete_by_id/',data={},HTTP_AUTH_SIGNATURE='0xe646de646dde9cee6875e3845428ce6fc13d41086e8a7f6531d1d526598cc4104122e01c38255d1e1d595710986d193f52e3dbc47cb01cb554d8e4572d6920361c',HTTP_AUTH_ETH_ADDRESS='D2BE64317Eb1832309DF8c8C18B09871809f3735'