# Custos membership authentication from contracted vendors Custos-Enterprise API-P02 V1.0 Contracted vendors will have to check if the customers have Custos membership. If they have, they will call [API-P01](https://hackmd.io/@custos-it/SkpdkLrK3) to send transaction details back to Custos. Otherwise they will ignore [API-P01](https://hackmd.io/@custos-it/SkpdkLrK3). Contracted vendors provide an interface for customers to enter their cellphone number which is used for Custos membership registration. [toc] ## Initiate 1. Request parameters: (1) Contracted vendor's serial number (#vendor_corp_data_id) (2) Cellphone number: cellphone number used for Custos membership registration (#emp_phone) (3) Country and language setting (#language_setting) 2. Create system log: Contracted vendor #vendor_corp_data_id|Custos membership authentication|Process starts ## API Process Start 1. Check if this customer has active Custos membership by his/her cellphone number (#emp_phone) *select data_id, corp_data_id from corp_member_emp where emp_phone = '#emp_phone' and status = 'Y'* 2. If this customer has active Custos membership, response result = 'Y' and create a new record in the following table: *insert into corp_member_emp_vendor_connection (vendor_corp_data_id, emp_corp_data_id, emp_data_id) values (#vendor_corp_data_id, #corp_data_id, #data_id)* 3. Otherwise, response result = 'N' and message = 'This phone number is not a valid Custos member.' ## API Process End Create system log: Contracted vendor #vendor_corp_data_id|Custos membership authentication|Process ends ## Exception Handling If there is error/exception occurs, create an error log: [YYYYMMDDHHMMSS] Enterprise-API-P02 Error! Message: (the system exception messages). ## Specification and Sample |API No.|Enterprise-API-P02| |-|-| |API Name|checkCustosMembership| |URL|${url}/APP/getData/checkCustosMembership| |Purpose|Custos membership authentication| |Description|Contracted vendors check if the customers have Custos membership.| |Content-Type|application/json| **Request** |Parameters|Data Type|Mandatory|Length|Description| |-|-|:-:|:-:|-| |vendor_corp_data_id|INT|Y||Contracted vendor's serial number| |emp_phone|String|Y|16|Cellphone number used for Custos membership registration| |language_setting|String|Y|10|Country and language setting| **Response** |Parameters|Data Type|Mandatory|Description| |-|-|:-:|-| |result|String|Y|API process result,Y: Successfully, N: Failure| |message|String|N|API process failure description| **Request Sample** ```javascript var input = { "vendor_corp_data_id": 12, "emp_phone": "0912345678", "language_setting": "en-SG" } ``` **Response Sample** ```javascript { "result": "Y", //API process result "message": "..." //API process failure description } ```