Skip to content

Latest commit

 

History

History
403 lines (338 loc) · 13.9 KB

File metadata and controls

403 lines (338 loc) · 13.9 KB
layout
title description tableOfContents outline pagination
visible
true
visible
visible
true
visible
true
visible
true

Individual APIs

OpenG2P Social Registry APIs are CRUD APIs that allow the end-user to create, read, and update the Individual registry data.

The Individual APIs contain the following CRUD operations.

  • Create: Allows the creation of a new individual entity.
  • Read: Enables the fetching of details about an individual entity.
  • Update: Supports modifying existing individual entities.

{% hint style="danger" %} Delete API is not supported. Contact the Administrator to delete an individual registrant. {% endhint %}

The endpoints of Individual APIs and their definitions are given below.

MethodAPI End PointAPI Functionality
POST/registry/individualThis endpoint allows the end-user to create a new individual.
GET/registry/individual/{_id}This endpoint allows the end-user to retrieve the partner's information by a specific ID.
GET/registry/individualThis endpoint allows the end-user to search the individual based on a specific ID or name.

{% hint style="danger" %} The API request and response values used in the below sections are only an example for understanding. Do not use the example values in an API call. {% endhint %}

Authentication

The Individual APIs use a session-based authentication mechanism provided by Odoo. This involves initiating a session using login credentials. The end-user must authenticate by calling the /web/session/authenticate endpoint with the appropriate parameters in the request body. Successfully authenticated sessions generate a session ID, which is then used to authenticate subsequent API requests.

Subsequent API requests must include the session ID in the header to maintain the authenticated session.

Session authentication endpoint

Name Value
Method GET
URL <openg2p.sandbox.net>/web/session/authenticate

Body parameters

Parameter Name Description Mandatory/Optional Data Type
jsonrpc The version of the JSON-RPC protocol Mandatory String
db The name of the database Mandatory String
login The user's login name Mandatory String
password The user's password Mandatory String

Sample cURL request

curl --location --request GET '<openg2p.sandox.net>/web/session/authenticate' \
--header 'Content-Type: application/json' \
--header 'Cookie: frontend_lang=en_US; session_id=c7b75ddb25f94ced204b78e6d7ea115c4a7c0f7e' \
--data '{
    "jsonrpc": "2.0", 
    "params": {
        "db": <db-name>, 
        "login": <login>, 
        "password": <password>
    }
}
'

Sample request

{
    "jsonrpc": "2.0", 
    "params": {
        "db": <db-name>, 
        "login": <login>, 
        "password": <password>
    }
}

Create individual registry

This endpoint allows the end-user to create a new individual.

Key request parameters

Name Value
Method POST
URI <openg2p.sandbox.net>/api/v1/registry/individual
Cookie session_id=<session_id>

Request body parameters

Parameter NameDescriptionMandatory/OptionalData Type
name The name of an individualMandatoryString
id_typeThe type of the IDMandatoryString
valueThe value of the IDMandatoryString
expiry_dateThe date of expiry of an individual registryMandatory

Date

Format: YYYY-MM-DD

registration_dateThe date of an individual registrationOptional

Date

Format: YYYY-MM-DD

phone_noThe contact number of an individual MandatoryString
date_collectedThe date on which an individual data is collectedOptionalString
emailThe email ID of an individualOptionalString
addressThe address of an individualOptionalString
bank_nameThe bank name of an individualOptional String
acc_numberThe account number of an individualOptionalString
given_nameThe given name of an individualMandatoryString
addl_nameThe additional name of an individualMandatoryString
family_nameThe family name of an individualMandatoryString
genderThe gender of an individualMandatoryString
birthdateThe date of birth of an individualMandatory

Date

Format: YYYY-MM-DD

birth_placeThe place of birth of an individualMandatory

Date

Format: YYYY-MM-DD

is_groupIt defines whether the individual belongs to a group or notMandatory

Boolean

True

False

Note:

The default values is false.

Sample cURL request

curl --request POST
--url https://openg2p.stoplight.io/api/v1/registry/individual/
--header 'Accept: application/json'
--header 'Accept-Language: '
--header 'Content-Type: application/json'
--header 'Cookie: session_id=<session_id>'
--data '{ "name": "string", "ids": [ { "id_type": "string", "value": "string", "expiry_date": "2019-08-24" } ], "registration_date": "2019-08-24", "phone_numbers": [ { "phone_no": "string", "date_collected": "2019-08-24" } ], "email": "string", "address": "string", "bank_ids": [ { "bank_name": "string", "acc_number": "string" } ], "given_name": "string", "addl_name": "string", "family_name": "string", "gender": "string", "birthdate": "2019-08-24", "birth_place": "string", "is_group": false }'

Sample request

{ 
 "name": "string",
  "ids": [ { "id_type": "string", 
             "value": "string",
             "expiry_date": "2019-08-24" } ],
  "registration_date": "2019-08-24",
  "phone_numbers": [ { "phone_no": "string",
                       "date_collected": "2019-08-24" } ],
  "email": "string",
  "address": "string",
  "bank_ids": [ { "bank_name": "string",
                  "acc_number": "string" } ],
  "given_name": "string",
  "addl_name": "string",
  "family_name": "string",
  "gender": "string",
  "birthdate": "2019-08-24",
  "birth_place": "string",
  "is_group": false
  }

