Myrle, API consumer has to get the address template before sending create address, this template ( GET client/address/template) will have the id of the countries and states with country name and state name, I am in favor of using the standard (ISO) for countries.
@Nikhil, either we can use code, code values for countries and state otherwise we can have dedicated tables also. Thanks Nayan Ambali Thanks and Regards, Nayan Ambali +91 9591996042 skype: nayangambali On Tue, Jul 5, 2016 at 12:09 AM, Nikhil Pawar <nickr...@gmail.com> wrote: > Hello, > > Please find the Wiki link for this discussion: > > https://mifosforge.jira.com/wiki/display/projects/Technical+Description+of+Address+API > > The page consolidates the proposal. > > Also, I am proposing an additional change in existing client api,wherein > if the address configuration is enabled, then creating client would require > address field to be specified right at the onset > Kindly provide your feedback on this part as well. > > Regards, > Nikhil > > On Mon, Jul 4, 2016 at 10:10 PM, Nikhil Pawar <nickr...@gmail.com> wrote: > >> Hi Myrle, >> >> We can follow GENC code, it is a US standard which identifies >> Geopolitical entities within Countries. >> Its description says it corresponds to ISO 3166-2.: >> http://www.statoids.com/uin.html >> >> >> Regards, >> Nikhil >> >> On Mon, Jul 4, 2016 at 9:57 PM, Myrle Krantz <mkra...@mifos.org> wrote: >> >>> Thanks Nayan, >>> >>> I'm just trying to understand is all. Where do potential values for >>> "state_province_id" come from? >>> >>> Greets, >>> Myrle >>> >>> >>> >>> *Myrle Krantz* >>> Solutions Architect >>> RɅĐɅЯ, The Mifos Initiative >>> mkra...@mifos.org | Skype: mkrantz.mifos.org | http://mifos.org >>> <http://facebook.com/mifos> <http://www.twitter.com/mifos> >>> >>> >>> On Mon, Jul 4, 2016 at 4:16 PM, Nayan Ambali <nayan.amb...@gmail.com> >>> wrote: >>> >>>> Dear Nikhil, >>>> >>>> It would be nice if you can document it in wiki and share the link here >>>> :) as reference for discussion. >>>> >>>> Thanks >>>> Nayan Ambali >>>> >>>> >>>> >>>> Thanks and Regards, >>>> Nayan Ambali >>>> +91 9591996042 >>>> skype: nayangambali >>>> >>>> On Mon, Jul 4, 2016 at 7:15 PM, Nikhil Pawar <nickr...@gmail.com> >>>> wrote: >>>> >>>>> Hello Myrle, >>>>> >>>>> Thank you for your response.I did not take into account ISO >>>>> identifiers for country_id field. >>>>> However, now, as recommended by you, the code-code values would in >>>>> accordance with ISO standard. >>>>> Is there any thing else you would like to be in compliance with ISO? >>>>> >>>>> Regards, >>>>> Nikhil >>>>> >>>>> On Mon, Jul 4, 2016 at 7:01 PM, Myrle Krantz <mkra...@mifos.org> >>>>> wrote: >>>>> >>>>>> Hi Nikhil, >>>>>> >>>>>> Is the country id the ISO-3166-1 country numeric identifier? >>>>>> >>>>>> Greets, >>>>>> Myrle >>>>>> >>>>>> >>>>>> *Myrle Krantz* >>>>>> Solutions Architect >>>>>> RɅĐɅЯ, The Mifos Initiative >>>>>> mkra...@mifos.org | Skype: mkrantz.mifos.org | http://mifos.org >>>>>> <http://facebook.com/mifos> <http://www.twitter.com/mifos> >>>>>> >>>>>> >>>>>> On Mon, Jul 4, 2016 at 2:55 PM, Nikhil Pawar <nickr...@gmail.com> >>>>>> wrote: >>>>>> >>>>>>> Hello Markus,Myrle,Adi,Nazeer >>>>>>> >>>>>>> >>>>>>> As we have agreed in previous mail chain regarding adding of Address >>>>>>> API as part of core product, I thought of completing its development >>>>>>> prior >>>>>>> to other dependent modules. >>>>>>> >>>>>>> I have come up with REST API docs for this module and wanted your >>>>>>> feedback.Kindly provide your feedback as soon as possible, since this >>>>>>> is a >>>>>>> pre-requisite for other modules. Please note that I have added an >>>>>>> additional field 'is_active' to support address change of same type of >>>>>>> address( and also to keep track of past address for audit purpose). >>>>>>> >>>>>>> >>>>>>> >>>>>>> 1. Create new address for client: >>>>>>> >>>>>>> >>>>>>> POST https://DomainName/api/v1/clients/{clientid}/address/ >>>>>>> >>>>>>> *Sample request:* >>>>>>> >>>>>>> >>>>>>> POST address >>>>>>> >>>>>>> Content-Type: application/json Request Body: >>>>>>> >>>>>>> { >>>>>>> >>>>>>> "address_type": 1, >>>>>>> >>>>>>> "street": "507 west street", >>>>>>> >>>>>>> "address_line_1": "apt no 5", >>>>>>> >>>>>>> "address_line_2": "opposite to college park", >>>>>>> >>>>>>> "city":"Dallas", >>>>>>> >>>>>>> "state_province_id":1, >>>>>>> >>>>>>> "country_id":2, >>>>>>> >>>>>>> "postal_code":"40041", >>>>>>> >>>>>>> } >>>>>>> >>>>>>> >>>>>>> >>>>>>> 2. Retrieve all addresses of all types for particular client: >>>>>>> >>>>>>> >>>>>>> GET https://DomainName/api/v1/clients/{clientid}/address/ >>>>>>> >>>>>>> >>>>>>> *Sample response:* >>>>>>> >>>>>>> >>>>>>> [ >>>>>>> >>>>>>> { >>>>>>> >>>>>>> "clientId":1, >>>>>>> >>>>>>> "addressId":2, >>>>>>> >>>>>>> "address_type": 1, >>>>>>> >>>>>>> "street": "507 west street", >>>>>>> >>>>>>> "address_line_1": "apt no 5", >>>>>>> >>>>>>> "address_line_2": "opposite to college park", >>>>>>> >>>>>>> "city":"Dallas", >>>>>>> >>>>>>> "state_province_id":1, >>>>>>> >>>>>>> "country_id":2, >>>>>>> >>>>>>> "postal_code":"40041", >>>>>>> >>>>>>> "is_active":1 >>>>>>> >>>>>>> }, >>>>>>> >>>>>>> { >>>>>>> >>>>>>> "clientId":2, >>>>>>> >>>>>>> "addressId":3, >>>>>>> >>>>>>> "address_type": 1, >>>>>>> >>>>>>> "street": "100 west street", >>>>>>> >>>>>>> "address_line_1": "apt no 7", >>>>>>> >>>>>>> "address_line_2": "opposite to college park", >>>>>>> >>>>>>> "city":"Dallas", >>>>>>> >>>>>>> "state_province_id":1, >>>>>>> >>>>>>> "country_id":2, >>>>>>> >>>>>>> "postal_code":"40041", >>>>>>> >>>>>>> "is_active":0 >>>>>>> >>>>>>> } >>>>>>> >>>>>>> ] >>>>>>> >>>>>>> >>>>>>> >>>>>>> 3. Retreive all addresses of particular type for specified client >>>>>>> >>>>>>> >>>>>>> GET https://DomainName/api/v1/clients/{clientid}/address/{addtypId} >>>>>>> >>>>>>> *Sample response:* >>>>>>> >>>>>>> >>>>>>> [ >>>>>>> >>>>>>> { >>>>>>> >>>>>>> "clientId":2, >>>>>>> >>>>>>> "addressId":2, >>>>>>> >>>>>>> "address_type": 1, >>>>>>> >>>>>>> "street": "507 west street", >>>>>>> >>>>>>> "address_line_1": "apt no 5", >>>>>>> >>>>>>> "address_line_2": "opposite to college park", >>>>>>> >>>>>>> "city":"Dallas", >>>>>>> >>>>>>> "state_province_id":1, >>>>>>> >>>>>>> "country_id":2, >>>>>>> >>>>>>> "postal_code":"40041", >>>>>>> >>>>>>> "is_active":0 >>>>>>> >>>>>>> }, >>>>>>> >>>>>>> { >>>>>>> >>>>>>> "clientId":2, >>>>>>> >>>>>>> "addressId":2, >>>>>>> >>>>>>> "address_type": 1, >>>>>>> >>>>>>> "street": "100 west street", >>>>>>> >>>>>>> "address_line_1": "apt no 7", >>>>>>> >>>>>>> "address_line_2": "opposite to college park", >>>>>>> >>>>>>> "city":"Dallas", >>>>>>> >>>>>>> "state_province_id":1, >>>>>>> >>>>>>> "country_id":2, >>>>>>> >>>>>>> "postal_code":"40041", >>>>>>> >>>>>>> "is_active":1 >>>>>>> >>>>>>> } >>>>>>> >>>>>>> ] >>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>>> 4. Retrieve active address of particular type for specified clientid >>>>>>> >>>>>>> >>>>>>> GET >>>>>>> https://DomainName/api/v1/clients/{clientid}/address/{addtypId}?command=active >>>>>>> >>>>>>> >>>>>>> Sample response: >>>>>>> >>>>>>> { >>>>>>> >>>>>>> "clientId":1, >>>>>>> >>>>>>> "addressId":2, >>>>>>> >>>>>>> "address_type": 1, >>>>>>> >>>>>>> "street": "507 west street", >>>>>>> >>>>>>> "address_line_1": "apt no 5", >>>>>>> >>>>>>> "address_line_2": "opposite to college park", >>>>>>> >>>>>>> "city":"Dallas", >>>>>>> >>>>>>> "state_province_id":1, >>>>>>> >>>>>>> "country_id":2, >>>>>>> >>>>>>> "postal_code":"40041", >>>>>>> >>>>>>> "40041", >>>>>>> >>>>>>> "is_active":1 >>>>>>> >>>>>>> } >>>>>>> >>>>>>> >>>>>>> >>>>>>> 5. update: >>>>>>> >>>>>>> >>>>>>> update particular "active" address of client >>>>>>> >>>>>>> PUT https://DomainName/api/v1/clients/{clientid}/address/{addtypId} >>>>>>> >>>>>>> sample request >>>>>>> >>>>>>> { >>>>>>> >>>>>>> is_active:false >>>>>>> >>>>>>> } >>>>>>> >>>>>>> >>>>>>> supported fields: >>>>>>> >>>>>>> address line fields,addresstypeid,is_active >>>>>>> >>>>>>> >>>>>>> >>>>>>> Regards, >>>>>>> >>>>>>> Nikhil >>>>>>> >>>>>>> >>>>>> >>>>> >>>> >>> >> >