Contacts

New contact

PUT /aalam/base/contacts

Create and save a new contact and it’s details

Permissions

Permissions

all of the following permissions

  • Contacts/create

Outputs

  • Contact created successfully.

    Status code: 200

    Content type: application/json

    Content specification

{
    "id": "Integer denoting the identifier for the newly
           created contact"
}
  • ‘first_name’, ‘last_name’ and ‘other_info’ are all null in input.

    Status code: 400

Inputs

  • In the JSON input, either one ‘first_name’, ‘last_name’ or ‘other_info’ should be a non-null value. ‘details’ fields is optional.

    Content type: application/json

    Content specification

{
    "fist_name": "First name of the contact",
    "last_name": "Last name of the contact",
    "other_info": "Additional information to classify the
                   contact",
    "details": (optional)
    [{
        "key": "Key value for a new field, ex. Phone, Email,
                Address, etc",
        "value": "Value corresponding to the 'key' of this
                  field
     },
    ...
    ]
}

Get contacts

GET /aalam/base/contacts

Get a list of contacts qualifying the filters applied

Permissions

Flags

  • deny_anon

Permissions

all of the following permissions

  • Contacts/access

Parameters

  • fields

List of fields separated by comma to be presented in the output. Valid values are - [’first_name’, ‘last_name’, ‘other_info’, ‘detail.%’ ex. detail.mobile, ‘id’, ‘address.city’, ‘address.state’, ‘address.postal_code’, ‘address.country’].

  • first_name(_like)

Filter apps with ‘first_name’ qualifying the value.

  • last_name(_like)

Filter apps with ‘last_name’ qualifying the value.

  • other_info(_like)

Filter apps witn ‘other_info’ qualifying the value.

  • value(_like)

Filter apps with any of its field values qualying the value.

  • key(_like)

Filter apps with any of its field keys qualying the value.

Outputs

  • Queried contacts successfully. The output fields in varies with the choice of fields in the url parameters.

    Status code: 200

    Content type: application/json

    Content specification

{
    "id": "Integer identifier for the contact",
    "first_name": "First name of the contact",
    "last_name": "Last name of the contact",
    "other_info": "Additional information of the contact"
}
  • Some input parameters are mandatory.

    Status code: 400

Add details

PUT /aalam/base/contact/{contact_id}

Add new details to an already existing contact.

Permissions

Permissions

any of the following permissions

  • Contacts/create

  • Contacts/delete

  • Contacts/add-details

Outputs

  • Created details for the contact.

    Status code: 200

  • The input data seems to be not valid

    Status code: 400

  • Contact not found.

    Status code: 404

Inputs

  • Input should be a list of dictionaries.

    Content type: application/json

    Content specification

[
    {
        "key": "Key value for the value, ex. Phone, Mobile,
                Email",
        "value": "Value corresponding the key"
    },
    ...
]

Get contact

GET /aalam/base/contact/{contact_id}

Get detailed information of a contact.

Permissions

Flags

  • deny_anon

Permissions

all of the following permissions

  • Contacts/access

Outputs

  • Queried contact information successfully

    Status code: 200

    Content type: application/json

    Content specification

{
    "first_name": "First name of the contact",
    "last_name": "Last name of the contact",
    "other_info": "Additional information of the contact",
    "details": [{
        "id": "Contact field id"
        "key": "Key value of the contact",
        "value": "Value corresponding to the key"
    }, ... ],
    "addresses": [{
        "id": "Address id",
        "name": "Contact name",
        "line1": "Line 1",
        "line2": ...,
        "line3": ...,
        "line4": ...,
        "city": ...,
        "state": ...,
        "country": ...,
        "postal_code": ...,
        "contact_num": ...,
        "contact_email": ...
    }, ...]
}
  • Contact not found

    Status code: 404

Update field

POST /aalam/base/contact/{contact_id}/{key_id}

Update field information of a contact. The {key_id} can be obtainedfrom the ‘Get contact details’ API.

Permissions

Permissions

any of the following permissions

  • Contacts/create

  • Contacts/delete

  • Contacts/add-details

  • Contacts/delete-details

Parameters

  • key

New value to replace the contact field’s key if key is detail id

  • value

New value to replace the contact filed’s value if key is detail id

  • line1

New address line4 value. Key id should be “Address-{address_id}”

  • line2

New address line2 value. Key id should be “Address-{address_id}”

  • city

New city value. Key id should be “Address-{address_id}”

  • state

New state value. Key id should be “Address-{address_id}”

  • country

New country value. Key id should be “Address-{address_id}”

  • postal_code

New postal code value. Key id should be “Address-{address_id}”

Outputs

  • Contact field updated successfully

    Status code: 200

  • Contact or Field not found.

    Status code: 404

Delete field

DELETE /aalam/base/contact/{contact_id}/{key_id}

Delete a key-value field of a contact. The {key_id} of a field can beobtained from the ‘Get contact details’ API.If prefixed with “Address-{address_id}” then the address detail bedeleted

Permissions

Permissions

any of the following permissions

  • Contacts/create

  • Contacts/delete

  • Contacts/delete-details

Outputs

  • Field deleted successfully.

    Status code: 200

  • Contact or Field not found.

    Status code: 404

Update contact

POST /aalam/base/contact/{contact_id}

Update name details of a contact.

Permissions

Permissions

any of the following permissions

  • Contacts/create

  • Contacts/delete

Parameters

  • first_name

New value to replace the contact’s first name.

  • last_name

New value to replace the contact’s last name.

  • other_info

New value to replace the contact’s additional information.

  • detail.<key>

Update new value for the details with key. If key doesn’t exist, add it as a new key

  • address.<key>

Update the address parameters. Only the first address will be update. Key should be one of line1, line2, line3, line4, city, state, postal_code, country

Outputs

  • Contact updated successfully.

    Status code: 200

  • Contact not found.

    Status code: 404

Delete contact

DELETE /aalam/base/contact/{contact_id}

Delete a contact and it’s fields.

Permissions

Permissions

any of the following permissions

  • Contacts/delete

Outputs

  • Deleted contact successufully.

    Status code: 200

  • Contact not found.

    Status code: 404