Sample response

{% tabs %} {% tab title="200" %} Successful response

{
  "id": 0,
  "name": "string",
  "reg_ids": [
    {
      "id": 0,
      "id_type_as_str": "string",
      "value": "string",
      "expiry_date": "2019-08-24"
    }
  ],
  "is_group": false,
  "registration_date": "2019-08-24",
  "phone_number_ids": [
    {
      "id": 0,
      "phone_no": "string",
      "phone_sanitized": "string",
      "date_collected": "2019-08-24"
    }
  ],
  "email": "string",
  "address": "string",
  "create_date": "2019-08-24T14:15:22Z",
  "write_date": "2019-08-24T14:15:22Z",
  "bank_ids": [
    {
      "bank_name": "string",
      "acc_number": "string"
    }
  ],
  "given_name": "string",
  "addl_name": "string",
  "family_name": "string",
  "gender": "string",
  "birthdate": "2019-08-24",
  "age": "string",
  "birth_place": "string"
}

{% endtab %}

{% tab title="422" %} Validation error

{
  "detail": [
    {
      "loc": [
        "string"
      ],
      "msg": "string",
      "type": "string"
    }
  ]
}

{% endtab %} {% endtabs %}

Get individual registry

This endpoint allows the end-user to retrieve the individual registry data based on a specific ID.

Key request parameters

Name Value
Method GET
URI <openg2p.sandbox.net>/api/v1/registry/individual/{_id}
Cookie session_id=<session_id>
Parameter NameDescriptionMandatory/OptionalData Type
idThe ID of an individualMandatory

Number

Example: 124567

Sample cURL request

curl --request GET
--url https://openg2p.stoplight.io/api/v1/registry/group/_id
--header 'Accept: application/json'
--header 'Accept-Language: '
--header 'Cookie: session_id=<session_id>'

Sample response

{% tabs %} {% tab title="200" %} Successful response

{
  "id": 0,
  "name": "string",
  "reg_ids": [
    {
      "id": 0,
      "id_type_as_str": "string",
      "value": "string",
      "expiry_date": "2019-08-24"
    }
  ],
  "is_group": false,
  "registration_date": "2019-08-24",
  "phone_number_ids": [
    {
      "id": 0,
      "phone_no": "string",
      "phone_sanitized": "string",
      "date_collected": "2019-08-24"
    }
  ],
  "email": "string",
  "address": "string",
  "create_date": "2019-08-24T14:15:22Z",
  "write_date": "2019-08-24T14:15:22Z",
  "bank_ids": [
    {
      "bank_name": "string",
      "acc_number": "string"
    }
  ],
  "given_name": "string",
  "addl_name": "string",
  "family_name": "string",
  "gender": "string",
  "birthdate": "2019-08-24",
  "age": "string",
  "birth_place": "string"
}

{% endtab %}

{% tab title="422" %} Validation error

{
  "detail": [
    {
      "loc": [
        "string"
      ],
      "msg": "string",
      "type": "string"
    }
  ]
}

{% endtab %} {% endtabs %}

Search individual registry

This endpoint allows the end-user to search the individuals based on a specific ID or name.

Key request parameters

Name Value
Method GET
URI

<openg2p.sandbox.net>/api/v1/registry/individual/{_id}

(or)

<openg2p.sandbox.net>/api/v1/registry/individual/{name}

Cookie session_id=<session_id>
Parameter NameDescriptionMandatory/OptionalData Type
idThe ID of an individualOptional

Number

Example: 4356789

nameThe name of an individualOptional

String

Example: John Miller

Sample cURL request

curl --request GET
--url https://openg2p.stoplight.io/api/v1/registry/individual
--header 'Accept: application/json'
--header 'Accept-Language: '
--header 'Cookie: session_id=<session_id>'

Sample response

{% tabs %} {% tab title="200" %} Successful response

[
  {
    "id": 0,
    "name": "string",
    "reg_ids": [
      {
        "id": 0,
        "id_type_as_str": "string",
        "value": "string",
        "expiry_date": "2019-08-24"
      }
    ],
    "is_group": false,
    "registration_date": "2019-08-24",
    "phone_number_ids": [
      {
        "id": 0,
        "phone_no": "string",
        "phone_sanitized": "string",
        "date_collected": "2019-08-24"
      }
    ],
    "email": "string",
    "address": "string",
    "create_date": "2019-08-24T14:15:22Z",
    "write_date": "2019-08-24T14:15:22Z",
    "bank_ids": [
      {
        "bank_name": "string",
        "acc_number": "string"
      }
    ],
    "given_name": "string",
    "addl_name": "string",
    "family_name": "string",
    "gender": "string",
    "birthdate": "2019-08-24",
    "age": "string",
    "birth_place": "string"
  }
]

{% endtab %}

{% tab title="422" %} Validation error

{
  "detail": [
    {
      "loc": [
        "string"
      ],
      "msg": "string",
      "type": "string"
    }
  ]
}

{% endtab %} {% endtabs %}

API specification

The Individual APIs are available in Stoplight at the following link.

openg2p-crud-apis