https://github.com/naifalshaye/saudiaddress
PHP Laravel wrapper for the Saudi National Address APIs. you can get a list of all regions, cities and districts. Also geocode and address verification.
https://github.com/naifalshaye/saudiaddress
address bulding citites districts laravel laravel-package lookup national national-address postcode saudi saudi-address verify zipcode
Last synced: 2 days ago
JSON representation
PHP Laravel wrapper for the Saudi National Address APIs. you can get a list of all regions, cities and districts. Also geocode and address verification.
- Host: GitHub
- URL: https://github.com/naifalshaye/saudiaddress
- Owner: naifalshaye
- License: mit
- Created: 2018-07-30T08:59:53.000Z (about 7 years ago)
- Default Branch: master
- Last Pushed: 2019-01-23T13:50:48.000Z (over 6 years ago)
- Last Synced: 2025-04-05T01:35:44.747Z (6 months ago)
- Topics: address, bulding, citites, districts, laravel, laravel-package, lookup, national, national-address, postcode, saudi, saudi-address, verify, zipcode
- Language: PHP
- Homepage:
- Size: 16.6 KB
- Stars: 16
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# PHP Laravel wrapper for the Saudi National Address APIs
## Installation
```
composer require naif/saudiaddress
```If your Laravel below 5.5 you need to add service provider and alias to config/app.php
```
Naif\Saudiaddress\SaudiAddressServiceProvider::class,
'SaudiAddress' => Naif\Saudiaddress\Facades\SaudiAddress::class,
```
## API KEYS
Obtain your National Address API key from https://api.address.gov.sa/Add these to your .env
```
SAUDI_ADDRESS_API_URL=https://apina.address.gov.sa/NationalAddress/v3.1
SAUDI_ADDRESS_API_KEY=XXXXXXXXXXXXXXXXX
```
## UsageGet a list of regions
```
$regions = SaudiAddress::regions();Response:
[
0 => {#181
+"Id": "12"
+"Name": " الباحة"
}
1 => {#182
+"Id": "13"
+"Name": " الجوف"
}
2 => {#188
+"Id": "9"
+"Name": " الحدود الشمالية"
}
3 => {#189
+"Id": "1"
+"Name": " الرياض"
}
]
```
Get a list of cities within a region (by region id)
* To get a list of all cities don't pass a region id
```
$cities = SaudiAddress::cities(1);Response:
[
0 => {#183
+"Id": "3"
+"Name": "الرياض"
}
1 => {#189
+"Id": "1061"
+"Name": "الخرج"
}
2 => {#190
+"Id": "828"
+"Name": "الدرعية"
}
3 => {#191
+"Id": "669"
+"Name": "الدوادمي"
}
]
```Get a list of districts within a city (by city id)
```
$districts = SaudiAddress::districts(1);Response:
[
0 => {#184
+"Id": "10700001041"
+"Name": "اسكان قوى الامن العام"
}
1 => {#190
+"Id": "10700001018"
+"Name": "حي ابو سبعة"
}
2 => {#191
+"Id": "10700001021"
+"Name": "حي البساتين"
}
3 => {#192
+"Id": "10700001030"
+"Name": "حي الخالدية"
}
4 => {#193
+"Id": "10700001044"
+"Name": "حي الرابية"
}
5 => {#194
+"Id": "10700001012"
+"Name": "حي الروضة"
}
]
```Geocode, to get address details by geo location (latitude,longitude)
```
$address = SaudiAddress::geoCode(24.774265,46.738586);Response:
[
+"Title": null
+"Address1": "7596 الديوان - Al Hamra Dist.,حي الحمراء"
+"Address2": "RIYADH,الرياض 13216 - 2802"
+"ObjLatLng": "1"
+"BuildingNumber": "7596"
+"Street": "الديوان"
+"District": "Al Hamra Dist.,حي الحمراء"
+"City": "RIYADH,الرياض"
+"PostCode": "13216"
+"AdditionalNumber": "2802"
+"RegionName": "منطقة الرياض"
+"PolygonString": null
+"IsPrimaryAddress": null
+"UnitNumber": null
+"Latitude": null
+"Longitude": null
+"CityId": "3"
+"RegionId": null
+"Restriction": "Null"
+"PKAddressID": null
+"DistrictID": null
+"Title_L2": null
+"RegionName_L2": null
+"City_L2": null
+"Street_L2": null
+"District_L2": null
+"CompanyName_L2": null
+"GovernorateID": null
+"Governorate": null
+"Governorate_L2": null
]
```Verify an address by (Bulding No, PostCode, Additional No)
```
$verify = SaudiAddress::verify(7596,13216,2802);Response:
true/false
```
To get results in English, just pass 'E' as a last paramater.
Example
```
$districts = SaudiAddress::districts(1,'E');
```
## Support:
naif@naif.iohttps://www.linkedin.com/in/naif
## License
The MIT License (MIT). Please see [License File](LICENSE.md) for more information.